done-blockedlisted
Install: claude install-skill VandanaAjayDubey111/great-pm
# DONE / BLOCKED Reporting Contract
Terminal status is exactly two states, and BLOCKED requires specific evidence —
not vague obstruction reports.
## The contract
Every great-pm agent's final handoff line is one of:
```
DONE: <one-sentence summary of what was produced>
artifact: <path to the draft/report produced>
next: <who picks this up — pm-lead, a gate, the human>
```
```
BLOCKED: <one-sentence summary of the obstacle>
tried: <what was attempted — files read, agents consulted>
failed_because: <concrete reason — not "unclear", not "complex">
need: <specific unblock — a human decision, a missing input, another agent>
```
## Hard rules
1. **No third state.** "Mostly done", "done with caveats" -> choose. If a
caveat blocks the next stage -> BLOCKED. If cosmetic -> DONE (log it, move on).
2. **BLOCKED requires three fields** — tried + failed_because + need. Missing
any -> the verdict is rejected; re-report.
3. **Silence is not DONE.** An agent that stops with no terminal line is treated
as BLOCKED (failed_because: silent — no terminal verdict written).
4. **failed_because must be concrete.** Rejected: "unclear requirements" -> say
which decision is needed and the two options. "not enough context" -> say
which file/input you tried to read.
5. **need names a specific unblock.** Rejected: "more information" -> ask one
specific question. "human approval" -> state the exact choice.
6. **Open questions go to beads, never only prose (anti-drift).**