/cc-spec:challenge — 일부러 트집 잡아 보는 "악마의 변호인"#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-spec:challenge |
| 분류 | 스펙 명확화 |
| 난이도 | ●●○ 보통 |
한마디로#
확정한 기획안에 일부러 딴지를 거는 단계입니다. "이 조건이 사라지면? 사용자가 10배로 늘면? 이 기능을 빼면 안 될까?"처럼 까칠한 질문을 던져, 약한 부분을 미리 찾아냅니다. 회의에서 모두가 찬성할 때 일부러 반대 의견을 내주는 사람(악마의 변호인)과 같은 역할이에요.
누가·언제 쓰나요#
- 기획안(Seed spec)을 확정했는데, 그대로 진행해도 정말 괜찮은지 한 번 더 검증하고 싶을 때
- "혹시 우리가 놓친 위험이나 잘못된 가정이 없을까?" 점검하고 싶을 때
👉 보통 단순화 점검(/cc-spec:simplify)과 함께 돌려, 기획안을 양쪽 방향에서 두드려 봅니다.
무엇을 해주나요#
기획안의 결정들을 조목조목 따져 본 뒤, Contrarian 리뷰 리포트를 만들어 줍니다.
- 각 도전(질문)을 위험도별로 분류 — Critical(프로젝트 자체가 흔들릴 수 있음) / Major(핵심 기능에 영향) / Minor(부분 영향)
- 사용자의 답변을 받아 해결됨 / 미해결 / 수용으로 정리
- 주요 도전과 답변은 기획안(Seed spec)의 결정 기록(decision log)에 남깁니다
어떻게 쓰나요#
/cc-spec:challenge # 가장 최근 기획안(Seed spec)을 대상으로
/cc-spec:challenge --file {path} # 특정 파일을 지정해서
/cc-spec:challenge --focus {section} # 특정 섹션에만 집중해서
--file: 검토할 기획안 파일을 직접 지정 (생략하면 가장 최근docs/seed-spec-*.md)-
--focus: 집중할 섹션 지정 —constraints(제약),entities(핵심 요소),boundaries(경계) 등 (생략하면 전체)
안에서 무슨 일이 벌어지나요#
- 기획안 불러오기 — 대상 파일을 읽어 섹션별로 나눕니다.
-
도전 만들기 — 네 가지 방식으로 까칠한 질문을 생성합니다.
- 가정 공격: "이 조건이 사라진다면? 반대가 사실이라면?"
- 규모 도전: "사용자 10배, 데이터 100배, 동시 요청 1000배라면?"
- 제거 테스트: "이 요소(또는 필수 기능)를 빼도 핵심 가치가 유지될까?"
- 과거 사례 도전: "비슷한 프로젝트가 흔히 실패한 이유"를 들이댑니다.
- 위험도 분류 — 각 도전을 Critical / Major / Minor로 나눕니다.
- 사용자 답변 수집 — 도전마다 답변을 받아 해결됨/미해결/수용으로 분류합니다.
- 리포트 작성 — 결과를 리포트로 저장합니다.
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Usage#
/cc-spec:challenge # Target the latest Seed spec
/cc-spec:challenge --file {path} # Target a specific file
/cc-spec:challenge --focus {section} # Focus on a specific sectionParameters#
| Parameter | Description | Default |
|---|---|---|
--file | Target Seed spec file | Latest docs/seed-spec-*.md |
--focus | Focus section (constraints, entities, boundaries) | All |
Execution Flow#
1. Load Seed Spec#
- Read target file
- Parse each section
2. Generate Challenges#
Generate challenges using 4 techniques:
Assumption Attack
- For each immutable constraint (S2): "What if this disappeared?"
- For each exposed assumption (S5): "What if the opposite were true?"
Scale Challenge
- "Users 10x", "Data 100x", "Concurrent requests 1000x"
Removal Test
- For each domain entity (S3): "Can this be solved without it?"
- For each Must item (S4): "Does the core value hold without this?"
Historical Challenge
- Present common failure causes from similar projects
3. Severity Classification#
- Critical: Could invalidate the project
- Major: Would impact key features
- Minor: Partial impact
4. Collect User Responses#
- Collect user answers/responses for each challenge
- Classify as resolved / unresolved / accepted based on responses
5. Generate Report#
- Save Contrarian review report
Output#
Report content printed to console; key challenges/responses recorded in the Seed spec's decision log.
Related Commands#
/cc-spec:simplify— Simplifier complexity reduction (can run in parallel)/cc-spec:evaluate— 3-stage integrated evaluation (results used in Stage 2b)/cc-spec:seed— Create Seed spec
References#
agents/contrarian.md— Detailed agent definition