delivery-gate.sh artifacts ok · verification GREEN · suite green == GATE PASS ==
GitHub →
Claude Code skillClaude Code 스킬

/supergoal

One objective in, a verified result out.목표 하나를 넣으면, 검증된 결과가 나옵니다.

Hand it a whole objective: "build X", "fix this bug", "add this feature". It splits the work into phases, sends each to a focused expert subagent, and won't say "done" until a script (not the agent's own opinion) confirms the work passes. The skill directs the work; it never writes the production code itself, and the agent that writes code never gets to approve it.

"이걸 만들어줘", "이 버그 고쳐줘", "이 기능 추가해줘" 같은 목표를 통째로 맡기세요. 작업을 단계로 나눠 각 단계를 전담 전문가 서브에이전트에게 보내고, 에이전트의 의견이 아니라 스크립트가 통과를 확인하기 전까지는 "완료"라고 말하지 않습니다. 스킬은 작업을 지휘만 할 뿐 프로덕션 코드를 직접 쓰지 않으며, 코드를 작성한 에이전트는 그 코드를 승인할 수 없습니다.

 /supergoal build a production URL shortener and ship it
  mode: GREENFIELD · Validate → Plan → Human Feedback → Build → Verify → QA → Deliver
  human feedback → plain brief + technical brief approved
  build → 43 tests pass (builder's own report, not yet trusted)
  verify → RED: 2 real SSRF holes the tests missed → back to Build
  verify → GREEN · review APPROVE · gate exit 0 → shipped
 /supergoal 프로덕션급 URL 단축기를 만들고 출시해줘
  mode: GREENFIELD · Validate → Plan → Human Feedback → Build → Verify → QA → Deliver
  human feedback → 쉬운 설명 + 기술 브리프 승인
  build → 테스트 43개 통과 (구현자 자가 보고, 아직 신뢰 안 함)
  verify → RED: 테스트가 놓친 진짜 SSRF 취약점 2건 → Build로 복귀
  verify → GREEN · review APPROVE · gate exit 0 → 출시 완료

Get started시작하기

You need Claude Code and Node 18+. Two commands to install, one to run. No service, no config.

필요한 건 Claude CodeNode 18+뿐입니다. 설치는 명령어 두 개, 실행은 하나. 별도 서비스도 설정도 없습니다.

01

Clone클론

This repo is the skill. Grab it anywhere on disk.

이 저장소가 곧 스킬입니다. 디스크 어디에 두어도 됩니다.

02

Link연결

Symlink it into Claude Code's skills folder (a symlink keeps it auto-updated).

Claude Code 스킬 폴더에 심볼릭 링크로 걸어두세요(심볼릭 링크면 항상 최신 상태 유지).

03

Run실행

In any project, type /supergoal and your objective.

아무 프로젝트에서나 /supergoal 뒤에 목표를 입력하세요.

 git clone https://github.com/cskwork/supergoal-skill.git
 ln -s "$(pwd)/supergoal-skill" ~/.claude/skills/supergoal
# then, in Claude Code, hand it one objective:
 /supergoal build a CLI todo app and ship it
 git clone https://github.com/cskwork/supergoal-skill.git
 ln -s "$(pwd)/supergoal-skill" ~/.claude/skills/supergoal
# 그다음 Claude Code에서 목표 하나를 건네세요:
 /supergoal CLI 할 일 앱을 만들고 출시해줘

zero dependencies의존성 없음no external orchestrator외부 오케스트레이터 없음 no TUI / serviceTUI·서비스 없음runs in-session세션 안에서 실행

Four modes, one command네 가지 모드, 하나의 명령

The skill reads your objective and picks the right pipeline, including how much to parallelize. Broad work (research, scaffolding several files) fans out to many agents at once; focused work (one bug, one feature) stays with a single driver. The three code-writing modes pause at Human Feedback before touching code. A fourth mode, LEARN, writes no code at all.

스킬이 목표를 읽고 알맞은 파이프라인과 병렬화 수준을 고릅니다. 폭넓은 작업(리서치, 여러 파일 스캐폴딩)은 여러 에이전트로 한꺼번에 펼치고, 집중된 작업(버그 하나, 기능 하나)은 단일 드라이버가 맡습니다. 코드를 쓰는 세 모드는 코드를 건드리기 전에 Human Feedback에서 승인을 요청합니다. 네 번째 모드 LEARN은 아예 코드를 쓰지 않습니다.

greenfield

Ship a new app새 앱 출시

Check there's real demand, plan, get approval, then build → prove → ship.

실제 수요를 확인하고, 계획하고, 승인받은 뒤 구현 → 증명 → 출시 순으로 진행합니다.

Intake → Validate → Plan → Human Feedback → Build → Verify → QA → Deliver
debug

Root-cause a hard bug까다로운 버그 근본 원인 추적

Reproduce it first, weigh competing explanations with evidence, then pause for approval. Read-only until then.

먼저 재현하고, 경쟁하는 가설을 증거로 따져본 뒤 승인을 위해 멈춥니다. 그전까진 읽기 전용입니다.

Intake → Reproduce → Diagnose → Human Feedback → Fix → Verify → Deliver
legacy

Add to existing code기존 코드에 기능 추가

Map what the change touches, plan a small surgical edit, and prove the existing tests still pass. No regressions.

변경이 닿는 범위를 파악하고, 최소한의 외과적 수정안을 계획한 뒤, 기존 테스트가 그대로 통과함을 증명합니다. 회귀 없음.

Intake → Explore → Plan → Human Feedback → Build → Verify → QA → Deliver
learn · no code

Understand something무언가 이해하기

"Explain X", "how does this work". No code, no implementation gates. It gathers the facts first, bridges to what you already know, then teaches in a question-driven loop. It is only done when you can explain the idea back, unaided. The session is journaled to learn/.

"X를 설명해줘", "이건 어떻게 동작해?" 코드도, 구현 게이트도 없습니다. 먼저 사실을 모으고, 당신이 이미 아는 것에 연결한 뒤, 질문 중심 루프로 가르칩니다. 당신이 그 개념을 스스로 설명해낼 수 있을 때에만 완료됩니다. 세션은 learn/에 기록됩니다.

Intake → Source → Bridge → Teach loop → Check (explain-back) → Journal

How it works동작 방식

The skill is the director: it never writes production code. It picks the mode, hands each phase to a fresh expert subagent, and reads back only short summaries (never full transcripts). The subagents never talk to each other; they pass work through one shared folder, the vault. Phases run forward only: the next phase opens only after the current one passes its check, and going backward happens only as an explicit, logged rewind.

스킬은 디렉터입니다. 프로덕션 코드를 직접 쓰지 않습니다. 모드를 정하고, 각 단계를 새 전문가 서브에이전트에게 넘기며, 전체 기록이 아닌 짧은 요약만 돌려받습니다. 서브에이전트끼리는 서로 대화하지 않고, 하나의 공유 폴더인 볼트(vault)를 통해 작업을 주고받습니다. 단계는 앞으로만 진행됩니다. 현재 단계가 검사를 통과해야 다음 단계가 열리고, 되돌아가는 일은 명시적으로 기록된 되감기로만 일어납니다.

GREENFIELD: ship a new appGREENFIELD: 새 앱 출시

Intakebrief.mdbrief.md
Validatedemand · Decision: GO수요 · Decision: GO
Planfrozen plan.md고정된 plan.md
Human Feedbacktwo briefs + approval브리프 2개 + 승인
Buildcode + claims코드 + 주장
Verifyadversary re-runs검증자가 재실행
QAblack-box블랙박스
Delivergate exits 0게이트 exit 0

DEBUG: root-cause a hard bugDEBUG: 까다로운 버그 근본 원인 추적

Intakesymptom증상
Reproducefailing test (red)실패 테스트(red)
Diagnosecause + fix plan원인 + 수정안
Human Feedbackapprove FixFix 승인
Fixroot cause근본 원인
Verifyrepro green + suite재현 green + 스위트
Deliver

LEGACY: add to existing codeLEGACY: 기존 코드에 기능 추가

Intakespec명세
Exploremap what it touches영향 범위 파악
Plansurgical plan외과적 수정안
Human Feedbackapprove BuildBuild 승인
Buildbackward-compat하위 호환
Verifyno regressions회귀 없음
QA+ nearby flows+ 주변 플로우
Deliver

LEARN: understand something (no code)LEARN: 무언가 이해하기 (코드 없음)

Intaketopic주제
Sourcegather, read-only수집·읽기 전용
Bridgeanalogy to what you know아는 것에 비유
Teach loopFeynman + Socratic파인만 + 소크라테스
Checkexplain-back, unaided스스로 설명
Journallearn/learn/

LEARN skips the build/verify/deliver gates entirely. Its delivery gate is human: you restate every key term and the whole idea in your own words. Until you can, it loops.

LEARN은 build/verify/deliver 게이트를 모두 건너뜁니다. 이 모드의 딜리버리 게이트는 사람입니다. 핵심 용어와 전체 개념을 당신의 말로 다시 설명해야 합니다. 그럴 수 있을 때까지 루프를 돕니다.

Before it builds: a grounded plan, shaped by your domain's rules구현에 들어가기 전: 도메인 규칙으로 다듬은, 근거 있는 계획

Two advisory layers sharpen the plan before the Human Feedback gate (neither replaces a hard gate). Plan grounding: in the Plan phase the planner self-runs a design-tree grill against the project's own docs and architecture (CONTEXT.md, ADRs, the explored map) and answers each challenge itself. Feature work sharpens terms and contracts; "improve / refactor" work hunts for deepening opportunities. Domain priority rules: right after mode detection the objective is routed through the ten-rules skill and distilled into ≤10 abstract priority rules (e.g. web-design + ecommerce), recorded once and carried into Plan, Build, and Review.

두 가지 advisory 레이어가 Human Feedback 게이트 전에 계획을 다듬습니다(둘 다 하드 게이트를 대체하지 않습니다). Plan grounding: Plan 단계에서 플래너가 프로젝트 자체 문서·아키텍처(CONTEXT.md, ADR, 탐색 맵)에 대해 디자인 트리 그릴을 스스로 돌리고 각 질문에 직접 답합니다. 기능 작업은 용어·계약을 날카롭게 하고, "개선/리팩터" 작업은 심화 기회를 찾습니다. Domain priority rules: 모드 감지 직후 목표를 ten-rules 스킬로 라우팅해 ≤10개의 추상적 우선순위 규칙(예: web-design + ecommerce)으로 정제하고, 한 번 기록해 Plan· Build·Review까지 가져갑니다.

Why it catches real bugs: the builder never grades itself진짜 버그를 잡는 이유: 구현자는 자기 일을 채점하지 않습니다

   Builder  (writes the code)             Verifier  (a fresh, separate agent)
   ──────────────────────────             ──────────────────────────────────
   writes code + a CLAIM:                 reads ONLY the claim + the code,
     "run-to-prove: npm test"   ───────▶  re-runs every "run-to-prove" from a
     (its own report, NOT trusted)        clean slate, tries to disprove it,
                                          and checks the test suite is real
                                                       │
                          verdict: RED  ◀──────────────┴──────────────▶  verdict: GREEN
                               │                                              │
                        back to Build                                  review by security
                        (max 5 tries; same                             + code-review, both
                         error 3× → STOP &                             must approve, then
                         escalate to you)                              the delivery gate
  

In live testing this caught 2 SSRF holes and a concurrency race that all passed the builder's own green tests. Separating who writes from who approves is the whole point.

실제 테스트에서 이 구조가 구현자의 green 테스트를 모두 통과한 SSRF 취약점 2건과 동시성 레이스 1건을 잡아냈습니다. 누가 작성하느냐와 누가 승인하느냐를 분리하는 것이 핵심입니다. (다이어그램은 정렬 유지를 위해 영어로 표기.)

The approval and delivery gates: scripts the agent can't fake승인 및 딜리버리 게이트: 에이전트가 위조할 수 없는 스크립트

human-feedback-gate.mjs runs before Build or Fix. It requires plan.md to include ### Plain-language brief at the top, ### Technical brief below it, term definitions, and state.json.approval for the target phase.

human-feedback-gate.mjs는 Build 또는 Fix 전에 실행됩니다. plan.md 안에 위쪽 평문 브리프, 아래쪽 기술 브리프, 용어 정의가 있어야 하고 state.json.approval이 대상 단계를 승인해야 합니다.

delivery-gate.sh is a plain shell script the agent is forbidden to edit. It exits 0 only when, in order: (1) the required files exist (brief.md, plan.md, verification.md); (2) verification.md says verdict: GREEN with no leftover verdict: RED; (3) for a new app, the Decision: is GO; (4) the project's own tests pass right here in the workspace. Nothing is called "done" until that exit-0 output is shown as proof.

delivery-gate.sh는 에이전트가 편집할 수 없는 평범한 셸 스크립트입니다. 다음을 순서대로 만족할 때만 exit 0이 됩니다: (1) 필수 파일 존재(brief.md, plan.md, verification.md); (2) verification.mdverdict: GREEN이고 남은 verdict: RED가 없음; (3) 새 앱이라면 Decision:GO; (4) 프로젝트 자체 테스트가 바로 이 워크스페이스에서 통과. 이 exit 0 출력이 증거로 제시되기 전까지는 무엇도 "완료"라 부르지 않습니다.

The vault: the one shared file store볼트: 단 하나의 공유 파일 저장소

Each phase is a fresh context, so a single folder docs/changelog/<date-slug>/ (committed as the run's changelog) is the only hand-off, just six files. Two rules keep it honest: claims are untrusted (only the Verifier marks a verdict, by re-running the proof) and frozen files stay frozen (the plan can't drift mid-build; it's hashed and re-checked). On a re-run, state.json resumes where it left off.

각 단계는 새 컨텍스트라서, 단 하나의 폴더 docs/changelog/<date-slug>/(실행의 체인지로그로 커밋됨)가 유일한 인계 수단입니다. 파일 여섯 개뿐. 두 규칙이 정직성을 지킵니다: 주장은 신뢰하지 않음(검증자만이 증명을 재실행해 판정을 매김), 고정된 파일은 고정된 채로(계획은 빌드 도중 변하지 않음. 해시로 재확인). 재실행 시 state.json이 멈춘 지점부터 이어갑니다.

File파일 Written by작성자 Holds내용
README.mdanyrun narrative + decisions, hypotheses, escalations: the audit log & folder index
README.md모두실행 서사 + 결정·가설·에스컬레이션: 감사 로그이자 폴더 인덱스
brief.mdAnalystgoal, audience, acceptance criteria + a ## Validation section ending in Decision: GO/NO-GO (greenfield)
brief.md분석가목표·대상·인수 기준 + Decision: GO/NO-GO로 끝나는 ## Validation 섹션(그린필드)
plan.mdArchitectfrozen plan (+ architecture & contracts), or the DEBUG fix plan, plus the Human Feedback packet
plan.md아키텍트고정된 계획(+ 아키텍처·계약), DEBUG에서는 수정 계획, 그리고 Human Feedback 패킷
claims.mdBuilderappend-only, untrusted: each slice + a run-to-prove command
claims.md구현자추가 전용, 신뢰하지 않음: 각 슬라이스 + run-to-prove 명령
verification.mdVerifier + QAper-claim verdicts + a final verdict: GREEN, plus a ## QA section
verification.md검증자 + QA주장별 판정 + 최종 verdict: GREEN, 그리고 ## QA 섹션
state.jsondirectormode, phase, cycle counters, plan hash, approval, resume point
state.json디렉터모드·단계·사이클 카운터·계획 해시·승인·재개 지점

Expert roster전문가 구성

Each role maps to an existing Claude Code agent type, runs on a model tier matched to the difficulty of the task, and reads only the part of the vault it needs. A reviewer never inherits the coder's assumptions.

각 역할은 기존 Claude Code 에이전트 타입에 대응되고, 작업 난이도에 맞춘 모델 티어에서 돌며, 볼트에서 필요한 부분만 읽습니다. 리뷰어가 코더의 가정을 물려받는 일이 없습니다.

Role역할 Agent type에이전트 타입 Tier티어 Job하는 일
AnalystanalystOpusintake + demand validation
분석가analystOpus인테이크 + 수요 검증
ArchitectarchitectOpusplan, codebase map, contracts
아키텍트architectOpus계획·코드베이스 맵·계약
BuilderexecutorSonnet*implement a slice + write a claim
구현자executorSonnet*슬라이스 구현 + 주장 작성
Designer†designerSonnetUI/UX jobs, built to taste-skill v2 rules
디자이너†designerSonnetUI/UX 작업, taste-skill v2 규칙대로 구현
Verifierverifier / criticOpusadversarially re-run every claim
검증자verifier / criticOpus모든 주장을 적대적으로 재실행
Committeesecurity-reviewer · code-reviewerSonnetindependent review before Deliver
심사위원단security-reviewer · code-reviewerSonnetDeliver 전 독립 리뷰
QAqa-testerSonnetblack-box exercise the running app
QAqa-testerSonnet실행 중인 앱을 블랙박스로 점검
Debuggerdebugger / tracerOpusreproduce + find the root cause
디버거debugger / tracerOpus재현 + 근본 원인 추적

*Opus when the slice is new or algorithm-heavy. †Designer joins only on jobs that ship visual UI. It builds against the vendored taste-skill v2 design authority, and QA adds a pre-flight design check. It never self-approves: the adversarial Verify and committee still gate Deliver.

*새롭거나 알고리즘이 무거운 슬라이스에는 Opus. †디자이너는 시각적 UI를 출시하는 작업에만 합류합니다. 내장된 taste-skill v2 디자인 권위를 기준으로 구현하고, QA에 사전 점검 게이트가 추가됩니다. 스스로 승인하지 않습니다: 적대적 Verify와 위원회가 여전히 Deliver를 통제합니다.

The non-negotiable gates타협 불가 게이트

The spine: never weakened, never skipped. Three are literal scripts the agent can't edit to pass: validate-gate.sh, human-feedback-gate.mjs, and delivery-gate.sh.

이 스킬의 척추: 절대 약화되지도, 건너뛰어지지도 않습니다. 그중 셋은 에이전트가 통과시키려고 편집할 수 없는 리터럴 스크립트입니다: validate-gate.sh, human-feedback-gate.mjs, delivery-gate.sh.

1 Validate before buildFor a new app, validate-gate.sh must confirm a Decision: GO (real demand + a scoped MVP) before Build opens. 구현 전 검증새 앱이라면 Build가 열리기 전에 validate-gate.shDecision: GO(실제 수요 + 범위가 정해진 MVP)를 확인해야 합니다.
2 Plan freezes scopeWritten once, then hashed and re-checked; Build implements it and can't quietly redesign mid-flight. 계획이 범위를 고정한 번 작성한 뒤 해시로 재확인합니다. Build는 그대로 구현할 뿐, 도중에 몰래 재설계할 수 없습니다.
3 Human Feedback approvalBefore Build/Fix, the human sees a plain brief first and a novice-dev technical brief below it, then explicitly approves or sends it back. Human Feedback 승인Build/Fix 전에 먼저 쉬운 설명을 보고, 아래에서 초보 개발자용 기술 브리프를 본 뒤 명시적으로 승인하거나 돌려보냅니다.
4 Builder ≠ VerifierA fresh, separate agent re-runs every claim from a clean state. claims.md is untrusted. 구현자 ≠ 검증자별도의 새 에이전트가 모든 주장을 깨끗한 상태에서 재실행합니다. claims.md는 신뢰하지 않습니다.
5 Committee reviewsecurity + code-review run in parallel before Deliver; all must approve. 위원회 리뷰Deliver 전에 보안 + 코드리뷰가 병렬로 돌고, 전원이 승인해야 합니다.
6 Literal delivery gatedelivery-gate.sh exits 0 (the project's own tests pass, re-run from a clean state), or it isn't done. 리터럴 딜리버리 게이트delivery-gate.sh가 exit 0 (프로젝트 자체 테스트가 깨끗한 상태에서 재실행되어 통과), 아니면 완료가 아닙니다.
7 Bounded retryThe same error 3× trips circuit-breaker.mjs → stop, root-cause, escalate to you. No infinite loops. 제한된 재시도같은 오류가 3번이면 circuit-breaker.mjs가 작동 → 멈추고 근본 원인을 찾아 당신에게 보고합니다. 무한 루프 없음.

Proof it works동작 증명

All three code-writing modes were run end-to-end on one real, zero-dependency service (68 tests). The adversarial check caught a real defect in 2 of 3 runs: bugs that passed the builder's own green tests. The full audit trail ships in examples/url-shortener/docs/changelog/.

코드를 쓰는 세 모드 모두 실제 무의존성 서비스 하나(테스트 68개)에서 엔드투엔드로 돌렸습니다. 적대적 검증이 3번 중 2번에서 진짜 결함을 잡아냈습니다. 구현자 자신의 green 테스트를 통과한 버그들입니다. 전체 감사 기록은 examples/url-shortener/docs/changelog/에 함께 담겨 있습니다.

GREENFIELD 2 real SSRF holes + an unauth 500 caught by the verifier. All passed the builder's 43 green tests. Fixed before shipping. 진짜 SSRF 취약점 2건 + 인증 없는 500 오류를 검증자가 포착. 모두 구현자의 green 테스트 43개를 통과한 것들. 출시 전 수정 완료.
DEBUG Given only a symptom, reproduced a lost-update race (200 hits → counted 1), found the cause, fixed it, re-verified 0 lost across repeated runs. 증상만 주어진 상태에서 lost-update 레이스(조회 200회 → 1회로 집계)를 재현하고, 원인을 찾아 고친 뒤, 반복 실행에서 0건 손실로 재검증.
LEGACY Added link-expiry (TTL) with zero regressions. Still works with records saved before the field existed. Review-approved, gate-green. 링크 만료(TTL)를 회귀 0건으로 추가. 필드가 생기기 전에 저장된 레코드와도 여전히 동작. 리뷰 승인, 게이트 green.
BENCHMARK Private-codebase comparison: /supergoal was the only arm to pass every hidden check against plain Codex CLI and Codex Goal mode. Read the evidence report. 비공개 코드베이스 비교: plain Codex CLI와 Codex Goal mode 대비 /supergoal만 모든 hidden check를 통과했습니다. 증거 리포트 보기.
UI/UX On a visual landing-page objective, the UI/UX overlay's adversarial QA caught a WCAG contrast fail + missing dark/light handling before delivery, then fixed both to GREEN. See the live page · verification report. 시각적 랜딩 페이지 목표에서 UI/UX 오버레이의 적대적 QA가 WCAG 대비 미달 + 다크/라이트 모드 누락을 출시 전에 포착하고, 둘 다 GREEN까지 수정했습니다. 라이브 페이지 보기 · 검증 리포트.