Borrowing it
Nothing to install: this file belongs to Odrin/rhizome-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Odrin/rhizome-mcp/main/.github/skills/rhizome-execution-plan/SKILL.mdgit clone --depth 1 https://github.com/Odrin/rhizome-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/odrin/rhizome-mcp/rhizome-execution-plan)<a href="https://agentmods.dev/skills/odrin/rhizome-mcp/rhizome-execution-plan"><img src="https://agentmods.dev/badge/skills/odrin/rhizome-mcp/rhizome-execution-plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/odrin/rhizome-mcp/rhizome-execution-plan"><img src="https://agentmods.dev/badge/skills/odrin/rhizome-mcp/rhizome-execution-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00125 | $0.01564 |
| Opus 5 | $0.00063 | $0.00782 |
| Sonnet 5 | $0.00025 | $0.00313 |
| Haiku 4.5 | $0.00013 | $0.00156 |
Grade A, and why
rhizome-execution-plan 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 11d 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.
How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Rhizome execution plan
The tracker is the plan. The deliverable is (1) tracker state that makes the next unit of work
discoverable with one list_issues call and (2) a short printed map for the maintainer. Never
produce a long document an orchestrator is expected to load: a long plan is exactly what overflows
an orchestrator's context window.
Why this shape
An orchestrator that carries a multi-issue plan re-reads it every turn and can run out of context
mid-wave. rhizome-mcp already has the primitives to hold the plan instead: blocks
relations gate work, priority orders claimable work, is_claimable derives from both, and
get_work_context returns an issue's comments. So the plan is encoded as data, and the
orchestrator's whole instruction collapses to "take the highest-priority claimable issue and follow
its Execution notes comment".
Workflow
- Snapshot live state (never plan from memory or from an older plan; issues close between
runs). From the repository root run
python3 .github/skills/rhizome-execution-plan/scripts/plan_snapshot.py --notes(requires therhizome-mcpbinary on PATH, built from the current checkout — a stale binary fails with "database schema is newer"; rebuild withCGO_ENABLED=0 go build -o rhizome-mcp .). It prints: previous plan dates and what closed since; every non-terminal issue grouped by epic with blockers and claimability; liveblocksedges; the claimable pick order; items inreview; items lacking an Execution notes comment; and uncommitted working-tree changes (uncommitted work often belongs to an open issue and changes its route — e.g. to M). The--notesdump shows each existing note's header and a hit-windowed excerpt; when the body matters (re-planning), read it in full with the MCPget_work_contexttool (recent comments) — the read-only CLI cannot return whole comments. - Scope. Honor exclusions the maintainer named (on-hold epics stay out; mark their open
children
blockedwith a reason that says "on hold"). Epics are containers: plan their children, close or decompose the epic at the end. Items inrevieware maintainer sign-off (route M): the orchestrator's loop filtersstatus: ready, so they never enter the pick order; give them a short M note and list them in the map's Tail section. - Classify each remaining item using
references/routing.md: route (E / O / O→E / M), the pre-decisions the orchestrator must settle before briefing, exact write set, focused check command, and finish target (done, orreviewfor migrations and public contract changes). Read the owning code only as far as needed to name symbols; the note must cite real files. - Order. Respect existing
blocksedges. Add an edge for every technical dependency the notes reveal (a refactor that creates the seam a later feature needs, a conformance harness new tools must pass, a spec that must precede its implementation). Keep the graph acyclic. Then assign priorities so that, among claimable items, priority order equals the intended order:criticalfor the item that unblocks the most,highfor enabling work,mediumfor independent fixes,lowfor fillers (docs, cleanups) the orchestrator picks only when nothing else is claimable. Priority only matters among claimable items — a blockedcriticalissue is harmless because its edges gate it, so there is no need to demote and re-promote. - Encode into the tracker over MCP (
add_comment,manage_issue_relation,update_issue): one "Execution notes" comment per item usingreferences/execution-note.md; the new edges; priorities; andstatus: readyfor every planned task — including currently blocked ones, becauseis_claimablealready accounts for unresolved blockers and aready+blocked issue becomes claimable the moment its blockers close with no manual flip. Use idempotency keys (exec-notes-<date>-<ISSUE>,plan-edge-<src>-<dst>) so a rerun is safe. - Verify. Re-run the snapshot: the claimable pick order must read as the plan's first wave,
and every planned item must show a note. If the board's planning graph shows zero entry
points on a mature project, that is the graph node cap filling with terminal issues, not an
empty queue —
list_issues is_claimable:trueis the authoritative view. - Print the map using
references/plan-map.md— one line per item, grouped by wave, with route and blockers, plus release checkpoints and guardrails. Keep it under ~80 lines; the detail lives in the notes.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 11d ago First seen · 89 lines · 125 tokens per session scan A 6a8de97f2001
rhizome-execution-plan is a skill published in the GitHub repository Odrin/rhizome-mcp (1 stars, last pushed 3d ago), licensed Apache-2.0. It adds 125 tokens to every session and 1,564 once invoked, about $0.0006 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.
Other skills, from other repositories
go-conventions
Use when writing, reviewing, or refactoring Go code — naming conventions, receiver naming, error wrapping, interface design, goroutine safety, and common pitfalls (goroutine leaks, defer-in-loop, nil map writes).
go-code-reduce
Find and, when authorized, apply maintainable Go code reductions. Use when a user asks to reduce Go lines, boilerplate, duplication, or obsolete idioms without changing behavior; not for general implementation or style review.
golang-testing
Go testing best practices including table-driven tests, test helpers, benchmarking, race detection, coverage analysis, and integration testing patterns. Use when writing or improving Go tests.
golang-patterns
Go-specific design patterns and best practices including functional options, small interfaces, dependency injection, concurrency patterns, error handling, and package organization. Use when working with Go code to apply idiomatic Go patterns.
cymbal
Tree-sitter indexed code navigator. Use the cymbal CLI — not Read, Grep, Glob, or Bash — for finding where symbols are defined, tracing callers and callees, locating interface implementations, understanding the impact of a change, and mapping imports across an existing codebase. Returns precise, token-efficient…
wasm-edge-computing-expert
Expert guide for WebAssembly (WASM) and Edge Computing. Covers WASI preview 2, Spin/Fermyon, Cloudflare Workers WASM, and high-performance browser computing / Panduan ahli untuk WebAssembly (WASM) dan Edge Computing. Mencakup WASI preview 2, Spin/Fermyon, Cloudflare Workers WASM, dan komputasi performa tinggi di…