marimo-notebook

A guide for creating interactive reactive Python notebooks with marimo, where changing one piece of code updates dependent cells.

In plain words
What is it for?
Use it to create data-exploration notebooks, reactive dashboards, SQL interfaces, deployable web apps, or conversions from Jupyter notebooks.
Why use it?
It explains how to build and check notebook-style Python files without relying on Jupyter’s manual cell-running model.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/adrunkhuman/marimo-opencode-skill/marimo-notebook
Any agent
npx skills add adrunkhuman/marimo-opencode-skill --skill marimo-notebook
Clone the repo
git clone --depth 1 https://github.com/adrunkhuman/marimo-opencode-skill

Made for: Claude Code, Codex.

Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,214 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00043 $0.04214
Opus 5 $0.00022 $0.02107
Sonnet 5 $0.00009 $0.00843
Haiku 4.5 $0.00004 $0.00421

Measured 2d ago against content hash 97755b3c5353, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

marimo-notebook scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/marimo-notebook/SKILL.md · 686 lines

How it starts

The opening of the file, as written. The whole thing — 686 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Marimo Notebook Skill

Running & Editing

# Edit interactively in browser
uv run marimo edit <notebook.py>

# Run as web app (code hidden)
uv run marimo run <notebook.py>

# Run as plain script (non-interactive, for testing/CI)
uv run <notebook.py>

# Lint for common mistakes — always run before handing back to user
uvx marimo check <notebook.py>
uvx marimo check --fix <notebook.py>

When to use this skill

  • Creating .py notebook files for interactive data exploration
  • Building reactive dashboards/apps with marimo
  • Converting Jupyter notebooks (.ipynb) to marimo

Ask clarifying questions if:

  • User mentions "Cell.run()", "reusable cells", or "testing cells" (API use case, different patterns)
  • User wants to "pass variables between cells" with parameters/returns (wrong mental model)

File Format

Marimo notebooks are .py files. Each cell is a function decorated with @app.cell. Marimo resolves dependencies via static analysis of the cell body — it reads what variables you assign and reference, then builds a DAG automatically.

When marimo saves, it auto-generates function parameters and return tuples as serialization metadata. You don't need to manage these yourself. Write def _(): for all cells. Marimo handles the rest.

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "marimo",
#     "pandas",
#     "numpy",
# ]
# ///

import marimo

__generated_with = "0.19.7"
app = marimo.App(width="medium")

@app.cell
def _():
    import marimo as mo
    import pandas as pd
    import numpy as np

@app.cell
def _():
    # df is automatically available to all other cells
    df = pd.read_parquet("data/input.parquet")

@app.cell
def _():
    # Reference df directly — marimo knows the dependency
    filtered = df[df["value"] > threshold.value]
    mo.md(f"**{len(filtered)} rows** after filtering")

if __name__ == "__main__":
    app.run()

PEP 723 inline dependencies (# /// script block) are added automatically by marimo edit --sandbox but should always be present. They enable --sandbox mode for isolated execution.

Read the full file on GitHub · 686 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 686 lines · 43 tokens per session scan A 97755b3c5353

Subscribe to this mod's changes

marimo-notebook is a skill published in the GitHub repository adrunkhuman/marimo-opencode-skill (5 stars, last pushed 5mo ago), licensed MIT. It adds 43 tokens to every session and 4,214 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

hipocampo-protocol

Protocolo de memoria dual con Sparse Selective Caching (SSC) v4.0 + Memory Graph + Compresión Híbrida. Persiste en memoriavectorial y memoryitems con búsqueda semántica progresiva. Cargar al inicio de cada sesión.

carrasquelalex1/hipocampo · 60 tokens

smart-git-commit

Use this skill for ANY git operation — commits, pushes, PRs, releases, or version tagging. Triggers on: "commit", "push", "save my changes", "create a PR", "open a pull request", "ship this", "make a release", "tag this version", "checkpoint my work", or any request to record or publish code changes. Produces…

Zarl-prog/Smart-git-commit · 148 tokens

appium-python-expert

Specialist skill for mobile E2E testing with Appium 2.x + Python (pytest) for Android and iOS. Use this skill whenever the user asks about: setting up Appium with Python, writing mobile test cases, configuring Android/iOS drivers (UIAutomator2, XCUITest), implementing Page Object Model for mobile, running tests with…

jmr85/e2e-agent-skills · 158 tokens

selenium-cucumber-expert

Use when writing E2E tests with Selenium WebDriver and Cucumber BDD in Java, setting up BDD test infrastructure with Maven or Gradle, writing Gherkin feature files, implementing step definitions in Java, configuring Page Object Model or Screenplay Pattern, setting up parallel execution, generating ExtentReports or…

jmr85/e2e-agent-skills · 201 tokens

diffler

Generate and deliver a graded comprehension quiz from the current Git branch diff, either in the local terminal or through Google Forms. Use when a user asks to prove, test, or verify understanding of branch changes, a feature branch, or a pull request.

jamestkelly/diffler · 53 tokens

playwright-cucumber-expert

Use when writing E2E tests with Cucumber BDD and Playwright, setting up BDD test infrastructure, writing Gherkin feature files, implementing step definitions, configuring hooks and World, or integrating Cucumber with CI/CD. Invoke for Cucumber, BDD, Gherkin, feature files, step definitions, Given When Then, hooks…

jmr85/e2e-agent-skills · 91 tokens