| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /interview:deep-discovery |
| Category | spec-clarity |
| Complexity | high |
/interview:deep-discovery โ "์?"๋ฅผ 5๋ฒ ํ๊ณ ๋๋ ์ฌ์ธต ์ธํฐ๋ทฐ#
ํ๋ง๋๋ก#
ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ ์ ์ "์ฐ๋ฆฌ๊ฐ ๋น์ฐํ๊ฒ ์ฌ๊ธฐ๋ ๊ฒ๋ค์ด ์ ๋ง ๋ง๋์ง" ๊ผฌ๋ฆฌ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋ ์ง๋ฌธ์ผ๋ก ์บ๋ฌป๋ ์ธํฐ๋ทฐ์ ๋๋ค. ์์ด๋ฅผ ํค์ฐ๋ฏ "์?"๋ฅผ ๋ค์ฏ ๋ฒ ๋ฐ๋ณตํด์, ๋ฏธ์ฒ ๋งํ์ง ์์ ์จ์ ์ ์ ๋ฅผ ๋์ง์ด๋ ๋๋ค.
๋๊ฐยท์ธ์ ์ฐ๋์#
- ์ ํ๋ก์ ํธ๋ ๊ธฐ๋ฅ์ ์์ํ๊ธฐ ์ , ์ฐ๋ฆฌ๊ฐ ๋ฌด์์์ ์ผ๋ก ๊น๊ณ ์๋ ๊ฐ์ ์ ๋๋ฌ๋ด๊ณ ์ถ์ ๋
- "์ฌ์ฉ์๋ ๋น์ฐํ ์ด๊ฑธ ์ํ ๊ฑฐ์ผ" ๊ฐ์ ๊ฒ์ฆ ์ ๋ ๋ฏฟ์์ด ์ํํด ๋ณด์ผ ๋
- ๋ณธ๊ฒฉ์ ์ธ ๊ธฐํ์ ๋ค์ด๊ฐ๊ธฐ ์ , ํต์ฌ ๋ฌธ์ ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ๋๋ ทํ๊ฒ ์ ๋ฆฌํ๊ณ ์ถ์ ๋
๋ฌด์์ ํด์ฃผ๋์#
์ธํฐ๋ทฐ๊ฐ ๋๋๋ฉด docs/socratic-discovery-(ํ๋ก์ ํธ์ด๋ฆ).md ํ์ผ ํ ๊ฐ๊ฐ ๋ง๋ค์ด์ง๋๋ค. ๊ทธ ์์๋:
- ๊ฐ์ ๋ชฉ๋ก โ ์ฐ๋ฆฌ๊ฐ ๋น์ฐํ๊ฒ ์ฌ๊ฒผ๋ ์ ์ ๋ค์ ๋ชจ์ ์ ๋ฆฌ
- ๋ชจ์ ์ง๋(contradiction map) โ ์๋ก ๋์์ ์ฐธ์ผ ์ ์๋ ๊ฐ์ ๋ค์ ์ง์ด๋
- ์ ์ ๋ ๋ฌธ์ ์ ์ โ ๊ตฐ๋๋๊ธฐ ๊ฐ์ ์์ด, ํต์ฌ ๋ฌธ์ ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์์ถ
์์
์ด ๋๋๋ฉด ๋ค์ ๋จ๊ณ๋ก Seed ์คํ ๋ง๋ค๊ธฐ(/spec:seed) ๋ฅผ ์ถ์ฒํฉ๋๋ค.
์ด๋ป๊ฒ ์ฐ๋์#
/spec:interview # ์ ์ธํฐ๋ทฐ ์์
/spec:interview --resume {slug} # ์ค๋จํ๋ ์ธํฐ๋ทฐ ์ด์ด์ ์งํ
/spec:interview --depth 3 # ์ง์ ํ ๊น์ด๊น์ง๋ง ์งํ (1~5)
--resume: ์์ ์ ํ๋ ์ธํฐ๋ทฐ๋ฅผ ์ด์ด์ ํฉ๋๋ค(ํ๋ก์ ํธ ์๋ณ์ slug ์ง์ ).--depth: ์ง๋ฌธ์ ์ด๋๊น์ง ๊น๊ฒ ํ๊ณ ๋ค์ง ์ ํฉ๋๋ค(1~5, ๊ธฐ๋ณธ๊ฐ 5).--slug: ํ๋ก์ ํธ ์๋ณ์๋ฅผ ์ง์ ์ง์ ํฉ๋๋ค(๋ฏธ์ง์ ์ ํ๋ก์ ํธ ์ด๋ฆ์์ ์๋ ์์ฑ).
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
์ง๋ฌธ์ด ์ ์ ๊น์ด์ง๋ 5๋จ๊ณ๋ก ์งํ๋๊ณ , ๋ง์ง๋ง์ ํ ๋ฌธ์๋ก ์ ๋ฆฌํฉ๋๋ค.
- ํ๋ฉด(Level 1) โ "์ด ํ๋ก์ ํธ๊ฐ ํ๋ ค๋ ๋ฌธ์ ๋?", "ํต์ฌ ์ฌ์ฉ์๋ ๋๊ตฌ?", "์ฑ๊ณตํ๋ฉด ์ฌ์ฉ์์ ์ถ์ด ์ด๋ป๊ฒ ๋ฐ๋๋?" ๊ฐ์ ๊ธฐ๋ณธ ์ง๋ฌธ์ ํฉ๋๋ค.
- ๊ฐ์ (Level 2) โ ์ ๋ต๋ณ ์์ ์จ์ ์ ์ ๋ฅผ ๋์ง์ด๋ด "์ด๋ ๊ฒ ๋งํ ๊ฑด โโ์ ์ ์ ๋ก ํ ๊ฑด๋ฐ, ๋ง๋์?"๋ผ๊ณ ๋๋ฌป์ต๋๋ค(์ต์ 3๊ฐ๊น์ง).
- ๋ชจ์(Level 3) โ ๊ฐ์ ๋ค์ ์๋ก ๋ง๋ถ์ฌ "A ๊ฐ์ ๊ณผ C ๊ฐ์ ์ด ๋์์ ์ฐธ์ผ ์ ์๋์?"๋ฅผ ํ์ธํ๊ณ , ์ถฉ๋์ด ์์ผ๋ฉด ํด๊ฒฐ์ฑ ์ ๋ฌป์ต๋๋ค.
- ๊ฒฝ๊ณ(Level 4) โ ๊ฐ ๊ฐ์ ์ด ํ๋ ธ์ ๊ฒฝ์ฐ์ ์๋๋ฆฌ์ค๋ฅผ ๋ฐ์ ธ๋ด ๋๋ค. "์ด ๊ฐ์ ์ด ํ๋ฆฌ๋ฉด ํ๋ก์ ํธ์ ์ด๋ค ์ํฅ์ด? ๋์์?"
- ์๋ ด(Level 5) โ ์ง๊ธ๊น์ง ๋ ผ์๋ฅผ ๋ฐํ์ผ๋ก "๊ฐ์ ์์ด ํต์ฌ ๋ฌธ์ ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก" ์ ์ํ๊ฒ ํ๊ณ , ๋ต์ด ์ถฉ๋ถํ ๋ชจ์๋์ง(์๋ ด๋)๋ฅผ ์ ๊ฒํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๊ฐ์ ๋ชฉ๋กยท๋ชจ์ ์ง๋ยท์ ์ ๋ ๋ฌธ์ ์ ์๋ฅผ docs/socratic-discovery-(ํ๋ก์ ํธ์ด๋ฆ).md ํ ํ์ผ๋ก ํฉ์นฉ๋๋ค. ์๋ ด๋๊ฐ 0.95 ์ด์์ด๋ฉด ์ธํฐ๋ทฐ๋ฅผ ๋ง์น๊ณ Seed ์คํ ์์ฑ์ ์ ์ํ๋ฉฐ, ๊ทธ๋ณด๋ค ๋ฎ์ผ๋ฉด ๋ตํ์ง ์์ ํญ๋ชฉ์ ๋ํด ํ์ ์ง๋ฌธ์ ๋์ง๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / AI ์์ด์ ํธ์ฉ)
Usage#
/spec:interview # Start a new interview
/spec:interview --resume {slug} # Resume an existing interview
/spec:interview --depth 3 # Run up to a specific depth onlyParameters#
| Parameter | Description | Default |
|---|---|---|
--resume | Resume existing interview (slug) | None (new interview) |
--depth | Maximum question depth (1-5) | 5 |
--slug | Project slug | Auto-generated from project name |
Execution Flow#
1. Initialization#
- Check for existing interview file (
docs/socratic-discovery-{slug}.md) - If none exists, start new interview; if exists, confirm whether to resume
2. Level 1: Surface#
Ask the user sequentially:
- "What problem is this project trying to solve?"
- "Who is the core user?"
- "If this project succeeds, how does the user's life change?"
Provide interim summary upon Level 1 completion.
3. Level 2: Assumptions#
Extract implicit assumptions from Level 1 responses and confirm with the user:
- "You said '{user statement}', which presupposes {extracted assumption}. Is that correct?"
- Repeat until at least 3 assumptions are exposed
4. Level 3: Contradictions#
Cross-validate between assumptions:
- "Can assumption A-01 ('{assumption}') and A-03 ('{assumption}') both be true simultaneously?"
- Ask for resolution methods for discovered contradictions
5. Level 4: Boundaries#
Failure scenarios for each assumption:
- "If '{assumption}' turns out to be wrong, what impact does it have on the project?"
- "Are there alternatives or mitigation approaches?"
6. Level 5: Convergence#
Final refinement:
- "Based on our discussion so far, please define the core problem in one sentence without any assumptions."
- Check convergence (unanswered questions / total questions)
7. Report Generation#
- Generate
docs/socratic-discovery-{slug}.md - Include assumption list, contradiction map, refined problem definition
Convergence Assessment#
convergence = answered questions / generated questions= 0.95: Interview complete โ Suggest Seed spec creation
- < 0.95: Follow-up questions on unanswered items
Output#
| File | Path |
|---|---|
| Interview Report | docs/socratic-discovery-{slug}.md |
Next Steps#
After interview completion โ Create Seed spec with /spec:seed
Related Commands#
/spec:seedโ Create Seed spec/spec:ambiguityโ Calculate ambiguity score
References#
agents/socratic-interviewer.mdโ Detailed agent definitionconfig/thresholds.yamlโ Convergence thresholds