Plan implementation
Use when an agent needs to turn a goal into an ordered, verifiable implementation plan before coding; slices the work into the smallest independently verifiable increments, sequences them by dependency and risk, and names each step's acceptance check rather than writing code, designing component structure, or planning a behavior-preserving split.From its SKILL.md
npx -y skills add tacticaldoll/fornax --skill plan-implementationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 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.2 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Plan the implementation
Use this skill to break a goal into an implementation plan — add the work in small, controlled increments toward the outcome, each one producing an observable signal that it landed. The output is an ordered task plan: the increments, their dependencies and risk, and the acceptance check that tells you each is done.
Governing intuition: each increment must produce a signal you can see flip. A task whose "done" you cannot observe is not verifiable — reslice it until it has an acceptance check. Prefer the smallest slice that proves something real and leaves the system working over a big step you cannot verify midway; and order by what unblocks or de-risks the rest, not by what is easy.
Input: the goal to plan toward — a feature, fix, or change — plus its hard constraints; if none is given, ask what outcome the plan should reach.
Boundary: plans only — writes no code, scaffolds nothing, runs no build; produces the plan an implementer executes.
Workflow
Phase 0: Frame the goal and constraints
- State the goal as an outcome — what will be true when it is done — not as a task list.
- Capture hard constraints: behaviour that must not break, interfaces to honour, deadlines, and the tech the team already owns.
- Check the upstream boundary: unfamiliar code the plan touches →
map-codebasefirst; an unsettled component structure →design-boundariesfirst; a behaviour-preserving decomposition →plan-split; a data migration or database schema change →plan-migration, whose phased backward-compatible model this skill does not carry.
Phase 1: Slice into verifiable increments
Break the goal into increments, each one:
- Independently verifiable — produces an observable signal (a test, a check, a runnable behaviour), not just "code written".
- The smallest slice that delivers a real signal — thin, not trivial.
- Leaving the system working — no half-broken state committed between increments.
Prefer thin vertical slices (a little of each layer, end to end) over horizontal layers; each vertical slice proves something works.
Phase 2: Sequence by dependency, then risk
- Order so every task's prerequisites land first — the sequence must be dependency-correct.
- Among tasks free to reorder, pull the riskiest or most uncertain and the most unblocking work earlier: surface unknowns while there is time to react, and clear the widest downstream first. Do not front-load the easy work.
- Note interlocks — tasks that must land together — and any deliberately deferred.
Phase 3: Define each step's acceptance check
For every task, name how you will know it is done: the test to write and pass, the behaviour to observe, the check that flips green. A task without an acceptance check is not a task — it is a wish; reslice it until it has one.
Phase 4: Adversarially verify the plan
Attack the plan before finalizing:
- Missing task — is there a gap between increments (something assumed but never built)?
- Unverifiable step — any task whose "done" cannot be observed? Reslice it.
- Hidden coupling — do two "independent" tasks actually depend on each other?
- Broken in the middle — does any ordering leave the system unshippable between steps?
Phase 5: Produce the implementation plan
## Implementation Plan — [goal]
**Goal (outcome)**: [what is true when done]
**Constraints / non-goals**: [behaviour that must not break; out of scope; no design change here]
### Ordered tasks
| # | Task (increment) | Depends on | Risk | Acceptance check |
|---|---|---|---|---|
| 1 | thin vertical slice | — | low / med / high | the test or behaviour that proves it |
### Interlocks
[tasks that must land together, and why]
### Open risks / not planned
[unknowns to resolve first; work deliberately deferred or out of scope]
Rules
- Plan only. Do not write code, scaffold, or run builds — produce the plan; an implementer executes it.
- Every task is independently verifiable. Name its acceptance check; a step whose "done" cannot be observed is not a task — reslice it.
- Smallest useful increments. Prefer thin vertical slices that each prove something and leave the system working over big steps you cannot verify midway.
- Order by dependency, then by risk and unblocking. Surface the riskiest unknowns early; do not front-load the easy work.
- Stay in lane; hand off at the boundary. To understand unfamiliar code the plan touches, point to
map-codebase. To design the component structure the plan builds toward, point todesign-boundaries. For a behaviour-preserving split of existing code, point toplan-split. To review the result once built, point tostatic-review. Name the handoff rather than half-doing the other skill's job.
What ships with it: 2 files
3.9 KB alongside SKILL.md
references/
- planning.md3.0 KB
- skill.yaml957 B
Gives 0 of the 12 instructions most plan spec skills give in ~1.1k 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
- Break the goal into verifiable increments
- Ensure each increment produces an observable signal
- Capture hard constraints and interfaces to honour
- Pull the riskiest and unblocking work earlier
- Attack the plan for missing or unverifiable steps
- Prefer thin vertical slices over horizontal layers
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.