문서 목차
이 페이지에서목차

/cc-spec:seed — 흔들리지 않는 "핵심 명세" 굳히기

한 문단 요청(또는 `docs/discovery-*.md`)에서 흔들리지 않는 핵심 명세 `docs/seed-spec-{slug}.md`(DRAFT) 와 결정 기록을 만듭니다 — 숨은 가정을 한 차례 확인해 S5 를 채우고 기계 검사(M-01~M-10)까지만 자체 점검합니다. 판정·잠금은 /cc-spec:verify 가 합니다.

항목내용
실행 명령/cc-spec:seed
분류스펙 명확화
난이도●●○ 보통

무엇을 만들지에 대한 한 문단 요청을, 함부로 바꾸지 않는 제품의 "변하지 않는 뼈대(Seed 명세)" 한 장으로 정리합니다.

한마디로#

요청을 나중에 흔들리지 않는 "핵심 약속" 한 장으로 굳히는 단계입니다. 건물로 치면, 인테리어는 바꿔도 되지만 절대 못 옮기는 "기둥과 골조"를 먼저 박아두는 일과 같아요. 예전처럼 다섯 단계 인터뷰를 거치지 않습니다 — 숨은 가정은 한 번의 확인 표로 끄집어내고, "충분히 명확한가"의 판정은 이 명령이 하지 않고 다음 명령(/cc-spec:verify)에서 별도의 판정 모델(Jev) 이 합니다.

누가·언제 쓰나요#

  • 만들 방향은 정해졌는데 "정확히 무엇을, 어디까지" 만들지 아직 글로 못 박지 않은 경우
  • "이건 절대 바뀌면 안 된다"는 핵심 문제·제약을 문서로 남기고 싶을 때
  • 파이프라인에서는 조사(Discovery)를 끝낸 직후, 기획(Planning)에 들어가기 전

👉 먼저 필요한 것: 한 문단짜리 요청 문장 하나면 됩니다. docs/discovery-*.md 가 있으면 그것을 읽어 출발합니다.

무엇을 해주나요#

파일 두 개가 만들어집니다.

  • docs/seed-spec-{프로젝트이름}.md — 핵심 명세(처음엔 초안/DRAFT 상태). 핵심 문제, 절대 바꾸면 안 되는 제약, 핵심 개념, 합격 기준(AC-01, AC-02 …), 드러난 가정이 정리됩니다.
  • docs/decision-log-{프로젝트이름}.md — 앞으로의 결정들을 기록할 "의사결정 일지"의 시작점

여기서 만든 명세는 아직 "초안"입니다. 판정(/cc-spec:verify)을 통과해야 "잠금(LOCKED)"됩니다.

어떻게 쓰나요#

/cc-spec:seed "독자가 같은 책을 읽는 사람과 대화를 시작할 수 있는 커뮤니티"
/cc-spec:seed --from docs/discovery-community.md   # 조사 문서에서 출발
/cc-spec:seed --slug community                     # 프로젝트 식별 이름 직접 지정

--from 을 생략하면 인자 문장을, 그것도 없으면 한 문단 요청을 물어봅니다. --slug 을 생략하면 요청에서 프로젝트 이름을 자동으로 뽑아냅니다.

안에서 무슨 일이 벌어지나요#

크게 다섯 단계로 진행됩니다.

  1. 입력 정하기 — 인자 문장 / --from 문서 / 질문, 셋 중 하나로 출발점을 잡습니다.
  2. 가정 확인 (한 번) — 그 요청이 당연하게 깔고 있는 전제를 3개 이상 표로 보여 주고, 맞다/아니다/이렇게 고쳐 달라를 한 번에 받습니다. 꼬리 질문을 이어 가지 않습니다.
  3. 초안 만들기 — 정해진 양식에 맞춰 핵심 문제(한 문장), 불변 제약(C-01…), 핵심 개념, 합격 기준(AC-01… Must/Must-Not/May), 확인된 가정(A-01…), 변경 이력(v1.0.0)을 채웁니다.
  4. 자체 점검(무료) — 빠진 칸이 없는지 기계 검사 10항목(M-01~M-10)을 스크립트로 돌려 봅니다. 판정 모델은 부르지 않습니다.
  5. 검토·저장 — 초안을 보여 드리고 항목별 의견을 반영한 뒤 DRAFT 로 저장하고 결정 기록 파일을 만듭니다.

다음은 /cc-spec:verify 입니다 — 여기서 Jev 가 모호성·패널 판정을 내리고, 통과하면 잠급니다.


⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)

Usage#

/cc-spec:seed "{one-paragraph request}"
/cc-spec:seed --from {discovery-file}   # start from docs/discovery-*.md (or any brief)
/cc-spec:seed --slug {project-slug}

Parameters#

ParameterDescriptionDefault
{request}One-paragraph statement of what to buildasked interactively if absent
--fromBrief / discovery document pathlatest docs/discovery-*.md if present
--slugProject slugderived from the request

Execution Flow#

1. Resolve Input#

  • Priority: positional request → --from file → latest docs/discovery-*.md → ask the user for one paragraph.
  • If docs/seed-spec-{slug}.md already exists, confirm whether to overwrite (DRAFT) or stop (LOCKED → suggest /cc-spec:evolve).

2. Assumption Pass (exactly one round)#

  • Extract ≥ 3 implicit assumptions (technical / business / user) from the input and present them as a table: | ID | Assumption | Type | Confirm? |
  • Collect the user's answers once (confirm / deny / rephrase). Denied assumptions become S4 Must-Not candidates or S2 constraints; confirmed ones fill S5 with Unverified + a verification method.
  • Do not recurse into follow-up levels. config/thresholds.yaml seed_spec.min_assumptions (3) is the floor because M-08 requires it.

3. Generate Seed Spec Draft#

From config/templates/seed-spec.md:

  • S1 Core Problem: one sentence, no assumptions, user/business outcome
  • S2 Immutable Constraints: C-NN + rationale + Type (Technical/Business/Legal)
  • S3 Domain Entities: ### Name with Attributes / Relationships / Invariants — all three lines present
  • S4 Acceptance Boundaries: one flat table, AC-NN, Type ∈ Must/Must-Not/May, Status PENDING; at least one Must and one Must-Not
  • S5 Exposed Assumptions: the confirmed assumptions (A-NN)
  • S6 Evolution Log: v1.0.0 row
  • Metadata: Ambiguity Score: Not evaluated, Gate: NOT-EVALUATED

4. Self-check (no Jev call)#

python3 "${CLAUDE_PLUGIN_ROOT}/skills/jev-gate/scripts/jev_judge.py" check docs/seed-spec-{slug}.md
  • exit 0 → continue. exit 2 → fill the failed items (the JSON lists id, item, detail) and re-run.
  • This is structural only. It says nothing about clarity — that is /cc-spec:verify's job.

5. User Review + Save#

  • Present the draft, collect per-section feedback, apply revisions.
  • Save docs/seed-spec-{slug}.md (Status: DRAFT) and initialize docs/decision-log-{slug}.md from config/templates/decision-log.md with D-001 = "Seed authoring" recording the assumption-pass outcome.

Output#

FilePath
Seed Spec (DRAFT)docs/seed-spec-{slug}.md
Decision Logdocs/decision-log-{slug}.md

Next Steps#

  1. /cc-spec:verify — Jev gate (mechanical + ambiguity + panel); --lock on PASS
  2. /cc-spec:status --against … — after locking, drift checks of real work
  • /cc-spec:verify — Jev judgment gate + lock
  • /cc-spec:evolve — evolve a LOCKED seed

References#

  • references/SEED_SPEC_SCHEMA.md — schema + how it is serialized for Jev
  • config/templates/seed-spec.md — template
  • skills/seed-spec/SKILL.md — lifecycle rules

검색어를 입력하면 문서를 찾습니다.

↑ ↓ 이동 · Enter 열기Esc 닫기