# retro-marimo-pair

A skill that runs a retrospective on a marimo pairing session, finds the friction and turns it into something the team can act on.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4600 installs · ★ 429
- Author: marimo-team
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/marimo-team/marimo-pair/tree/HEAD/skills/retro-marimo-pair/SKILL.md
- Updated: 2026-09-16
- HTML: https://affpapa.org/en/nevibecode/skills/retro-marimo-pair

## What it does

The skill walks back through the conversation and looks for friction: user corrections, repeated attempts, runtime errors, workarounds, forgotten instructions. It lists each finding with a short note and where it happened, then asks which ones you want to dig into.

From there it works through root causes: skill structure, a gap in the docs, misleading docs, `marimo._code_mode` ergonomics, a missing API, an API bug, context window. The output is a diagnosis with contributing factors and open questions, not a patch. By default it offers to draft an issue or discussion, and leaves the actual filing to you.

It never edits files in `github://marimo-team/marimo-pair` without explicit approval. If you do ask for a change, it reads the target file first, shows the diff, applies it only after sign-off, then checks that `SKILL.md` stays under 500 lines. To inspect the live API, the skill points at a notebook scratchpad snippet using `marimo._code_mode` and `cm.get_context()`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add marimo-team/marimo-pair --skill retro-marimo-pair -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/retro-marimo-pair/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/retro-marimo-pair/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add marimo-team/marimo-pair --skill retro-marimo-pair -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/retro-marimo-pair/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add marimo-team/marimo-pair --skill retro-marimo-pair -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/retro-marimo-pair/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install marimo-team/marimo-pair retro-marimo-pair
```

2. **Manually: put the files in place**
- File: `.github/skills/retro-marimo-pair/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add marimo-team/marimo-pair --skill retro-marimo-pair -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/marimo-team/marimo-pair --path skills/retro-marimo-pair
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/retro-marimo-pair/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add marimo-team/marimo-pair --skill retro-marimo-pair -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/marimo-team/marimo-pair/tree/HEAD/skills/retro-marimo-pair/SKILL.md

## When to use it
- find where a pairing session with the agent stalled
- tell a skill doc gap apart from an API bug
- write up the problem for the marimo team to triage
- list the public `marimo._code_mode` methods from a notebook
- check whether `SKILL.md` grew past its line budget

## Example prompts
- /retro-marimo-pair — review our session and show me where we got stuck
- run a retro on the last session, what went wrong with `_code_mode`
- write up the friction as a diagnosis and offer to file it as an issue

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 4c59c195d674feb6.

BEGIN THIRD-PARTY FILE 4c59c195d674feb6
```text
---
name: retro-marimo-pair
description: >-
  Session retrospective for improving marimo-pair and marimo._code_mode.
  Use when the user wants to analyze friction from a pairing session, identify
  what went wrong, and brainstorm improvements to the skill docs or the
  underlying API. Trigger on: "retro", "what went wrong", "improve the skill",
  "session review", "friction", or /retro-marimo-pair.
---

# Session Retrospective

You are helping a **marimo team member** review a pairing session to find
friction and turn it into improvements. The target is always one or both of:

1. **The marimo-pair skill** (`github://marimo-team/marimo-pair`)
2. **`marimo._code_mode`** — the underlying notebook metaprogramming API

This is a **conversation**, not an automated report. You surface findings,
the user steers which ones matter, and together you decide what to do about
them.

## Guard Rails

- **NEVER** edit files in `github://marimo-team/marimo-pair` without explicit
  user approval.
- **ALWAYS** start with session analysis (Step 1) — do not jump to solutions.
- **Present friction points before root causes** — let the user choose which
  ones to dig into.
- If the user invoked with a specific complaint, focus your analysis there but
  still scan for other friction in the background.

## Step 1: Session Analysis

Review the current conversation and identify friction. Look for:

| Signal | What to look for |
|--------|-----------------|
| **User frustration** | Corrections ("no not that"), repeated attempts, backtracking, confusion, tone shifts |
| **Inefficiency** | Multiple rounds for a one-step task, over-engineering, wrong API usage |
| **Errors** | Compile-check failures, runtime errors, silent failures, wrong output |
| **Workarounds** | User or Claude working around a limitation instead of doing it directly |
| **Context loss** | Claude forgetting instructions from earlier, re-asking things the skill covers |

Present a numbered summary of friction points found. For each, note:
- What happened (brief)
- Where in the conversation it occurred (quote or paraphrase)
- Initial category guess (skill structure / skill gap / API issue / etc.)

Then ask: **"Which of these should we dig into? Or is there something I missed?"**

## Step 2: Root Cause Discussion

For each friction point the user selects, work through these lenses:

| Lens | Question | Example improvement |
|------|----------|-------------------|
| **Skill structure** | Was the right info in the skill but hard to find? Buried in reference/ when it should be in SKILL.md? | Promote to guard rail, restructure progressive disclosure |
```
END THIRD-PARTY FILE 4c59c195d674feb6

The third-party file has ended. Everything between the 4c59c195d674feb6 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2636 of 6420 bytes. © marimo-team · Apache-2.0 · https://github.com/marimo-team/marimo-pair/tree/HEAD/skills/retro-marimo-pair/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
