LogoSkills

/cc-spec:challenge — 일부러 트집 잡아 보는 "악마의 변호인"

확정한 기획안에 일부러 딴지를 걸어 Critical/Major/Minor 로 분류한 Contrarian 리뷰 리포트를 내고, 주요 도전과 답변을 Seed spec 의 결정 기록(decision log)에 남깁니다.

/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(경계) 등 (생략하면 전체)

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

  1. 기획안 불러오기 — 대상 파일을 읽어 섹션별로 나눕니다.
  2. 도전 만들기 — 네 가지 방식으로 까칠한 질문을 생성합니다.
    • 가정 공격: "이 조건이 사라진다면? 반대가 사실이라면?"
    • 규모 도전: "사용자 10배, 데이터 100배, 동시 요청 1000배라면?"
    • 제거 테스트: "이 요소(또는 필수 기능)를 빼도 핵심 가치가 유지될까?"
    • 과거 사례 도전: "비슷한 프로젝트가 흔히 실패한 이유"를 들이댑니다.
  3. 위험도 분류 — 각 도전을 Critical / Major / Minor로 나눕니다.
  4. 사용자 답변 수집 — 도전마다 답변을 받아 해결됨/미해결/수용으로 분류합니다.
  5. 리포트 작성 — 결과를 리포트로 저장합니다.

⚙️ 상세 옵션·실행 명세 (개발자 / 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 section

Parameters#

ParameterDescriptionDefault
--fileTarget Seed spec fileLatest docs/seed-spec-*.md
--focusFocus 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.

  • /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