Fr plan
Write phase-structured plans with operator collaboration. Use when: "write a plan", "fr plan", "create a plan". Invoked by brainstorming handoff.From its SKILL.md
npx -y skills add derio-net/super-fr --skill fr-planAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.8 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
fr-plan
Produce implementation plans through collaborative dialogue. Conversational
parts stay here; mechanical parts delegate to the fr plan CLI.
Announce at start: "I'm using fr-plan to create the implementation plan."
Format (v2 plan-as-folder)
A plan is a directory under docs/superpowers/plans/<slug>/ containing:
_meta.yaml— schema_version, plan slug, spec ref, target_repo, vk_version, created date, optional rework metadata (parent_plan,prior_rework,origin_items).specref notation: a same-repo spec is a plain repo-relative path (docs/superpowers/specs/<file>.md). A spec that lives in another repo MUST use the cross-repo form<owner>/<repo>:<path-in-that-repo>(e.g.derio-net/frank:docs/superpowers/specs/<file>.md). Without theowner/repo:prefix,fr apply's reachability gate treats it as a missing same-repo file and refuses to dispatch.fr plan self-reviewwarns when a same-repo-form spec doesn't resolve locally (#248).
_prose.md— the human-readable narrative. Tooling never parses this; it's for humans (and the implementing agent).NN.yaml(one file per phase, two-digit zero-padded:01.yaml,02.yaml, …,99.yaml) — phase header, tasks, steps, and per-step state. Per-phase files prevent merge conflicts when parallel branches tick different phases. Phases are numbered from 1:01.yamlis the first phase;00.yaml(phase 0) fails parse —fr plan createrejects it pre-flight.
Every step id follows P<n>.T<n>.S<n> (phase number, task number, step
number). The renderer / observer / diff / apply chain depends on this shape.
Procedure
- Read context (recent commits, existing plans, spec file).
- Confirm scope. Decompose if too large.
- Propose 2-3 approaches with tradeoffs. Recommend one.
- Present plan structure section by section, get approval.
- Scaffold the plan folder:
fr plan create --slug <YYYY-MM-DD-slug> --target-repo <owner/repo> \ --spec docs/superpowers/specs/<spec-file>.md \ --phases-file <phases.yaml> \ --prose-file <prose.md>fr plan createALSO appends a row to the spec's## Implementation Planstable — there is no separate spec-index step. - Iterate on the prose / per-phase yaml via the Edit tool.
- Run self-review:
fr plan self-review <plan-dir>. - Hand off for execution:
fr apply <plan-dir>— render → observe → diff → preview (default dry-run). Add--yesto actually create / update GitHub Issues.- The implementing agent uses
fr pickup <plan-dir> --phase Nto receive the phase scope as markdown.
Rules
- TDD (
superpowers:test-driven-development): red → green → refactor. Test first (red → green), then an optional refactor step per task when there's duplication / naming / extraction to clean — stay green, add no behavior; skip it when there's nothing to clean. No speculative generality. - Refactor step shape (optional): after a task's red→green steps
(
P<n>.T<n>.S1test,S2implement), the default is a trailing optional refactor step (P<n>.T<n>.S3) for small cleanups; use a separateREFACTOR + quality gatetask for larger ones. Omit it entirely when there's nothing to clean — trivial tasks carry no empty refactor step. - Pure agentic phases: an agentic phase must be fully agent-completable
end-to-end. Collect ALL manual work (secrets, UI operations, deploy actions,
cluster-dependent config) into a dedicated
[manual]phase — never author a manual step into an agentic phase planning to defer it.fr plan self-reviewenforces this with error severity (#252). - Acceptance linkage: a phase that advances a matrix row carries
acceptance: [row-ids]in its header.fr plan self-reviewerrors when the spec has a Test Plan but zero linked rows (matrix present) and on unknown ids. Planning may ADD rows (fr acceptance add, origin = spec) when decomposition exposes a missed business acceptance — flagged as an addition, defended at PR time, never ironed over. - No placeholders: every step has actual code, commands, expected output.
- Bite-sized steps: 2-5 minutes each.
- Use BEGIN/END markers for full-file embeds, not nested fences.
- Cross-repo completeness: If the spec lists multiple plans across repos,
write ALL of them before offering the execution handoff. For each target
repo: scaffold the plan in that repo's
docs/superpowers/plans/directory.fr plan createupdates the spec table automatically.
Dependency declarations
Each per-phase yaml declares its blockers via phase.depends_on: [N, ...]
(integers, comma-separated when multiple).
- Root phases:
depends_on: []. - Non-root phases:
depends_on: [1, 2]for fan-in. - Deps are backward-only: phase N may only reference phases < N.
- Cycles are caught by
fr plan self-review.
Rework plans
After a parent plan ships, defer surfaced-but-unrealised items into a separate rework plan — do not reopen the parent.
fr plan rework <parent-plan-dir>scaffolds a sibling<parent-slug>-rework-N/folder, addsparent_plan(andprior_reworkif N>1) to its_meta.yaml, and appends a row to the spec table.fr plan rework-add <rework-dir> --item ... --source ... --track ...appends an entry to_meta.origin_items.--trackis free-form (canonical tokensdevelopment,operations,decision; compounds likedecision → developmentaccepted).fr plan rework-list [--include-archived]surfaces open reworks.
Integration
Upstream: brainstorming hands off via fr-plan-override. Downstream:
fr apply for GitHub-side work; executing-plans for the agent loop.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most plan spec skills give in ~1.5k tokens
Counted across 1,099 of the 1,860 authors here whose files we hold, read 2026-08-07
- Ask one question at a timein 51 of 1099
- Break plans into vertical slicesin 29 of 1099, across 11 files
- Publish issues in dependency orderin 27 of 1099, across 9 files
- Iterate until user approves the breakdownin 25 of 1099, across 7 files
- Explore the repository to understand the codebase statein 24 of 1099, across 7 files
- Use domain glossary vocabularyin 23 of 1099, across 5 files
- Apply correct triage labels to published issuesin 23 of 1099, across 5 files
- Prefer AFK slices over HITLin 22 of 1099, across 7 files
- Write a specification before writing any codein 22 of 1099, across 14 files
- Write failing tests before implementation codein 22 of 1099, across 20 files
- Ask clarifying questions until requirements are concretein 21 of 1099, across 13 files
- Respect existing architecture decision recordsin 20 of 1099, across 5 files
Said here and by no other author read
- Present plan structure for approval
- Scaffold the plan folder with fr plan create
- Iterate on prose and phase yaml
- Run plan self-review
- Put all manual work in a dedicated manual phase
- Link phases to acceptance matrix rows
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.