| name | think |
| description | 아이디어 구체화 — 기술, 사업, 개선 상황별 인터뷰 + 다관점 검증 |
| argument-hint | ["idea description"] |
Think
모호한 아이디어를 명확한 스펙으로 변환한다. 상황(기술/사업/개선)을 자동 감지하여 적절한 인터뷰 전략을 선택하고, 3관점 서브에이전트 검증을 거친다.
언제 사용
- 기술적 아이디어가 모호할 때
- 사업 아이디어를 검증하고 싶을 때
- 기존 코드 개선/리팩터 방향을 잡을 때
- "뭘 만들어야 하는지"가 불분명할 때
사용하지 말 것
- 이미 명확한 요구사항 →
/ina:plan
- 외부 조사가 필요할 때 →
/ina:research
- 처음부터 끝까지 자동 →
/ina:autopilot
ina 연동
ina 데몬에 의해 실행된 경우:
- 매 라운드:
ina_report_progress(in_progress="인터뷰 R{n}, 모호성 {score}%")
- 다관점 검증:
ina_report_progress(in_progress="다관점 검증 (시도 N/3)")
- 스펙 결정화:
ina_report_progress(in_progress="스펙 결정화", completed="인터뷰 + 검증")
전체 흐름
Phase 0: 분류 (기술 / 사업 / 개선 자동 감지)
Phase 1: 인터뷰 (모드별 다른 질문 전략)
Phase 2: 다관점 검증 (Architect + Critic + CEO 병렬)
Phase 3: 스펙 확정 + 저장
Phase 0: 분류
사용자 입력을 분석하여 모드를 자동 선택:
| 시그널 | 모드 | 전략 |
|---|
| "스타트업", "사업", "제품", "수익", 시장 관련 키워드 | business | 6 Forcing Questions |
| 기존 코드 존재 + "개선", "리팩터", "성능", "정리" | improve | 코드 분석 → 개선 스펙 |
| 그 외 (기능 요청, 새 모듈 등) | technical | 소크라틱 인터뷰 |
감지 결과를 사용자에게 확인: "{모드} 모드로 진행합니다. 맞나요?"
Phase 1: 인터뷰
technical 모드 (소크라틱 인터뷰)
프로젝트 감지: 기존 코드가 있으면 brownfield, 없으면 greenfield.
brownfield이면 관련 코드를 먼저 탐색하여 컨텍스트 확보.
매 라운드:
- 가장 약한 차원을 타겟팅하여 질문 생성 (한 번에 한 질문)
- 답변 후 모호성 점수 계산
- 온톨로지 추출: 핵심 엔티티와 관계 식별
차원별 점수 (0.0~1.0):
| 차원 | 가중치(greenfield) | 가중치(brownfield) |
|---|
| Goal Clarity | 40% | 35% |
| Constraint Clarity | 30% | 25% |
| Success Criteria | 30% | 25% |
| Context Clarity | N/A | 15% |
모호성 = 1 - (가중 합계). 목표: ≤ 20%
Challenge 모드 (인터뷰가 길어지면 관점 전환):
- Round 4+: Contrarian — "반대가 참이라면?"
- Round 6+: Simplifier — "가장 단순한 버전은?"
- Round 8+: Ontologist — 모호성 > 30%일 때, 본질 탐색
business 모드 (6 Forcing Questions)
제품 단계 감지:
- pre-product: 모든 질문 수행
- has-users: Q1 간소화 (행동 증거에 집중)
- paying: Q1 간소화 + Q4 스킵
6 Forcing Questions (한 번에 하나):
- 수요 현실: "누군가가 이걸 원한다는 가장 강력한 증거는? 관심이 아니라 행동이나 돈."
- 현재 상태: "사용자들이 지금 이 문제를 어떻게 (나쁘게) 해결하고 있나요?"
- 절박한 구체성: "이게 가장 필요한 사람의 이름을 대세요. 직함은?"
- 최소 쐐기: "이번 주에 누군가가 돈을 내고 살 가장 작은 버전은?"
- 관찰과 놀라움: "누군가 이걸 사용하는 걸 봤나요? 뭐가 놀라웠나요?"
- 미래 적합성: "3년 후 이 제품은 더 필수적이 될까요, 덜 될까요?"
Pushback 패턴: 모호한 답변에는 반드시 반박.
- "많은 사람들이 원해요" → "그 중 돈을 낸 사람은?"
규칙: 절대 아첨하지 않는다. 입장을 취한다. 증거를 요구한다.
improve 모드 (코드 분석 → 개선 스펙)
- 관련 코드 탐색 (Glob/Grep로 현재 구현 파악)
- 아키텍처/성능/가독성 관점에서 현 상태 분석
- 사용자에게 개선 방향 확인 (한 번에 한 질문):
- "현재 가장 큰 문제는 무엇인가요?"
- "개선 후 기대하는 결과는?"
- "변경하면 안 되는 부분은?"
- 분석 결과 + 사용자 답변으로 개선 스펙 작성
Phase 2: 다관점 검증
인터뷰 완료 후 (모호성 ≤ 20% 또는 사용자 조기 종료), 3개 Agent를 하나의 메시지에서 병렬로 실행:
Agent 1 — Architect (아키텍처 타당성)
프롬프트: "다음 스펙을 아키텍처 관점에서 리뷰하세요.
스펙: {spec_content}
프로젝트 컨텍스트: {CLAUDE.md 발췌}
필수:
- steelman antithesis 1개 (이 설계에 대한 가장 강력한 반론)
- 실패 모드 2개 이상
- 트레이드오프 텐션 1개 이상
판정: APPROVED / ITERATE (구체적 수정 요청 포함)"
Agent 2 — Critic (프로세스 규율)
프롬프트: "다음 스펙을 프로세스 품질 관점에서 리뷰하세요.
스펙: {spec_content}
필수:
- 수락 기준이 테스트 가능한가?
- 빠진 품질 게이트는 없는가?
- 에이전트가 스킵할 수 있는 합리화 예측 (반합리화 분석)
판정: APPROVED / ITERATE (구체적 수정 요청 포함)"
Agent 3 — CEO (전략적 판단)
프롬프트: "다음 스펙을 전략 관점에서 리뷰하세요.
스펙: {spec_content}
필수:
- 스코프 적절성 (EXPANSION / SELECTIVE / HOLD / REDUCTION)
- 10-star 버전 vs 현재 제안 위치
- 빠진 것 / 불필요한 것
판정: APPROVED / ITERATE (구체적 수정 요청 포함)"
결과 처리:
- 3명 모두 APPROVED → Phase 3
- ITERATE 있으면 → 피드백 반영하여 스펙 수정 후 재검증 (최대 3회)
- 3회 초과: 현재 상태로 사용자에게 제시 + 판단 위임
Phase 3: 스펙 확정
섹션별 승인 게이트 — 각 섹션을 사용자에게 제시하고 승인/수정:
- Goal → 사용자 승인
- Constraints + Non-Goals → 사용자 승인
- Acceptance Criteria → 사용자 승인
- 온톨로지 / 페르소나 (모드별) → 사용자 승인
- 다관점 검증 결과 요약 → 사용자 확인
전체 승인 후 스펙 문서를 .ina/specs/{YYYYMMDD-HHMM}-think-{slug}.md에 저장.
실행 브릿지
스펙 완성 후 사용자에게 다음 단계를 제안한다. autopilot은 --dangerously-skip-permissions로 무인 실행되므로 반드시 고지.
사용자에게 제시:
나머지(plan → build → commit)를 autopilot으로 자동 진행할 수 있습니다.
⚠️ autopilot 에이전트는 권한 확인 없이 자동 실행됩니다.
A. 이 세션에서 바로 실행 (이 세션은 종료됩니다)
B. 터미널에서 직접 실행
C. 수동으로 진행 (/ina:plan → /ina:build)
A 선택 시:
ina launch . "/ina:autopilot {spec_absolute_path}" 를 Bash로 실행 — spec 경로는 반드시 절대 경로($PWD/.ina/specs/...)
- 실행 확인 후 사용자에게 세션 종료 안내: "에이전트가 시작되었습니다.
ina status로 진행 상황을 확인하세요."
B 선택 시: 명령어만 안내
ina launch . "/ina:autopilot {spec_absolute_path}"
C 선택 시: /ina:plan 안내
소프트 리밋
- Round 3+: 조기 종료 허용 (모호성 경고와 함께)
- Round 10: "10라운드 도달. 계속할까요?"
- Round 20: 하드 캡 — 현재 상태로 스펙 생성
입출력
- 입력: 자연어 아이디어 설명
- 출력:
.ina/specs/{YYYYMMDD-HHMM}-think-{slug}.md