From forge
Use when an approved direction exists and a spec document is needed. Creates architecture, data flow, edge cases, and error handling documentation. Phase: DESIGN.
npx claudepluginhub caseyrtalbot/forge --plugin forgeThis skill uses the workspace's default tool permissions.
Transform an approved direction into a concrete spec document covering architecture, data flow, edge cases, and error handling. Present the design in digestible sections, get user approval, write it to a file, self-review for gaps, then hand off to planning.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Transform an approved direction into a concrete spec document covering architecture, data flow, edge cases, and error handling. Present the design in digestible sections, get user approval, write it to a file, self-review for gaps, then hand off to planning.
Do NOT invoke chart-tasks, write any implementation code, or create any plan until: 1. The spec document has been written to a file 2. You have self-reviewed it for placeholders, contradictions, and ambiguity 3. The user has reviewed and approved the written spec All three conditions must be met. No shortcuts.digraph shape_design {
"Read approved direction" [shape=box];
"Propose 2-3 approaches" [shape=box];
"User picks approach" [shape=diamond];
"Present design section" [shape=box];
"User approves section?" [shape=diamond];
"More sections?" [shape=diamond];
"Write spec to file" [shape=box];
"Self-review spec" [shape=box];
"User reviews spec?" [shape=diamond];
"Invoke chart-tasks" [shape=doublecircle];
"Read approved direction" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "User picks approach";
"User picks approach" -> "Present design section";
"Present design section" -> "User approves section?";
"User approves section?" -> "Present design section" [label="revise"];
"User approves section?" -> "More sections?" [label="approved"];
"More sections?" -> "Present design section" [label="yes"];
"More sections?" -> "Write spec to file" [label="no"];
"Write spec to file" -> "Self-review spec";
"Self-review spec" -> "User reviews spec?";
"User reviews spec?" -> "Write spec to file" [label="changes requested"];
"User reviews spec?" -> "Invoke chart-tasks" [label="approved"];
}
docs/forge/specs/YYYY-MM-DD-<topic>-design.md"This is too simple to need a real design" Every piece of work gets a spec. For truly simple work, the spec can be 3 sentences. But it must be written, reviewed, and approved. Simple work is where unexamined assumptions hide.
"Let me present the whole design at once" Large designs presented as a wall of text get rubber-stamped, not reviewed. Break it into sections. Each section gets explicit approval.
"I'll fix the spec during implementation" The spec is the contract. If it needs changing, change it explicitly and get re-approval. Silently diverging from the spec during implementation is how scope creeps and requirements get lost.
When the user approves the written spec, invoke chart-tasks to decompose it into an implementation plan.