← ClaudeAtlas

write-planlisted

Use in the Plan phase after the spec is approved - dispatches the planner agent to draft the executable plan from the standard template (decision summary, T-xxx task breakdown with test-first + verify per task), gets the user's approval, records the plan (opening the write gate), and mirrors the breakdown into Claude Code's native task list. Runs inline on the main thread (it owns the approval gate, the state write, and the task mirror).
taipt1504/claudehut · ★ 2 · AI & Automation · score 66
Install: claude install-skill taipt1504/claudehut
# Write Plan (Plan phase) Convert the approved spec into an executable, test-first plan. Runs **inline on the main thread** — the planner drafts in isolation; this skill owns the user gate, the state write, and the task mirror (a subagent cannot). ## Flow ```mermaid flowchart TB s(["spec approved (set-spec recorded)"]) --> draft["dispatch claudehut-planner → draft plan.md<br/>(T-rows + §3 flow + per-task Sketch)"] draft --> check{"§1 restates decision, §3 traces end-to-end,<br/>every behavior task RED-first + verbatim verify?"} check -- "no" --> draft check -- "yes" --> rev["dispatch claudehut-plan-reviewer → REFUTE vs spec<br/>writes plan-review.md (SubagentStop blocks empty return)"] rev --> verdict{"Verdict == APPROVE?"} verdict -- "REVISE (route items back)" --> draft verdict -- "APPROVE" --> smart{"full tier AND (≥5 tasks OR sensitive surface)?"} smart -- "yes" --> record["set-plan-review APPROVE --evidence plan-review.md<br/>(byte-identical plan; edit forces re-review)"] smart -- "no" --> ask record --> ask{"interactive? user Approves?"} ask -- "Request changes" --> draft ask -. "headless -p" .-> bypass(["record approval: non-interactive in header"]) ask -- "Approve" --> setplan["set-plan plan.md (opens PreToolUse write gate)"] bypass --> setplan setplan --> mirror["TaskCreate per T-row + TaskUpdate addBlockedBy (Depends-on)"] mirror --> phase["set-phase implement → REQUIRED NEXT claudehut:implement"] ``