notebooks
Installation
SKILL.md
Notebooks
A single skill for authoring, validating, and delivering reproducible analysis notebooks. Marimo is the default format; Jupyter is supported for existing .ipynb files and when a downstream tool requires JSON. Conversion between the two formats is part of this skill.
A notebook is not "done" until it has been executed end-to-end on a fresh kernel and every figure is embedded in the delivered file.
Instructions
-
Pick the format.
- New notebook: write a marimo
.pynotebook. Use the canonical cell layout (one concept per cell, final expression renders, noifguards around outputs, notry/exceptfor control flow). - Existing
.ipynbto extend or polish: keep it as Jupyter unless the user asks to convert. - Conversion: see "Convert between marimo and Jupyter" below.
- New notebook: write a marimo
-
Outline before coding. Write the notebook plan (purpose, data sources, analysis steps, expected outputs/plots) as the first markdown cell, then implement against that plan.
-
Keep marimo cells clean. These are hard rules for every
.pynotebook:- Markdown cells use one plain triple-quoted string:
mo.md(r"""...""")ormo.md(f"""...""")only when interpolation is required. Put the prose directly inside the string; never paste quoted string fragments such as" ... "lines inside the markdown body. - Do not leave empty generated cells, whitespace-only cells, or
@app.cell def _(): returnplaceholders. Remove them before final verification. - Do not accept a marimo "fix" prompt blindly. If one is accepted during interactive editing, inspect the diff immediately and remove unintended PEP 723/header/cell churn.
- Markdown cells use one plain triple-quoted string: