LogoSkills

challenge:contrarian-review

Contrarian Review โ€” Assumption attack, scale challenge, removal test

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/challenge:contrarian-review
Categoryspec-clarity
Complexitymoderate

/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(๊ฒฝ๊ณ„) ๋“ฑ (์ƒ๋žตํ•˜๋ฉด ์ „์ฒด)

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

  1. ๊ธฐํš์•ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ โ€” ๋Œ€์ƒ ํŒŒ์ผ์„ ์ฝ์–ด ์„น์…˜๋ณ„๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
  2. ๋„์ „ ๋งŒ๋“ค๊ธฐ โ€” ๋„ค ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๊นŒ์น ํ•œ ์งˆ๋ฌธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ€์ • ๊ณต๊ฒฉ: "์ด ์กฐ๊ฑด์ด ์‚ฌ๋ผ์ง„๋‹ค๋ฉด? ๋ฐ˜๋Œ€๊ฐ€ ์‚ฌ์‹ค์ด๋ผ๋ฉด?"
    • ๊ทœ๋ชจ ๋„์ „: "์‚ฌ์šฉ์ž 10๋ฐฐ, ๋ฐ์ดํ„ฐ 100๋ฐฐ, ๋™์‹œ ์š”์ฒญ 1000๋ฐฐ๋ผ๋ฉด?"
    • ์ œ๊ฑฐ ํ…Œ์ŠคํŠธ: "์ด ์š”์†Œ(๋˜๋Š” ํ•„์ˆ˜ ๊ธฐ๋Šฅ)๋ฅผ ๋นผ๋„ ํ•ต์‹ฌ ๊ฐ€์น˜๊ฐ€ ์œ ์ง€๋ ๊นŒ?"
    • ๊ณผ๊ฑฐ ์‚ฌ๋ก€ ๋„์ „: "๋น„์Šทํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ”ํžˆ ์‹คํŒจํ•œ ์ด์œ "๋ฅผ ๋“ค์ด๋Œ‘๋‹ˆ๋‹ค.
  3. ์œ„ํ—˜๋„ ๋ถ„๋ฅ˜ โ€” ๊ฐ ๋„์ „์„ Critical / Major / Minor๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
  4. ์‚ฌ์šฉ์ž ๋‹ต๋ณ€ ์ˆ˜์ง‘ โ€” ๋„์ „๋งˆ๋‹ค ๋‹ต๋ณ€์„ ๋ฐ›์•„ ํ•ด๊ฒฐ๋จ/๋ฏธํ•ด๊ฒฐ/์ˆ˜์šฉ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ฆฌํฌํŠธ ์ž‘์„ฑ โ€” ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํฌํŠธ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / 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 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.

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