From great_cto
Enforces a DONE/BLOCKED terminal verdict contract with structured evidence fields. Stops vague handoffs by requiring concrete failure reasons and specific unblock requests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/great_cto:done-blockedWhen to use
Apply to every terminal verdict an agent writes — the last line of a spawned agent run, the top of a report file, or the summary appended to a Beads task comment. Specifically: - architect ARCH doc completion → DONE or BLOCKED - senior-dev task close → DONE or BLOCKED - qa-engineer QA report verdict → DONE (PASS) or BLOCKED (FAIL with evidence) - security-officer CSO audit verdict → DONE (APPROVED) or BLOCKED (findings) - devops deploy step → DONE or BLOCKED - l3-support incident triage step → DONE or BLOCKED - project-auditor audit completion → DONE or BLOCKED Do NOT force this on intermediate progress pings (those are advisory). Only terminal verdicts.
.great_cto/verdicts/**docs/**This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Terminal status is exactly two states, and BLOCKED requires specific evidence — not vague obstruction reports.
Terminal status is exactly two states, and BLOCKED requires specific evidence — not vague obstruction reports.
Every agent's final handoff line is one of:
DONE: <one-sentence summary of what shipped>
artifact: <path to report/PR/commit>
next: <who picks this up — pipeline stage, gate, or "pipeline continues">
BLOCKED: <one-sentence summary of the obstacle>
tried: <what was attempted — file paths, commands, error signatures>
failed_because: <concrete reason — not "unclear", not "complex">
need: <specific unblock — file access, missing config, CTO decision, another agent>
No third state. "Mostly done", "done with caveats", "almost there" → choose. If caveats exist, the caveat itself decides:
BLOCKED requires three fields. tried + failed_because + need. Missing any field → the verdict is rejected and the agent must re-report. No exceptions for "obvious" cases.
Silence is not DONE. If the agent stops producing output without a terminal line, the parent / next stage treats it as BLOCKED with failed_because: silent — no terminal verdict written.
failed_because must be concrete. These are rejected:
need names a specific unblock. These are rejected:
Every agent writes the verdict to two places:
.great_cto/verdicts/<agent>-<YYYY-MM-DD-HHMMSS>.log — append-only audit trail.mkdir -p .great_cto/verdicts
VERDICT_FILE=".great_cto/verdicts/<agent>-$(date -u +%Y-%m-%d-%H%M%S).log"
printf '%s\n' "$VERDICT_LINE" > "$VERDICT_FILE"
Good — DONE:
DONE: CSO audit passed — 0 P0, 2 P1 findings filed as Beads tasks.
artifact: docs/security/CSO-2026-04-19.md
next: gate:ship ready for CTO approval
Good — BLOCKED:
BLOCKED: senior-dev cannot claim task BD-42 — circular dependency with BD-38.
tried: bd ready → BD-42 did not appear; bd dep tree BD-42 → shows BD-38 blocks BD-42, BD-42 blocks BD-38
failed_because: both tasks depend on each other transitively (BD-42 → BD-38 → BD-39 → BD-42)
need: architect to split BD-39 into two tasks so the cycle breaks
Rejected — vague BLOCKED:
BLOCKED: couldn't finish QA — environment problems.
tried: ran tests
failed_because: stuff broken
need: help
Why rejected: tried lacks command/path; failed_because is tautological; need is not actionable.
.great_cto/verdicts/*.log is machine-readable. Weekly digest can compute:
DONE:BLOCKED ratio per agent — too many BLOCKED from one agent = that role is under-resourced or prompt is unclearfailed_because clustering — if the same reason appears 3+ times, that's a recurring obstruction worth a meta-fix (tooling, doc, skill).great_cto/verdicts/. The audit trail is what makes the contract measurable.npx claudepluginhub avelikiy/great_ctoProvides Markdown templates for agent-to-agent handoffs, QA verdicts, escalations, and phase gates. Use when coordinating multi-agent workflows to prevent context loss.
Validates AI agent claims against evidence trail in coding workflows. Catches unsubstantiated 'done', 'tests pass', 'fixed' without proof like outputs, diffs, or logs. Auto-triggers on completion keywords.
Enforces role boundaries, scope discipline, and DONE/BLOCKED status signaling for specialist subagents in multi-agent supervisor delegation workflows.