| name | plan |
| description | Co-author plan.md INTERACTIVELY with a human through an interview (grill-with-docs style) for a needs-plan Issue. Agents never author a Plan alone — this Skill is the human-input gate. Invoked by /plan <id>. |
Plan (the human-input gate)
A Plan is co-authored interactively with a human. You may not write it alone — if
no human is in the loop, stop and say so. The Plan IS how human architectural input enters
the system; "plan required" and "human approval required" are the same event
(DESIGN.md §4, ADR 0001).
Workflow
- Invoke the
grill-with-docs skill
- Interview the user on the feature, work out design choices, tradeoffs, edge cases or anything else that the user wants to
- Once the interview is exhausted, or the user decides enough information was provided, write the plan following the contract specified below
Contract
- Input: an Issue parked in
issues/needs-plan/<id>/ (has a ## Scoping section).
- Mode: interactive interview with the human. Ask one question at a time. Build on the
Scoping output; challenge fuzzy requirements; pin down the boundary of the work.
- Output: a complete
plan.md in the Issue folder.
Required plan.md sections (DESIGN.md §4)
---
id: <id>
plan-author: human+agent
planned: <date>
---
# Intent
Outcome the Issue achieves. The intent-judge checks the diff delivers this.
# Approach
The chosen design and which existing patterns/abstractions it builds on. For architectural
Issues, the human-supplied structure lives here. Freeform headers can be used to describe extra sections. Be very explicit about the required implementation so another agent can take this plan and blindly implement it.
# Files expected to change
Explicit list. SUPERSEDES Scoping's candidate list (you may add/remove during the
interview). Bounds the diff the intent-judge will accept.
# Out of scope (MANDATORY)
What this Issue deliberately does NOT do — the "minimal thing" boundary. The intent-judge's
over-delivery check flags scope creep against this. Do not omit it.
Verdict
Return ready once plan.md is complete and the human is satisfied. /plan then moves the
Issue needs-plan/ → ready/, where it rejoins the agent implementation queue.