← ClaudeAtlas

done-blockedlisted

Reusable reporting contract for any great-pm agent that hands work back to the loop. Forces ONE of two terminal statuses (DONE or BLOCKED) with a specific evidence shape. Stops vague "probably finished" and "kind of stuck" verdicts.
VandanaAjayDubey111/great-pm · ★ 3 · AI & Automation · score 77
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).**