--- name: plan description: Stage 2 of the SDD pipeline — turn a ZettelFlow spec (in the GitHub issue body) into a technical plan posted as an issue comment (approach, files by layer, Obsidian score-rule impact, test strategy, i18n and docs impact, rollback, risks). Use after a spec exists and the user says "plan this", "make the plan", or "plan issue #N". Delegate to the implementation-planner agent. --- # /plan — write the technical plan as an issue comment Stage 2 of the [SDD pipeline](../sdd/SKILL.md). Given an issue with an approved spec in its body, the plan is posted as a **GitHub issue comment** — HOW we satisfy the spec, with every Obsidian/ZettelFlow gate made explicit before code is written. **No local files** — the plan lives in the GitHub issue as a comment. ## Owner Delegate to the **`implementation-planner`** agent. Point it at the issue number; it reads the spec (issue body), the constitution, `CLAUDE.md`'s architecture map, and the code it will touch, then posts the plan comment. ## Steps The agent posts a comment containing: - **Approach** — which existing pattern it follows (action 4-file bundle, settings declarative definitions, a `getInstance()` singleton, the Zustand wizard). Prefer extending a pattern. - **Files touched** — a table by layer so the blast radius is visible. - **Obsidian score impact (§I)** — name the `eslint-plugin-obsidianmd` rules this could trip and how it avoids them; state the expected `npm run lint:obsidian` delta (must be ≤ 0 new). - **Test strategy (§II)** — which units get a failing test first; which mock stubs to add. - **i18n impact (§IV)** — the exact `en.ts`/`es.ts` keys added/changed; sentence case confirmed. - **Docs impact (§VIII)** — which `docs/` page + `mkdocs.yml` nav entry. - **Verification coverage (§XIV)** — take the spec's `How to verify` and say, per AC, whether the proof is automated (name the test) or hand-walked (name the reason it cannot be automated). A manual step that *could* be automated is a missing test, and the plan is where that is caught. - **Rollout & rollback** and **Risks** — flag fragile areas (Canvas patcher, monkey-around, cross-platform). ## Quality bar (the stage-2 gate) - The score delta is explicitly **zero-new-violations** (or the plan fixes violations). - The test plan is real (named files + assertions), not "add tests". - i18n and docs impact are named, not "update as needed". - Every AC in the spec is mapped to an automated test or to a named manual step. - No unbounded refactors: if the plan balloons, split the spec. Then run `/tasks `.