AI SummaryThis skill gives you full access to a running marimo notebook. You can read cell code, create and edit cells, install packages, run cells, and inspect the reactive graph — all programmatically. The user sees results live in their
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to install the "marimo-pair" skill in my project. Please run this command in my terminal: # Install skill into your project mkdir -p .claude/skills/marimo-pair && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/marimo-pair/SKILL.md "https://raw.githubusercontent.com/marimo-team/marimo-pair/main/SKILL.md" Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.
Description
Work inside a running marimo notebook's kernel — execute code, create cells, and build a notebook as an artifact. Use when the user wants to start a marimo notebook or work in an active marimo session.
marimo Pair Programming Protocol
This skill gives you full access to a running marimo notebook. You can read cell code, create and edit cells, install packages, run cells, and inspect the reactive graph — all programmatically. The user sees results live in their browser while you work through bundled scripts or MCP.
Philosophy
marimo notebooks are a dataflow graph — cells are the fundamental unit of computation, connected by the variables they define and reference. When a cell runs, marimo automatically re-executes downstream cells. You have full access to the running notebook. • Cells are your main lever. Use them to break up work and choose how and when to bring the human into the loop. Not every cell needs rich output — sometimes the object itself is enough, sometimes a summary is better. Match the presentation to the intent. • Understand intent first. When clear, act. When ambiguous, clarify. • Follow existing signal. Check imports, pyproject.toml, existing cells, and dir(ctx) before reaching for external tools. • Stay focused. Build first, polish later — cell names, layout, and styling can wait.
How to invoke marimo
Only servers started with --no-token register in the local server registry and are auto-discoverable — starting without a token makes discovery easier. If a server has a token, set the MARIMO_TOKEN environment variable before calling the execute script (avoids leaking the token in process listings). The right way to invoke marimo depends on context (project tooling, global install, sandbox mode). See finding-marimo.md for the full decision tree. Do NOT use --headless unless the user asks for it. Omitting it lets marimo auto-open the browser, which is the expected pairing experience. If the user explicitly requests headless, offer to open it with open http://localhost:<port>.
`SyntaxError` or `ImportError` from `execute-code.sh`
Code runs inside the running marimo kernel — execute-code.sh POSTs it over HTTP and never invokes a local Python. So errors here are not caused by the local Python version, missing venv, or uv vs pip — they're problems with the code being sent. Fix the code (use a heredoc for anything multiline; don't try to one-line compound statements with ;).
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster