add-molab-badge
Add "Open in molab" badge(s) linking to marimo notebooks. Works with READMEs, docs, websites, or any markdown/HTML target.
Security Assessment
About add-molab-badge
add-molab-badge is a small, focused documentation utility that inserts "Open in molab" badges linking to marimo notebooks. It works against any markdown or HTML target — a GitHub README, documentation site, blog post, or webpage — solving the routine but fiddly task of constructing correct molab URLs and keeping badge markup consistent.
The skill accepts notebook links directly from the user or, for README targets, discovers marimo notebooks by globbing for .py files and confirming a marimo header. It constructs molab URLs in the molab.marimo.io/github/{owner}/{repo}/blob/{branch}/{path} format, deriving owner and repo from the git remote or user input, and applies a /wasm suffix rule: it appends /wasm when replacing an existing marimo.app link (which runs client-side) but not for new badges unless requested. It then formats the badge as markdown or HTML, inserting or replacing it in place while preserving surrounding structure. An optional first step runs uvx marimo export session to generate notebook session snapshots so molab previews render pre-rendered content, with flags for sandboxed execution, continue-on-error, and force-overwrite.
Target users are maintainers of marimo notebook repositories and documentation authors who want a quick, reliable way to add or migrate molab badges. Typical use cases include badging a README's example notebooks, replacing legacy marimo.app shields with molab equivalents, and generating badge snippets on demand. It is a single-document skill; the only command it runs is the marimo export helper, which executes notebooks locally to produce snapshots.
FAQ
What does the skill do?
It builds and inserts 'Open in molab' badges that link to marimo notebooks in any markdown or HTML file, or outputs the badge snippet directly.
When is the /wasm suffix added?
Only when replacing an existing marimo.app link, which runs notebooks client-side. New badges omit /wasm unless the user explicitly asks for it.
How does it find notebooks in a README?
It globs for .py files and confirms a marimo header (import marimo or app = marimo.App), or uses links the user provides directly.
What is the marimo export session step for?
It runs uvx marimo export session to produce notebook session snapshots so molab can serve pre-rendered previews. Flags include --sandbox, --continue-on-error, and --force-overwrite.
Are there prerequisites?
For the optional snapshot step you need uvx/marimo available; badge construction itself only needs the notebook links and repository details.
Install add-molab-badge
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
marimo-team/skills