| name | handoff |
| description | Export an approved Build Gate brief to the downstream coding ecosystem you actually use โ Spec-Kit (specs/NNN-slug/{spec,plan,tasks}.md), Kiro (.kiro/specs/<slug>/{requirements,design,tasks}.md), GStack (/office-hours brief), or Claude Code (AGENTS.md + CLAUDE.md). Use when Evidence + Product + Build Gate have all been approved and you're ready to start implementation in your coding agent of choice. |
| argument-hint | [brief.json] [--target spec-kit|kiro|gstack|claude|all] |
| allowed-tools | ["Read","Write","Bash"] |
| model | inherit |
Handoff โ Build Gate โ Downstream Coding Ecosystem
Running for: $ARGUMENTS
Core Goal
- hplan์ ๋จ๋
๋๊ตฌ๊ฐ ์๋๋ผ ์ ์ฒ๋ฆฌ๊ธฐ. Build Gate๊ฐ ํต๊ณผํ๋ฉด ๊ฒฐ๊ณผ๋ฌผ์ spec-kit / kiro / gstack / claude code ์ด๋ ๊ณณ์ผ๋ก๋ export.
- ๋จ์ผ brief JSON โ 4๊ฐ ์ํ๊ณ ๋์ export ๊ฐ๋ฅ (
--target all).
- ๊ฐ ์ํ๊ณ์ ๋ค์ดํฐ๋ธ ์ปจ๋ฒค์
(spec-kit์
specs/NNN-slug/, Kiro์ .kiro/specs/) ๊ทธ๋๋ก ๋ฐ๋ฆ.
Trigger Gate
Use This Skill When
- Evidence + Product + Build Gate ๋ชจ๋ approved
- COGS sentinel GREEN ๋๋ CONDITIONAL_GO with mitigations
- ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก "์ด์ Spec-Kit์ผ๋ก ๊ฐ์" / "Kiro์์ ๊ตฌํ" / "GStack /office-hours๋ก"
- ํ ์ ์ฒด onboarding โ AGENTS.md + CLAUDE.md๋ฅผ ์ repo์ ๋ฐ์ ๋
Route to Other Skills When
- Build Gate ๋ฏธํต๊ณผ โ ๊ฑฐ๊พธ๋ก ๊ฐ์
cogs-sentinel, decision-log ํ์ธ
- Export ํ spec-kit/kiro ์์์์ ๊ฐ๋ณ task ๋ถํด โ ๊ฐ ์ํ๊ณ native tool
- Export ํ PRD shape ์ ๊ตํ โ
deliver/prd
Boundary Checks
- โ
hooks/gate_guard.py๊ฐ ํ์ฑํ๋ ํ๋ก์ ํธ์์ Build Gate ๋ฏธ์น์ธ โ handoff ํธ์ถ ์ฐจ๋จ (์๋๋ ๋์).
- โ ๋จ์ผ target๋ง ์ง์ ํด๋ ๋ค๋ฅธ target์ ์ํฅ ๋ฐ์ง ์์ (idempotent per target).
Inputs
python3 hplan/scripts/export_handoff.py brief.json --target all --root .
{
"product_name": "SocialDraft",
"problem": "1์ธ ๋ง์ผํฐ๊ฐ SNS ๊ฒ์๊ธ๋น 30-45๋ถ์ ์ฐ๋๋ฐ ์บ ํ์ธ ๋ฐ๋๋ผ์ธ์ ์์ฃผ ๋์น๋ค",
"icp": "์ฃผ 10๊ฑด+ SNS ์ฝํ
์ธ ์ง์ ์์ฑํ๋ 1์ธ ๋ง์ผํฐ (ํ์ฌ ๋ฒ์ฉ AI ์ฑ๋ด ์๋ ์ฌ์ฉ)",
"jtbd": "When ๋ฏธํ
๋๋์๋ง์, I want ์ก์
+ ๋ฉ์ผ, so I can ๊ฐ์ ๋ ๋ต์ ",
"functional_requirements": [...],
"acceptance_criteria": [...],
"cogs_ceiling": "$2.70/paid user/month",
"latency_budget": "p95 < 90์ด",
"counter_position": "๋ฒ์ฉ AI ์ฑ๋ด์ ๋จ๋ฐ์ฑ ๋ต๋ณ, SocialDraft๋ ๋ธ๋๋ ํค ํ์ต + 5๊ฐ ๋์ ์์ฑ",
"not_build": ["์ผ๋ฐ ์์ฑ ๋ฐ์์ฐ๊ธฐ", "CRM first-class"],
"mvp_slice": "Zoom ์ข
๋ฃ โ 1๋ถ ์์ ์ก์
+ ๋ฉ์ผ",
"decision": "build"
}
Steps
- Confirm Build Gate decision is
build or CONDITIONAL_GO in decision-log.
- Confirm
cogs-sentinel result is GREEN (or CONDITIONAL_GO with mitigations).
- Run
export_handoff.py <brief.json> --target <target>.
- Verify generated files at
harness/exports/<target>/.
- Copy or symlink to actual project directory (spec-kit at repo root, kiro at
.kiro/, etc.).
Outputs
| Target | Path |
|---|
| spec-kit | harness/exports/spec-kit/specs/NNN-slug/{spec,plan,tasks}.md |
| kiro | harness/exports/kiro/.kiro/specs/<slug>/{requirements,design,tasks}.md |
| gstack | harness/exports/gstack/office-hours-brief.md |
| claude | harness/exports/claude/AGENTS.md + CLAUDE.md |
Verification