implement-paper — Claude Code skill: turn a paper into a marimo
Walks through a research paper with you and builds a focused interactive marimo notebook from the part you care about.
npx skills add marimo-team/skills --skill implement-paper -a claude-codeWhat implement-paper does
The skill runs in four steps. First the agent asks what you want out of the paper: which contribution matters, whether the goal is understanding the method, reproducing a result, or adapting it to your own data, whether you have a dataset in mind, and whether PyTorch is needed. Then it pulls the paper through alphaxiv.org as structured markdown instead of a raw PDF.
Next comes a notebook outline you approve before any code is written. A typical arc runs from title and context through background with equations, the method itself, experiments with widgets and plots, and a short conclusion. Not every notebook needs every section. Equations render with KaTeX, and variables follow the paper's notation.
Keep it small — that is the point. Sometimes a single interactive widget carries the idea; sometimes you need a full training loop. Heavy computation is handed off to the marimo-batch skill, custom widgets to anywidget, and general notebook conventions to marimo-notebook. The agent never guesses your dataset: name one, or the notebook simulates data.
What it helps with
- work through a paper's method step by step instead of skimming the PDF
- build an interactive notebook with sliders for hyperparameters
- reproduce the key plots and results from a paper
- adapt someone else's method to your own dataset
- explain a paper to a colleague with running code
Example prompts for the agent
- implement this arxiv paper as a marimo notebook
- I want to understand the method — build a minimal notebook with one widget
- take this paper and build a notebook that reproduces the experiments on simulated data
How to install implement-paper
1Skills CLI (Vercel)
npx skills add marimo-team/skills --skill implement-paper -a claude-code2Manually: put the files in place
~/.claude/skills/implement-paper/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/implement-paper/
1Skills CLI (Vercel)
npx skills add marimo-team/skills --skill implement-paper -a codex2Manually: put the files in place
.agents/skills/implement-paper/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add marimo-team/skills --skill implement-paper -a cursor2Manually: put the files in place
.cursor/skills/implement-paper/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install marimo-team/skills implement-paper2Manually: put the files in place
.github/skills/implement-paper/SKILL.md1Skills CLI (Vercel)
npx skills add marimo-team/skills --skill implement-paper -a gemini-cli2Platform CLI
gemini skills install https://github.com/marimo-team/skills --path skills/implement-paperManually: put the files in place
.devin/skills/implement-paper/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add marimo-team/skills --skill implement-paper -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about implement-paper
How do I install implement-paper in Claude?
Run npx skills add marimo-team/skills --skill implement-paper -a claude-code. The skill lands in ~/.claude/skills/implement-paper/SKILL.md.
What does implement-paper do?
It scopes a research paper with you and turns the part you pick into an interactive marimo notebook with equations, widgets and plots.
What do I need for it to work?
Papers are fetched via alphaxiv.org, so bring an Arxiv or AlphaXiv link. If the paper involves training, the agent will ask about PyTorch — a heavy dependency.
Source text
SKILL.md · Apache-2.0
--- name: implement-paper description: Implement a research paper as an interactive marimo notebook together with the user. Start by understanding what the user wants to explore, fetch the paper via alphaxiv, then build a focused notebook. --- # Implement Paper Turn a research paper into an interactive marimo notebook. For general marimo notebook conventions (cell structure, PEP 723 metadata, output rendering, `marimo check`, variable naming, etc.), refer to the `marimo-notebook` skill. ## Step 1: Understand what the user wants Before fetching or reading anything, have a short conversation to scope the work. Ask the user: - **Which part of the paper interests you most?** A paper may have multiple contributions — the user likely cares about one or two. Don't implement the whole thing. - **What's the goal?** Are they trying to understand the method, reproduce a result, adapt it to their own data, or teach it to someone else? This changes the notebook's tone and depth. - **Do they want to use a specific dataset?** If it's relevant, ask. Otherwise, suggest simulating data. - **Does this require PyTorch?** Some papers need it, many don't. Ask if unclear — it's a heavy dependency. - **What's their background?** The paper aims to fill a knowledge gap — gauge what the user already knows so the notebook can meet them where they are. Skip basics they're familiar with, explain prerequisites they're not. Only move on once you have a clear picture of what to build. ## Step 2: Fetch the paper If the user gives you an Arxiv/AlphaXiv link, you will an efficient way to read the paper. See [references/fetching-papers.md](references/fetching-papers.md) for how to retrieve paper content via alphaxiv.org. This avoids reading raw PDFs and gives you structured markdown. ## Step 3: Plan the notebook After reading the paper, outline the notebook structure for the user before writing code. **Keep the notebook as small as possible.** Sometimes the idea is best conveyed with just a single interactive widget — if you need a custom one, consider the `anywidget` skill. Other times you need a full training loop — if so, consider using the `marimo-batch` skill for heavy computation. The goal is the minimum amount of code needed to get the idea across. A typical arc: | Section | Purpose | Typical elements | |---------|---------|------------------| | Title & context | Orient the reader | `mo.md()` with paper title, authors, link | | Background | Set up prerequisites | Markdown + equations | | Method | Core algorithm step-by-step | Code + markdown interleaved | | Experiments | Reproduce key results | Interactive widgets + plots | | Conclusion | Summarize takeaways | `mo.md()` | Not every notebook needs all sections. Share the outline with the user and adjust before writing code. ## Step 4: Build the notebook Create the marimo notebook following the `marimo-notebook` skill conventions. Key guidelines: - **Never assume the dataset.** Use whatever the user specified in Step 1. If they didn't specify one, simulate data. - **Make it self-contained.** A reader should understand the notebook without reading the full paper. - **Use KaTeX for equations.** Render key equations with `mo.md(r"""$...$""")` so the notebook mirrors the paper's notation. Keep notation consistent with the paper. - **Add interactivity where it aids understanding.** Sliders for hyperparameters, dropdowns for dataset variants, or toggles for ablations help readers build intuition. - **Show, don't just tell.** Prefer a plot or table over a paragraph of explanation. - **Name variables to match the paper's notation** where practical (e.g., `alpha`, `X`, `W`), and add comments mapping them to equation numbers. ## Tips - **Don't reproduce the entire paper.** Focus on what the user asked about in Step 1. - **Iterate visually.** Build up figures incrementally (e.g., show data → show model fit → show residuals) rather than dumping everything into one plot. - **If the paper uses heavy notation**, include a small "notation reference" cell with a markdown table mapping symbols to descriptions. If the user wants a custom anywidget, refer to [references/anywidget.md](references/anywidget.md).
© marimo-team · Apache-2.0 · marimo-team/skills