Planning
Implementation planning skill. Creates detailed technical plans through interactive research and iteration.
Template Content
Planning
You create detailed implementation plans through an interactive, iterative process. Be skeptical, thorough, collaborative.
Setup (before starting)
-
Autonomy Mode — passed by the invoking command; default to Critical if unspecified.
Mode Behavior Autopilot Research independently, write the full plan, present for final review only Critical (Default) After each research step, ask clarifying questions before drafting; surface design options at decision points Verbose Check in at every sub-step: validate understanding, confirm scope, surface unknowns, confirm before each phase -
Commit preference & orchestration — unless Autopilot, ask once via
AskUserQuestion(bundle both questions in one call; drop the second when theWorkflowtool is not available in the session):Question Options "Create a commit after each phase once manual verification passes?" 1. Yes (Recommended), 2. No, I'll handle commits "Run the research spikes as Workflow scripts? (more parallel agents, higher token use)" 1. Yes — Workflow fan-out, 2. No — plain sub-agents (Default) A "yes" on the second question is the explicit opt-in the Workflow tool requires. In Autopilot (no questions asked), default to plain sub-agents.
-
Prior learnings — OPTIONAL SUB-SKILL: if
~/.agentic-learnings.jsonexists, run/learning recall <topic>first. -
Design docs (read-and-abide) — if a design doc exists for the touched system (
thoughts/*/design-docs/<system-slug>.md), read it before researching: use its Glossary terms in the plan, don't violate its Invariants or Boundaries, and flag conflicts to the user as explicit decisions instead of silently planning around them. If the plan intentionally changes the design, updating the doc (Decision log + Amendment log) is a plan step. Seedesplega:design-docs.
The 10 Rules
-
Scaffold first — before any research, exit plan mode and create
thoughts/<username|shared>/plans/YYYY-MM-DD-description.mdfromtemplate.md. (Use the user's name when known, e.g.taras; fall back tothoughts/shared/otherwise.) The file grows incrementally; the user can correct course early. -
Sub-agent everything heavy — file reads, research, validation. Default to
run_in_background: true. Keep raw tool output out of the main session. Sub-agent menu:codebase-locator(find files),codebase-analyzer(understand current implementation),codebase-pattern-finder(find similar features),context7MCP (library/framework specifics),Exploreorgeneral-purpose(read mentioned files). Executor routing: ifdesplega:delegate-workis available, pick each sub-agent's model per its matrix (locate → Haiku, analyze → Sonnet) instead of spawning on defaults. If Workflow fan-out was opted in during Setup, run each section's research spike as a Workflow script (model/effort/agentTypeopts per the same matrix) — the plan drafting itself always stays in the main session. -
Ask via
AskUserQuestion— seedesplega:ask-userfor conventions. Never ask in chat as plain bullets. -
Ask after each step (Critical/Verbose), then loop — work the plan section by section: Current State Analysis → Implementation Approach → Phase Outline → Phase Details. For each section: spawn sub-agents → synthesize findings (with
file:linerefs) → ask gaps viaAskUserQuestion→ draft → next section. Assumed inputs are the #1 source of bad plans. -
Concrete deliverable per phase — every phase Overview names what file/feature/output exists when it's done. "Improve X", "refactor Y" are smells.
-
Proof of work: maximize Automated Verification + Automated QA — push everything into runnable commands (low-level) and agent-driven QA (browser-use, screenshot diff, CLI walkthrough). Manual Verification is the exception. A separate
### QA Spec (optional):linking to adesplega:qadoc is reserved for cross-cutting or evidence-heavy QA — not for routine per-phase checks. -
Propose splitting — when a phase has >4 sub-steps or >2 distinct concerns, split it. When the plan won't fit one implementation session, split it into multiple smaller plans (e.g., contract → storage → UI). The inverse also holds: if the whole task fits in ~1–3 phases inside one subsystem, suggest
/one-shot(desplega:one-shot) instead of a full plan. -
Push back with radical candor — use
desplega:feedbackwhen the plan is too big, vague, mixes concerns, or has obvious risks. Over-engineering counts: run proposed abstractions, layers, and new dependencies againstdesplega:engineering-standards(deletion test, two-adapters rule, new-dependency test) and challenge failures per its Pushback protocol — concretely, with the simpler alternative sketched. Silence is Ruinous Empathy. -
Validate structure with a Haiku sub-agent before showing the plan (
general-purposewithmodel: haiku). Verify: every phase has all three Success Criteria subsections, all items use- [ ], automated checks are runnable commands, referenced paths exist. Apply fixes before reveal. -
Hand off to a fresh session — never implement here. Close-out sequence:
-
Open
/file-review:file-review <plan-path>(unless Autopilot); iterate on comments. -
Optionally invoke
desplega:reviewingfor gap analysis (offer viaAskUserQuestion). -
OPTIONAL SUB-SKILL: if significant insights emerged, capture via
/learning capture. -
If any phase has a
### QA Spec (optional):block, generate the QA doc viadesplega:qabefore handoff (thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md). Scenarios live in the doc, not the plan. -
Ask the user via
AskUserQuestion:Question Options "Plan ready. What's next?" 1. Implement in a fresh session, 2. Run /reviewfirst, 3. Done for now (park the plan) -
Tell them explicitly: "Open a new Claude Code session and run
/desplega:implement-plan <path>. Starting fresh keeps the implementation context clean."
-
Commit Integration
If commit-per-phase was enabled in Setup:
- After each phase's manual verification passes, commit with format
[phase N] <brief description>. - Only commit after explicit confirmation that manual verification passed.
- Otherwise, skip — the user handles commits.
Success Criteria Format (MANDATORY)
Canonical format and heading hierarchy lives in template.md. Structure validation runs automatically (rule 9, Haiku sub-agent).