Skip to main content
Back to the directory
marimo-team/skillsSoftware EngineeringFrontend and Design

anywidget-generator

Generate interactive anywidget components for marimo notebooks with vanilla JavaScript and CSS.

SkillJury keeps community verdicts, source metadata, and external repository signals in separate lanes so ranking data never pretends to be a review.

SkillJury verdict
Pending

No approved reviews yet

Would recommend
Pending

Waiting on enough review volume

Install signal
1

Weekly or total install activity from catalog data

Sign in to review
0 review requests
Install command
npx skills add https://github.com/marimo-team/skills --skill anywidget-generator
SkillJury does not have enough approved reviews to publish a community verdict yet. Source metadata and repository proof are still available above.
SkillJury Signal Summary

As of May 1, 2026, anywidget-generator has 1 weekly installs, 0 community reviews on SkillJury. Community votes currently stand at 0 upvotes and 0 downvotes. Source: marimo-team/skills. Canonical URL: https://skills.sh/marimo-team/skills/anywidget-generator.

Security audits
Gen Agent Trust HubPASS
SocketPASS
SnykPASS
About this skill
Generate interactive anywidget components for marimo notebooks with vanilla JavaScript and CSS. When writing an anywidget use vanilla javascript in _esm and do not forget about _css . The css should look bespoke in light mode and dark mode. Keep the css small unless explicitly asked to go the extra mile. When you display the widget it must be wrapped via widget = mo.ui.anywidget(OriginalAnywidget()) . You can also point _esm and _css to external files if needed using pathlib. This makes sense if the widget does a lot of elaborate JavaScript or CSS. class CounterWidget(anywidget.AnyWidget): _esm = """ // Define the main render function function render({ model, el }) { let count = () => model.get("number"); let btn = document.createElement("b8utton"); btn.innerHTML = count is ${count()} ; btn.addEventListener("click", () => { model.set("number", count() + 1); model.save_changes(); }); model.on("change:number", () => { btn.innerHTML = count is ${count()} ; }); el.appendChild(btn); } // Important! We must export at the bottom here! export default { render }; """ _css = """button{ font-size: 14px; }""" number = traitlets.Int(0).tag(sync=True) widget = mo.ui.anywidget(CounterWidget()) widget print(widget.value["number"]) The above is a minimal example that could work for a simple counter widget.

Source description provided by the upstream listing. Community review signal and install context stay separate from this narrative layer.

Community reviews

Latest reviews

No community reviews yet. Be the first to review.

Browse this skill in context
FAQ
What does anywidget-generator do?

Generate interactive anywidget components for marimo notebooks with vanilla JavaScript and CSS.

Is anywidget-generator good?

anywidget-generator does not have approved reviews yet, so SkillJury cannot publish a community verdict.

Which AI agents support anywidget-generator?

anywidget-generator currently lists compatibility with Skills CLI.

Is anywidget-generator safe to install?

anywidget-generator has been scanned by security audit providers tracked on SkillJury. Check the security audits section on this page for detailed results from Socket.dev and Snyk.

What are alternatives to anywidget-generator?

Skills in the same category include review-management, conversation-memory, coverage, grimoire-aave.

How do I install anywidget-generator?

Run the following command to install anywidget-generator: npx skills add https://github.com/marimo-team/skills --skill anywidget-generator

Related skills

More from marimo-team/skills

Related skills

Alternatives in Software Engineering