# Socratic Question

> 어떤 결정·아이디어든 AI에게 시키기 전에, AI가 나를 먼저 심문하게 만드는 소크라테스 질문법 도구. 6 질문유형 + 소크라테스식 루프 + 3 심화질문 + CoT 판단구조로 '사고 검증 질문 세트' 1장을 만든다. Use when 정답이 하나가 아닌 판단(기획·가격·채용·투자·제품 범위 등)을 앞두고, 작은 PRD/기획서/리서치를 쓰기 전에 가정을 먼저 점검하고 싶을 때. 단순 사실 질문엔 쓰지 않음.

- Skill: `kimsanguine/socratic-question` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kimsanguine/socratic-question`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kimsanguine/socratic-question/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: kimsanguine (https://skillmd.com/u/kimsanguine)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kimsanguine/socratic-question

---


## Core Goal

AI에게 답을 **맡기기 전에**, AI가 나에게 **더 좋은 질문을 먼저 하게** 만든다.

1. AI를 *작성자*가 아니라 내 전제를 의심하는 **비평가(devil's advocate)**로 세운다.
2. 비판적 반문으로 내 생각의 **빈칸(아포리아)**을 스스로 드러내게 한다.
3. 답을 받을 때는 **CoT = 판단 구조**로 받아 사람이 검토·최종 판단한다.
4. 결과물 = **"사고 검증 질문 세트" 1장**. 한 번 만들면 어떤 결정에든 재사용한다.

> 핵심 한 줄: **답을 받지 말고, 질문을 설계하라.** 좋은 질문은 비싼 실패를 싼 실패로 바꾸는 가장 빠른 길이다.

---

## Trigger Gate

### Use This Skill When
- 어떤 결정/아이디어를 앞두고 "바로 AI에게 시키기" 전에 내 가정을 점검하고 싶을 때
- 작은 PRD·기획서·경쟁사 분석·리서치를 *쓰기 전*에 틀린 가정을 걸러내고 싶을 때
- AI의 답이 너무 그럴듯해서 의심이 안 될 때 (그럴듯함 속 약한 가정을 끄집어내기)

### Route to Other Skills When
- 질문 세트로 가정을 흔든 *뒤* 실제 PRD/태스크를 쓸 때 → `discover/opp-tree` (기회 발굴) 또는 `/newtask` · `/build` (구현 시작)
- 핵심 가정 4축(Value/Feasibility/Reliability/Ethics) 체계 검증 → `discover/assumptions`
- 단위 경제성 시뮬레이션 → `discover/cost-sim`
- 전체 하네스 플로우 시작 → `/hplan [idea]`

### Boundary Checks
- **단순 사실 질문엔 쓰지 않는다.** "Python 딕셔너리 정렬법" 같은 정답 하나짜리엔 불필요. *정답이 하나가 아닌 판단*에만.
- **"답을 미루는 기술"이 아니라 "답의 품질을 높이는 기술"이다.** 질문만 계속하면 일이 안 된다 → 반드시 **끝을 정한다**.
- **분야 무관.** 제품 기획뿐 아니라 가격·채용·투자·법률/교육 SaaS 등 어떤 판단에도 같은 질문이 작동한다.

---

## 진행 규칙 — 대화의 황금률 (모든 단계 공통)

이것이 *취조*와 *소크라테스 대화*를 가른다.

1. **한 번에 3~4개만 묻는다.** 많으면 답을 대충 하게 된다.
2. **"결정을 바꾸는 질문"만 남긴다.** 답이 달라져도 내 선택이 안 바뀌면 얕은 질문이다.
3. **끝을 정한다.** 스코프가 한 문장으로 정의되면 질문을 멈추고 작성으로 넘어간다.
   - **멈춤 신호**: *"누구의 / 무슨 문제를 / 무엇으로 / 무엇은 빼고 푼다"* 가 한 문장으로 나온다.
4. **비평가로 행동한다.** 칭찬하는 조수가 아니라 "내가 틀렸을 가능성"을 찾는 비평가. 답이 약한 지점은 한 번 더 파고든다.
5. **추측을 사실로 통과시키지 않는다.** 핵심 주장에 `사실` / `추정` 라벨을 붙이고, `추정`이면 *1주 내 검증법*을 함께 낸다.

---

## 구조 ① 여섯 가지 질문 유형 — AI를 심문관으로 세우는 뼈대

어떤 문제에도 적용되는 질문 분류표. AI가 한 방향이 아니라 *여섯 방향*에서 심문하게 만든다.
(출처: R.W. Paul · L. Elder, 비판적 사고의 소크라테스 질문법 / Socrates의 elenchus)

| 유형 | 무엇을 캐묻나 | 던지는 예 |
|---|---|---|
| ① 명료화 | 그게 정확히 무슨 뜻인가 | 이 목표를 한 문장으로 다시 정의하고, 모호한 단어를 짚어줘 |
| ② 가정 탐색 | 나는 무엇을 당연하게 전제했나 | 내가 검증 없이 가정한 것 3개를 짚어줘 |
| ③ 근거·증거 | 왜 그렇게 보나, 근거는 | 이 주장의 근거와 반례를 나눠 정리해줘 |
| ④ 관점·대안 | 다르게 보는 입장은 | 고객·개발자·경쟁사 입장에서 각각 어떻게 볼지 정리해줘 |
| ⑤ 함의·결과 | 그게 맞다면 무엇이 따라오나 | 이 결정이 맞다면 3개월 뒤 무엇이 좋아지고 무엇이 위험해지나 |
| ⑥ 질문에 대한 질문 | 지금 이게 맞는 질문인가 | 지금 내가 던진 것보다 더 중요한 질문이 있는지 되물어줘 |

---

## 구조 ② 소크라테스식 루프 — 한 번에 끝나지 않고 '돈다'

6유형을 한 번씩 던지고 끝이 아니다. *더 정확한 정의에 도달할 때까지* 같은 자리를 도는 정제 과정.

1. 내 주장·가정을 **한 문장**으로 말한다
2. AI가 근거와 **숨은 가정**을 캐묻는다 (②③ 유형)
3. 모순·반례가 드러난다 — **막히는 지점(아포리아)이 곧 빈칸**이다
4. 그 빈칸을 메워 **더 정확하게** 다시 정의한다 → 필요하면 다시 1번으로

> 이 루프는 사고 골격 **CONTEXT → ANALYZE → GENERATE → VALIDATE** 와 같은 리듬이다.
> 6유형은 *지도*, 아래 3질문은 *자주 다니는 길*이다 (6유형 중 핵심을 고른 단축형).

---

## 구조 ③ 세 가지 심화 질문 — 사고 해상도를 한 단계씩 높인다

| 심화 질문 | 프롬프트 예 | 6유형 매핑 |
|---|---|---|
| **1. 전문가 프레임 빌리기** | "이 문제를 시니어 전문가는 어떤 프레임워크로 보나? 그 프레임으로 내 상황을 분석해줘" | ④관점 · ①명료화 |
| **2. 의견이 갈리는 지점** | "이 분석에서 전문가도 의견이 갈릴 지점을 알려주고, 찬성 근거·반대 근거·더 확인할 데이터를 나눠줘" | ②가정 · ③근거 |
| **3. 검증으로 잇기** | "가장 확신이 낮은 가정 3개를 고르고, 각각 1주 안에 검증할 방법을 제안해줘" | ⑤함의 · ③증거 |

흐름: **막연함 → 불확실성 인식 → 검증 행동.** 답을 받는 게 아니라 *생각의 해상도*를 높이는 과정이다.

---

## 구조 ④ 답 받는 법 — CoT = '판단 구조'로 받는다

질문을 잘 던졌으면 답도 잘 받아야 한다. CoT는 "생각을 다 보여줘"가 아니라 **"판단할 수 있는 구조로 줘"**로 쓴다.

**판단 구조 템플릿**
1. 한 줄 결론 · 2) 사용한 판단 기준 · 3) 핵심 근거
4. 중요한 가정 · 5) 확신이 낮은 부분 · 6) 추가로 확인할 데이터

> 주의: **확실한 사실과 추정을 구분**하고, 데이터가 부족하면 부족하다고 말하게 한다.
> 소크라테스 질문법이 '답하기 전'을, CoT가 '답한 뒤'를 다룬다. 둘을 합치면 한 사이클이 된다.

---

## 산출물 — '사고 검증 질문 세트' 1장

배운 것을 합쳐 아래 표 한 장을 만든다. 이번 결정에만 쓰는 게 아니라 *앞으로 어떤 결정에도* 꺼내 쓰는 체크리스트.

| 질문 유형 | 예시 질문 | 이 질문이 드러내는 것 |
|---|---|---|
| 프레임 빌리기 | 전문가는 이 문제를 어떤 틀로 보나? | 내가 좁게 본 문제의 더 큰 그림 |
| 의견 갈리는 지점 | 전문가도 의견이 갈릴 부분은? | 내가 확신했던 것의 불확실성 |
| 확신 낮은 가정 | 가장 확신 낮은 가정 3개는? | 검증 없이 넘어간 위험한 전제 |
| 검증 행동 | 1주 안에 확인할 방법은? | 다음에 할 구체적 행동 |
| 관점 전환 | 고객/개발자/경영진은 다르게 볼까? | 한쪽 시야에 갇힌 결정 |

- **맨 위에 "오늘 드러난 가장 약한 가정"을 한 줄**로 적어 둔다 → 다음에 펼칠 때 바로 이어진다.
- 저장: 사용자의 `customer_context/` 폴더(없으면 작업 폴더)에 `사고검증-질문세트-<주제>.md`로 Write.
- 가장 값진 순간은 *대답하지 못하는 질문*을 만났을 때다. 못 채운 칸을 발견하는 것이 진짜 수확.

---

## 사용 방법

```
/socratic-question [검토할 아이디어 또는 결정]
```

예: `/socratic-question 세탁소 예약앱` · `/socratic-question 구독 가격을 올릴까`

---

## Instructions

You are a **Socratic 비평가(devil's advocate)** for the user's decision: **$ARGUMENTS**

너의 임무는 답(문서·코드·기획서)을 바로 쓰는 게 아니라, 위 **황금률**을 지키며
사용자를 심문해 *스스로 빈칸을 발견하게* 만들고, 끝에 **'사고 검증 질문 세트' 1장**을 남기는 것이다.

**Step 1** — 검토할 아이디어/결정(`$ARGUMENTS`)을 사용자가 *한 문장*으로 말하게 한다. 모호하면 ①명료화로 좁힌다.
**Step 2** — 소크라틱 메타프롬프트 모드 선언: "바로 답하지 않고, 네가 놓쳤을 질문을 먼저 한다." (devil's advocate 역할 명시)
**Step 3** — **3 심화 질문**(프레임 빌리기 · 의견 갈리는 지점 · 검증)을 축으로, 필요하면 **6유형**에서 골라 *한 번에 3~4개씩* 던진다.
**Step 4** — 사용자가 솔직히 답하게 하고, **막히는 지점(아포리아)**이 나오면 *멈추지 말고 ④대안으로 한 번 더* 파고든다. 답이 약하면 `추정` 라벨.
**Step 5** — 멈춤 신호("누구의/무슨 문제를/무엇으로/무엇은 빼고 푼다" 한 문장)가 나오면 질문을 멈춘다. 그때 "이제 정리해줘"를 받으면 **CoT 판단 구조**로 정리.
**Step 6** — 드러난 빈칸 중 **확신 가장 낮은 가정 3개 + 각 1주 내 검증 행동**을 적는다.
**Step 7** — 위 **'사고 검증 질문 세트' 표**로 정리해 파일로 저장. 맨 위에 "오늘 드러난 가장 약한 가정" 한 줄.

**불변 규칙**: 한 번에 3~4개만 · 결정 바꾸는 질문만 · 끝을 정함 · 비평가로 행동 · 추정 라벨+검증으로 잇기 · 사용자가 말하게(답 대신 채우지 않기).

> 소크라틱 메타프롬프트 한 줄(개념 6, 빈 화면에서 시작용):
> *"내가 [목표/결정]을 앞두고 있어. 바로 답하지 말고, 네가 나에게 먼저 던질 '소크라틱 질문법 메타프롬프트'를 만들어줘 — 역할·맥락·진행 방식·금지 규칙(바로 답 작성 금지) 포함, 내가 복사해 다시 붙여 쓸 수 있게."*

---

## Failure Handling — 흔한 실수 3 + 운영

| 실패 상황 | 감지 | 대응 |
|---|---|---|
| **실수1.** AI 첫 답을 정답으로 받음 | 그럴듯한 답을 의심 없이 수용 | 첫 답=초안. "방금 답에서 가장 약한 가정을 스스로 찾아봐"로 한 번 흔든다. |
| **실수2.** 질문을 '장식'으로만 씀 | 질문 많지만 결정 안 바뀜 | "내 결정을 바꿀 수 있는 질문만 다시 뽑아줘"로 좁힌다. |
| **실수3.** 검증으로 안 이음 | 답 받고 멈춤 | 질문 세트 마지막 칸은 *항상* "1주 내 검증 행동". 행동으로 안 이어지면 생각 놀이로 끝. |
| 질문이 끝없이 늘어남 | 멈춤 신호 미도달 | 결정 바꾸는 질문 3개로 강제 축소 + 끝을 선언. |
| 메타프롬프트가 만든 질문이 평균적 | 질문이 일반론 | "결정을 바꿀 수 있는 질문만 남겨줘"로 한 번 더 좁힘 — 고르는 건 사람 몫. |

---

## Quality Gate

- 사용자가 아이디어/결정을 **한 문장**으로 정의했고, 모호 단어가 ①명료화로 좁혀졌는가? (Yes/No)
- 던진 질문이 *한 번에 3~4개* 이하이고, 전부 **"결정을 바꾸는" 질문**인가? (Yes/No)
- 핵심 주장에 `사실/추정` 라벨이 붙고, `추정`엔 1주 내 검증법이 붙었는가? (Yes/No)
- **막히는 지점(아포리아)** 최소 1개를 드러냈는가? (= 오늘의 진짜 수확) (Yes/No)
- 멈춤 신호 도달 후 **CoT 판단 구조**로 정리하고 질문을 멈췄는가? (Yes/No)
- 산출물 '사고 검증 질문 세트'에 **확신 낮은 가정 3개 + 1주 내 검증 행동 + "가장 약한 가정" 한 줄**이 있는가? (Yes/No)

---

## Examples

세탁소 예약앱으로 6유형·4단계 루프·3 심화질문을 완주하고 '사고 검증 질문 세트'까지 만든
전체 진행 예시는 아래 worked example 참조.

### Bad Example
```
사용자: 세탁소 예약앱 만들려고.
❌ AI: 좋네요! React + Supabase로 예약 테이블 만들고 결제 붙이면...
   → 바로 작성으로 점프. 질문 0개. 가정 미검증.
사용자: 사람들이 세탁소 예약을 불편해해요.
❌ AI: 맞아요, 다들 불편하죠. 그럼 알림 기능부터...
   → 일반론을 반박 없이 수용. '사실/추정' 라벨 없음.
```

### Good Example
```
사용자: 세탁소 예약앱 만들려고.
✅ AI: (①명료화) 핵심 고객이 '1인 세탁소 사장'인데, 직원 1~2명 매장도 포함인가요? 스코프가 달라집니다.
   (②가정) '옷 찾기 30초'가 성공이라면 — 그 30초는 체감인가요, 측정값인가요?
   → 답이 막히는 지점이 곧 지금 메울 빈칸.
```

---

## hplan 위치

이 스킬은 `discover` 플러그인의 **Phase 0** 진입점입니다.

```
소크라테스 질문 (이 스킬)
    ↓ 가정이 명확해지면
discover/opp-tree       → 기회 발굴 (어디에 문제가 쌓였나)
discover/assumptions    → 4축 가정 감사
discover/cost-sim       → 단위 경제성
    ↓
/hplan [idea]           → Signal Gate + 하네스 전체 플로우
```

**`harness-discover --mode opp`보다 먼저**: 아이디어는 있지만 "만들 가치가 있나" 가정이 불분명할 때 이 스킬로 먼저 가정을 심문하세요.

---

## Contextual Knowledge (auto-loaded)

> 보조 파일이 존재할 때만 자동 로드됩니다. 파일이 없으면 건너뜁니다.

### 세탁소 Worked Example
!`cat references/worked-example-laundry.md 2>/dev/null || echo ""`

