done-blocked
정보
이 Claude Skill은 에이전트가 작업을 DONE 또는 BLOCKED로 명확히 선언하도록 하여 모호한 상태를 제거하는 명확한 터미널 보고 계약을 적용합니다. 이는 작업 완료나 QA 보고서와 같이 에이전트 실행의 최종 판단에 사용되며, BLOCKED 상태에는 구체적인 증거를 요구합니다. 이 계약은 중간 진행 상황 업데이트가 아닌, 오직 터미널 출력에만 적용됩니다.
빠른 설치
Claude Code
추천npx skills add avelikiy/great_cto -a claude-code/plugin add https://github.com/avelikiy/great_ctogit clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/done-blockedClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
DONE / BLOCKED Reporting Contract
Terminal status is exactly two states, and BLOCKED requires specific evidence — not vague obstruction reports.
The contract
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>
Hard rules
-
No third state. "Mostly done", "done with caveats", "almost there" → choose. If caveats exist, the caveat itself decides:
- Caveat is cosmetic / P2+ → DONE (file a Beads bug, move on)
- Caveat blocks the next pipeline stage → BLOCKED (do not pretend)
-
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_becausemust be concrete. These are rejected:- "environment issue" → say which command failed with what error
- "tests failing" → say which tests and the actual assertion message
- "unclear requirements" → say which decision is needed and the two options
- "not enough context" → say which file / doc / config you tried to read
-
neednames a specific unblock. These are rejected:- "more information" → ask one specific question
- "help from another agent" → name the agent (architect / security-officer / …)
- "CTO approval" → state the exact choice (approve gate X, pick option A vs B, waive check)
Where the verdict goes
Every agent writes the verdict to two places:
- Last line of agent output (visible to the orchestrator that spawned it).
.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"
Examples
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.
Measuring the contract
.great_cto/verdicts/*.log is machine-readable. Weekly digest can compute:
DONE:BLOCKEDratio per agent — too many BLOCKED from one agent = that role is under-resourced or prompt is unclearfailed_becauseclustering — if the same reason appears 3+ times, that's a recurring obstruction worth a meta-fix (tooling, doc, skill)- Silence rate (agents with no terminal verdict written) — should trend to zero
Anti-patterns
- Writing both DONE and BLOCKED in the same report ("DONE but blocked on X"). Pick one. If you're blocked, the work isn't done.
- Using DONE as a politeness signal when the gate still fails. The verdict is for the machine, not the CTO's feelings.
- Writing the verdict only to stdout without persisting to
.great_cto/verdicts/. The audit trail is what makes the contract measurable.
GitHub 저장소
연관 스킬
railway-docs
문서이 스킬은 Railway의 기능, 작동 방식 또는 특정 문서 URL에 대한 질문에 답하기 위해 최신 Railway 문서를 가져옵니다. 개발자들이 Railway의 공식 소스로부터 정확하고 최신 정보를 직접 받을 수 있도록 보장합니다. 사용자가 Railway의 작동 방식을 묻거나 Railway 문서를 참조할 때 사용하세요.
n8n-code-python
문서이 Claude Skill은 n8n의 Code 노드에서 Python 코드를 작성할 때 전문적인 지침을 제공하며, 특히 Python 표준 라이브러리 사용과 n8n의 특수 구문인 `_input`, `_json`, `_node` 작업에 중점을 둡니다. 이는 개발자가 n8n 내에서 Python의 제한 사항을 이해하도록 돕고, 대부분의 워크플로에는 JavaScript 사용을 권장하면서도 특정 데이터 변환 요구사항에 대한 Python 솔루션을 제안합니다.
archon
문서Archon 스킬은 REST API를 통해 RAG 기반 시맨틱 검색과 프로젝트 관리를 제공합니다. 이 스킬을 사용하여 문서 검색, 계층적 프로젝트/태스크 관리, 문서 업로드 기능을 갖춘 지식 검색을 수행할 수 있습니다. 외부 문서를 검색할 때는 다른 소스를 사용하기 전에 항상 Archon을 최우선으로 활용하세요.
n8n-code-javascript
문서이 Claude Skill은 n8n의 Code 노드에서 JavaScript 코드 작성에 대한 전문적인 지침을 제공합니다. `$input`/`$json` 변수, HTTP 헬퍼, DateTime 처리와 같은 필수적인 n8n 특정 구문을 다루며 일반적인 오류를 해결합니다. Code 노드에서 사용자 정의 JavaScript 처리가 필요한 n8n 워크플로우를 개발할 때 활용하세요.
