Not in the top 1,000 by GitHub stars

marimo-team/marimo-pair

Drop agents inside running marimo notebook sessions

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/marimo-pair/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

2f1d7fffa506 → 2f1d7fffa506

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 2f1d7fffa506

No earlier version was observed for comparison.

Compare on GitHub

skills/retro-marimo-pair/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

2f1d7fffa506 → 2f1d7fffa506

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 2f1d7fffa506

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 2f1d7fffa50607dc9d8660cb931f4470707f8697

git clone --filter=blob:none --no-checkout https://github.com/marimo-team/marimo-pair.git .hotskills/marimo-team-marimo-pair && git -C .hotskills/marimo-team-marimo-pair checkout --detach 2f1d7fffa50607dc9d8660cb931f4470707f8697 # Copy each selected skill directory from .hotskills/marimo-team-marimo-pair into .claude/skills/<skill-name>/
432GitHub stars
0stars in 7 days
2skills in this repository
0commits in 30 days

Heat

0.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 28, 2026432

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

marimo-pair

When your agent uses it

Drive a live marimo notebook as a workspace: run Python in the same kernel the user does, inspect live notebook state, and commit durable notebook changes. Use when the user wants to start a marimo notebook or pair on an active marimo session.

What it loads into context

Frontmatter

98 tokens

Always available to the agent

SKILL.md

2,824 tokens

When the skill is activated

Reference documents

7,956 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Required first kernel command
  2. Connect to a Notebook
  3. Scratchpad Scope
  4. Marimo Rules
  5. The Notebook's Shape
  6. Writing Notebook Changes
  7. References

Scripts executed separately

  • scripts/discover-servers.sh
  • scripts/execute-code.sh

Files

  • ../../.claude-plugin/marketplace.jsonasset419 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • SKILL.mdcore11,925 bytes
  • reference/execution-context.mddoc2,894 bytes
  • reference/finding-marimo.mddoc4,370 bytes
  • reference/gotchas.mddoc2,959 bytes
  • reference/notebook-improvements.mddoc4,499 bytes
  • reference/rich-representations.mddoc9,826 bytes
  • scripts/discover-servers.shruns10,451 bytes
  • scripts/execute-code.shruns7,747 bytes
  • ../retro-marimo-pair/SKILL.mddoc6,420 bytes
  • ../retro-marimo-pair/reference/code-mode-surface.mddoc2,339 bytes
Read SKILL.md

marimo is a reactive Python runtime for building reproducible Python programs
(marimo notebooks). Cells are connected by the variables they define and
reference. Running a cell re-executes dependents in dataflow order. The active
runtime holds the kernel namespace, cell state, and dataflow graph. The
notebook (`.py` file) is the artifact the kernel writes from that state while a
session is running.

A user interacts with the same runtime via a notebook UI with cells, outputs,
and widgets.

**WARNING. The active runtime is the source of truth.** During a session, you
SHOULD NOT modify the associated `.py` file directly. File edits WILL NOT reach
the active kernel or user, and the kernel may overwrite them on save. Use
`marimo._code_mode` (`cm`) for notebook changes. Reading disk is fine, but
View the complete source on GitHub

Skills included

  • marimo-pair
  • retro-marimo-pair

Repository facts

License
Apache-2.0
Created
Feb 24, 2026
Last pushed
Sep 16, 2026
Forks
36
Open issues
8
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 16 notes
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/retro-marimo-pair/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 43 signals by file

skills/marimo-pair/SKILL.md

  • Broad permissionsline 1
    Bash(bash **/scripts/discover-servers.sh *), Bash(bash **/scripts/execute-code.sh *), Read
  • Network accessline 37
    bash /absolute/path/to/marimo-pair/scripts/execute-code.sh \   --url http://localhost:2718 \
  • Network accessline 38
    --url http://localhost:2718 \
  • Network accessline 59
    bash /absolute/path/to/marimo-pair/scripts/execute-code.sh \   --url http://localhost:2718 \
  • Network accessline 60
    --url http://localhost:2718 \
  • Network accessline 68
    bash /absolute/path/to/marimo-pair/scripts/execute-code.sh \   --url http://localhost:2718 - <<'PY'
  • Network accessline 69
    --url http://localhost:2718 - <<'PY'

skills/marimo-pair/reference/execution-context.md

  • Network accessline 21
    [Credential-related source omitted]
  • Network accessline 33
    bash scripts/execute-code.sh --url http://localhost:2718 - <<'PY'
  • Network accessline 39
    bash scripts/execute-code.sh --url http://localhost:2718 /tmp/code.py
  • Network accessline 59
    usual one is restarting marimo on the host with `--host 0.0.0.0`. Running the   scripts from Git Bash or PowerShell on the Windows side also works. - **needs jq / curl on PATH** - install them in whichever environment runs the
  • Network accessline 60
    scripts from Git Bash or PowerShell on the Windows side also works. - **needs jq / curl on PATH** - install them in whichever environment runs the   scripts. Inside WSL that means the distro, not Windows.
  • Network accessline 61
    - **needs jq / curl on PATH** - install them in whichever environment runs the

skills/marimo-pair/reference/finding-marimo.md

  • Network accessline 116
    If no project marimo, no `uv`/`uvx`, and no global `marimo` on PATH, tell the user to install `uv` (<https://docs.astral.sh/uv/getting-started/installation/>).
  • Network accessline 117
    user to install `uv` (<https://docs.astral.sh/uv/getting-started/installation/>).

skills/marimo-pair/reference/notebook-improvements.md

  • Network accessline 78
    # before: useful logic buried in a larger cell objects = pl.read_csv("https://example.com/objects.csv")
  • Network accessline 79
    objects = pl.read_csv("https://example.com/objects.csv")
  • Network accessline 80
    artists = pl.read_csv("https://example.com/artists.csv")
  • Network accessline 107
    @mo.persistent_cache def load_data():     objects = pl.read_csv("https://example.com/objects.csv")
  • Network accessline 108
    def load_data():     objects = pl.read_csv("https://example.com/objects.csv")     artists = pl.read_csv("https://example.com/artists.csv")
  • Network accessline 109
    objects = pl.read_csv("https://example.com/objects.csv")
  • Network accessline 110
    artists = pl.read_csv("https://example.com/artists.csv")

skills/marimo-pair/reference/rich-representations.md

  • Network accessline 40
    [anywidget](https://anywidget.dev) bridges Python and JavaScript via
  • Network accessline 185
    Import JS libraries from [esm.sh](https://esm.sh) — no build step:
  • Network accessline 188
    import * as d3 from "https://esm.sh/d3@7";
  • Network accessline 189
    import { tableFromIPC } from "https://esm.sh/@uwdata/flechette@2";
  • Network accessline 223
    import { tableFromIPC } from "https://esm.sh/@uwdata/flechette@2";

skills/marimo-pair/scripts/discover-servers.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 163
    answers_marimo() {   curl -sf --connect-timeout 1 --max-time 2 "$1/health" 2>/dev/null | grep -q '"healthy"'
  • Network accessline 164
    curl -sf --connect-timeout 1 --max-time 2 "$1/health" 2>/dev/null | grep -q '"healthy"'
  • Network accessline 216
    [[ -n "$candidate" ]] || continue     case "$candidate" in       *:*) url="http://[${candidate}]:${port}${base_url}" ;; # IPv6 literal
  • Network accessline 217
    case "$candidate" in       *:*) url="http://[${candidate}]:${port}${base_url}" ;; # IPv6 literal       *) url="http://${candidate}:${port}${base_url}" ;;
  • Network accessline 218
    *:*) url="http://[${candidate}]:${port}${base_url}" ;; # IPv6 literal
  • Network accessline 219
    *) url="http://${candidate}:${port}${base_url}" ;;
  • Dangerous shell operationline 259
    rm -f "$file"

skills/marimo-pair/scripts/execute-code.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 121
    session_id="$session" else   sessions_resp=$(curl -sf --connect-timeout 5 "${auth_args[@]+"${auth_args[@]}"}" "${base}/api/sessions") || {
  • Network accessline 122
    else   sessions_resp=$(curl -sf --connect-timeout 5 "${auth_args[@]+"${auth_args[@]}"}" "${base}/api/sessions") || {     echo "Failed to connect to marimo server at ${base}" >&2
  • Network accessline 123
    sessions_resp=$(curl -sf --connect-timeout 5 "${auth_args[@]+"${auth_args[@]}"}" "${base}/api/sessions") || {
  • Network accessline 219
    ;;   esac done < <(curl -sN -X POST "${base}/api/kernel/execute" \
  • Network accessline 220
    esac done < <(curl -sN -X POST "${base}/api/kernel/execute" \   -H "Content-Type: application/json" \
  • Network accessline 221
    done < <(curl -sN -X POST "${base}/api/kernel/execute" \

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Signal confidence: 43 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/marimo-pair/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/marimo-pair/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/marimo-pair/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/marimo-pair/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/marimo-pair/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.