Persistent to-do lijst over Claude Code sessies heen. Interactieve HTML UI, auto branch/plan/PR-koppeling, shell wrappers.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Eén to-do lijst voor al je Claude Code sessies. Persistent, lokaal, zonder cloud.
Voor developers die meerdere sessies parallel draaien — per branch, per feature, per worktree — en die versplinterd werk willen centraliseren zonder Linear, Jira, Trello of Notion te openen.
Als je serieus met Claude Code werkt heb je al snel meerdere sessies tegelijk open:
feat/billing-v2De ingebouwde TodoWrite tool van Claude verdwijnt zodra je /clear doet of de sessie sluit. Je eigen todo's — "dit moet ik morgen nog testen", "vergeet niet PR #1234 te reviewen" — leven dan op post-its, in een markdown ergens, of in je hoofd.
Resultaat: je start maandag een sessie, ziet lege context, en vraagt je af waar je vrijdag was gebleven in die ándere sessie.
Eén globale to-do lijst (~/.claude-todo/todos.json) die elke sessie deelt. Taken worden automatisch getagd met de branch, het plan-bestand en de PR waarin ze zijn ontstaan — zodat je later precies weet waar iets bij hoorde.
flowchart LR
S1[Sessie A<br/>feat/auth]:::sess --> L[(~/.claude-todo/<br/>todos.json)]:::data
S2[Sessie B<br/>feat/billing]:::sess --> L
S3[Sessie C<br/>worktree/review]:::sess --> L
S4[Sessie D<br/>plan-mode]:::sess --> L
L --> UI[HTML UI<br/>localhost:3737]:::ui
L --> CLI["/todo, /todo-add<br/>!todo-done, …"]:::cli
classDef sess fill:#eff6ff,stroke:#1d4ed8,color:#1e3a8a
classDef data fill:#fef3c7,stroke:#92400e,color:#78350f,stroke-width:2px
classDef ui fill:#d1fae5,stroke:#047857,color:#064e3b
classDef cli fill:#e0e7ff,stroke:#4338ca,color:#312e81
Geen database, geen auth, geen cloud, geen dependencies. Eén JSON-bestand en twee Node-scripts.
| Wat | Waarom licht |
|---|---|
| Data | Plain JSON op disk — jq en cat werken out of the box |
| CLI | Pure Node.js, geen node_modules |
| Server | Inline HTML + http module — 0 npm packages |
| UI | Vanilla JS + contenteditable — geen React, geen build step |
| Distributie | Claude Code plugin via GitHub, één /plugin install |
Totale codebase: ~1500 regels. Bootet in milliseconden. Geen background processes.
/plugin marketplace add Michieldejongh/todo-plugin
/plugin install todo@todo-marketplace
Herstart je sessie. Klaar.
De SessionStart hook maakt bij eerste run ~/.claude-todo/todos.json aan en symlinkt de shell-wrappers naar ~/.local/bin/ (als die op je PATH staat). Volledig idempotent — volgende sessies doen niks.
sequenceDiagram
autonumber
participant Dev as Developer
participant CC as Claude Code
participant P as Plugin
participant D as ~/.claude-todo/<br/>todos.json
participant GH as GitHub
Dev->>CC: Start sessie op feat/auth
Dev->>CC: /todo-session
CC->>P: session-prepare
P->>D: lees
P->>GH: gh pr view feat/auth
GH-->>P: PR-URL
P-->>CC: auto-titel + plan + PR
Dev->>CC: Kies titel (Enter)
CC->>D: schrijf taak (in_progress)
Note over Dev,CC: Werken werken werken…
Dev->>CC: /todo-note <id> test faalt nog op Safari
CC->>D: append notitie
Dev->>CC: !todo-ui
P-->>Dev: browser opent op :3737<br/>edit inline, klik ↗ naar PR
Dev->>CC: /todo-session-done
CC->>D: status = done + completedAt
Tab na /todo in Claude Code opent een picker met alle varianten.
| Command | Shortcut (bash !) | Doet |
|---|---|---|
/todo | !todo | Interactief overzicht + actie-keuze |
/todo-add <titel> | !todo-add <titel> | Nieuwe taak (auto branch/plan/PR) |
/todo-start <id> | !todo-start <id> | Op "bezig" zetten |
/todo-done <id> | !todo-done <id> | Afronden |
/todo-note <id> [tekst] | !todo-note <id> … | Notitie toevoegen |
/todo-edit <id> <titel> | !todo-edit <id> … | Titel aanpassen |
/todo-due <id> <YYYY-MM-DD> | !todo-due <id> … | Deadline (of clear) |
/todo-rm <id> | !todo-rm <id> | Verwijderen (bevestigt bij actief) |
/todo-session | !todo-session | Huidige Claude-sessie als taak |
/todo-session-done | !todo-session-done | Sessie-taak afronden |
/todo-ids | !todo-ids | Compacte ID-lijst (kopieerhulp) |
/todo-ui | !todo-ui | HTML frontend op http://localhost:3737 |
ID-matching: prefix of 5-char suffix volstaat. t_2026 werkt als het uniek is, anders zie je kandidaten.
Automatisch gekoppeld aan je werk:
gitBranch — automatisch uit git branch --show-currentplanSlug — recent gewijzigd ~/.claude/plans/*.md wordt gedetecteerdprUrl — gh pr view <branch> wordt silent aangeroepensessionId + sessionTitle — via de huidige ~/.claude/projects/ transcriptnpx claudepluginhub michieldejongh/todo-plugin --plugin todoHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,561 supported skills.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use