| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /challenge:contrarian-review |
| Category | spec-clarity |
| Complexity | moderate |
/spec:challenge โ ์ผ๋ถ๋ฌ ํธ์ง ์ก์ ๋ณด๋ "์ ๋ง์ ๋ณํธ์ธ"#
ํ๋ง๋๋ก#
ํ์ ํ ๊ธฐํ์์ ์ผ๋ถ๋ฌ ๋ด์ง๋ฅผ ๊ฑฐ๋ ๋จ๊ณ์ ๋๋ค. "์ด ์กฐ๊ฑด์ด ์ฌ๋ผ์ง๋ฉด? ์ฌ์ฉ์๊ฐ 10๋ฐฐ๋ก ๋๋ฉด? ์ด ๊ธฐ๋ฅ์ ๋นผ๋ฉด ์ ๋ ๊น?"์ฒ๋ผ ๊น์น ํ ์ง๋ฌธ์ ๋์ ธ, ์ฝํ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ์ฐพ์๋ ๋๋ค. ํ์์์ ๋ชจ๋๊ฐ ์ฐฌ์ฑํ ๋ ์ผ๋ถ๋ฌ ๋ฐ๋ ์๊ฒฌ์ ๋ด์ฃผ๋ ์ฌ๋(์ ๋ง์ ๋ณํธ์ธ)๊ณผ ๊ฐ์ ์ญํ ์ด์์.
๋๊ฐยท์ธ์ ์ฐ๋์#
- ๊ธฐํ์(Seed spec)์ ํ์ ํ๋๋ฐ, ๊ทธ๋๋ก ์งํํด๋ ์ ๋ง ๊ด์ฐฎ์์ง ํ ๋ฒ ๋ ๊ฒ์ฆํ๊ณ ์ถ์ ๋
- "ํน์ ์ฐ๋ฆฌ๊ฐ ๋์น ์ํ์ด๋ ์๋ชป๋ ๊ฐ์ ์ด ์์๊น?" ์ ๊ฒํ๊ณ ์ถ์ ๋
๐ ๋ณดํต ๋จ์ํ ์ ๊ฒ(/spec:simplify)๊ณผ ํจ๊ป ๋๋ ค, ๊ธฐํ์์ ์์ชฝ ๋ฐฉํฅ์์ ๋๋๋ ค ๋ด
๋๋ค.
๋ฌด์์ ํด์ฃผ๋์#
๊ธฐํ์์ ๊ฒฐ์ ๋ค์ ์กฐ๋ชฉ์กฐ๋ชฉ ๋ฐ์ ธ ๋ณธ ๋ค, Contrarian ๋ฆฌ๋ทฐ ๋ฆฌํฌํธ๋ฅผ ๋ง๋ค์ด ์ค๋๋ค.
- ๊ฐ ๋์ (์ง๋ฌธ)์ ์ํ๋๋ณ๋ก ๋ถ๋ฅ โ Critical(ํ๋ก์ ํธ ์์ฒด๊ฐ ํ๋ค๋ฆด ์ ์์) / Major(ํต์ฌ ๊ธฐ๋ฅ์ ์ํฅ) / Minor(๋ถ๋ถ ์ํฅ)
- ์ฌ์ฉ์์ ๋ต๋ณ์ ๋ฐ์ ํด๊ฒฐ๋จ / ๋ฏธํด๊ฒฐ / ์์ฉ์ผ๋ก ์ ๋ฆฌ
- ์ฃผ์ ๋์ ๊ณผ ๋ต๋ณ์ ๊ธฐํ์(Seed spec)์ ๊ฒฐ์ ๊ธฐ๋ก(decision log)์ ๋จ๊น๋๋ค
์ด๋ป๊ฒ ์ฐ๋์#
/spec:challenge # ๊ฐ์ฅ ์ต๊ทผ ๊ธฐํ์(Seed spec)์ ๋์์ผ๋ก
/spec:challenge --file {path} # ํน์ ํ์ผ์ ์ง์ ํด์
/spec:challenge --focus {section} # ํน์ ์น์
์๋ง ์ง์คํด์
--file: ๊ฒํ ํ ๊ธฐํ์ ํ์ผ์ ์ง์ ์ง์ (์๋ตํ๋ฉด ๊ฐ์ฅ ์ต๊ทผdocs/seed-spec-*.md)-
--focus: ์ง์คํ ์น์ ์ง์ โconstraints(์ ์ฝ),entities(ํต์ฌ ์์),boundaries(๊ฒฝ๊ณ) ๋ฑ (์๋ตํ๋ฉด ์ ์ฒด)
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
- ๊ธฐํ์ ๋ถ๋ฌ์ค๊ธฐ โ ๋์ ํ์ผ์ ์ฝ์ด ์น์ ๋ณ๋ก ๋๋๋๋ค.
-
๋์ ๋ง๋ค๊ธฐ โ ๋ค ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๊น์น ํ ์ง๋ฌธ์ ์์ฑํฉ๋๋ค.
- ๊ฐ์ ๊ณต๊ฒฉ: "์ด ์กฐ๊ฑด์ด ์ฌ๋ผ์ง๋ค๋ฉด? ๋ฐ๋๊ฐ ์ฌ์ค์ด๋ผ๋ฉด?"
- ๊ท๋ชจ ๋์ : "์ฌ์ฉ์ 10๋ฐฐ, ๋ฐ์ดํฐ 100๋ฐฐ, ๋์ ์์ฒญ 1000๋ฐฐ๋ผ๋ฉด?"
- ์ ๊ฑฐ ํ ์คํธ: "์ด ์์(๋๋ ํ์ ๊ธฐ๋ฅ)๋ฅผ ๋นผ๋ ํต์ฌ ๊ฐ์น๊ฐ ์ ์ง๋ ๊น?"
- ๊ณผ๊ฑฐ ์ฌ๋ก ๋์ : "๋น์ทํ ํ๋ก์ ํธ๊ฐ ํํ ์คํจํ ์ด์ "๋ฅผ ๋ค์ด๋๋๋ค.
- ์ํ๋ ๋ถ๋ฅ โ ๊ฐ ๋์ ์ Critical / Major / Minor๋ก ๋๋๋๋ค.
- ์ฌ์ฉ์ ๋ต๋ณ ์์ง โ ๋์ ๋ง๋ค ๋ต๋ณ์ ๋ฐ์ ํด๊ฒฐ๋จ/๋ฏธํด๊ฒฐ/์์ฉ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค.
- ๋ฆฌํฌํธ ์์ฑ โ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํฌํธ๋ก ์ ์ฅํฉ๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / AI ์์ด์ ํธ์ฉ)
Usage#
/spec:challenge # Target the latest Seed spec
/spec:challenge --file {path} # Target a specific file
/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#
/spec:simplifyโ Simplifier complexity reduction (can run in parallel)/spec:evaluateโ 3-stage integrated evaluation (results used in Stage 2b)/spec:seedโ Create Seed spec
References#
agents/contrarian.mdโ Detailed agent definition