Optimization teach-3-levels

낯선 주제를 3단계로 설명한다. [1] 똑똑한 초보자 대상 실제 사례와 오해 설명 [2] 초등학생도 이해할 수 있는 예시/비유 [3] 소크라테스식 문답법과 제1원리 사고 **자동 트리거 조건** (사용자가 다음과 같이 말할 때 자동 실행): [이해도 부족 표현 - 한국어] [이해도 부족 표현 - 영어] [질문 형태] [학습 요청]

install
source · Clone the upstream repo
git clone https://github.com/sunLeee/optimization
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sunLeee/optimization "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/utility/teach-3-levels" ~/.claude/skills/sunleee-optimization-teach-3-levels && rm -rf "$T"
manifest: .claude/skills/utility/teach-3-levels/SKILL.md
source content

3단계 초보자 설명 스킬 (Teach 3 Levels)

낯선 주제를 3단계로 체계적으로 설명하여 깊은 이해를 유도한다.

목적/te

  • Level 1: 똑똒한 초보자 대상 - 실제 사례, 흔한 오해, 오해의 원인
  • Level 2: 초등학생도 이해 - 풍부한 예시와 비유
  • Level 3: 소크라테스식 문답 - 질문을 통한 깨달음, 제1원리 사고

사용법

/teach-3-levels <topic> [--level=N] [--focus=AREA]
파라미터설명예시
topic
설명할 주제"dependency injection", "REST API"
--level=N
특정 레벨만 실행 (1, 2, 3)--level=2
--focus=AREA
집중 영역--focus="보안 측면"

설명 프로세스

Level 1: 똑똒한 초보자 대상 (Smart Beginner)

대상: 지적 능력은 있으나 해당 분야를 처음 접하는 사람

구성 요소:

요소설명예시 (Dependency Injection)
핵심 정의한 문장으로 본질 설명"객체가 필요한 것을 외부에서 받는 패턴"
실제 사례현업에서의 적용 예"테스트 시 Mock 객체 주입"
왜 필요한가문제-해결 관점 설명"강결합 → 테스트 불가 문제 해결"
흔한 오해자주 발생하는 오해"DI = DI 프레임워크 필수"
오해의 원인왜 그런 오해가 생기는지"Spring 등 프레임워크와 함께 배워서"

출력 형식:

## Level 1: 똑똑한 초보자를 위한 설명

### 핵심 정의

[주제]는 **[한 문장 정의]**입니다.

### 실제 사례

실무에서 [주제]는 다음과 같이 사용됩니다:

1. **[사례 1]**: [설명]
2. **[사례 2]**: [설명]
3. **[사례 3]**: [설명]

### 왜 필요한가?

[주제]가 해결하는 문제:

| 문제 (Before) | 해결책 (After) |
|--------------|---------------|
| [문제점 1] | [해결 방법 1] |
| [문제점 2] | [해결 방법 2] |

### 흔한 오해

많은 사람들이 [주제]에 대해 다음과 같이 오해합니다:

#### 오해 1: "[오해 내용]"

**왜 이런 오해가 생기는가?**
[원인 설명]

**실제로는:**
[올바른 이해]

#### 오해 2: "[오해 내용]"

**왜 이런 오해가 생기는가?**
[원인 설명]

**실제로는:**
[올바른 이해]

Level 2: 초등학생도 이해할 수 있는 설명

대상: 사전 지식이 전혀 없는 사람

구성 요소:

요소설명방법
일상 비유익숙한 대상에 비유레고, 요리, 학교
시각적 예시그림으로 설명 가능한 표현블록, 화살표, 상자
단계별 분해복잡한 것을 단순 단계로1→2→3 순서
반복과 변형같은 개념을 다른 예시로예시 3개 이상

비유 선택 가이드:

기술 개념좋은 비유
API레스토랑 메뉴판 (주문→요리→배달)
변수이름표가 붙은 상자
함수레시피 (재료→조리→완성)
클래스쿠키틀 (틀 하나로 여러 쿠키)
상속가족 (부모→자녀 특성 물려받음)
인터페이스리모컨 (버튼만 알면 TV 조작 가능)
의존성 주입레고 블록 (조립식으로 교체 가능)
캐시자주 쓰는 연락처를 즐겨찾기에
데이터베이스정리된 서랍장
Git게임 세이브 포인트

출력 형식:

## Level 2: 초등학생도 이해할 수 있는 설명

### 비유로 이해하기

[주제]를 [비유 대상]에 비유해볼게요.

**상황 설정:**
[친숙한 상황 묘사]

**비유 적용:**
[기술 개념을 비유에 대입]

### 그림으로 보기

┌─────────────┐ ┌─────────────┐ │ [요소 1] │ ──────▶ │ [요소 2] │ └─────────────┘ └─────────────┘ │ │ ▼ ▼ ┌─────────────┐ ┌─────────────┐ │ [결과 1] │ │ [결과 2] │ └─────────────┘ └─────────────┘


### 단계별로 이해하기

**1단계**: [첫 번째 이해할 것]
- [설명]

**2단계**: [두 번째 이해할 것]
- [설명]

**3단계**: [세 번째 이해할 것]
- [설명]

### 다른 예시로 다시 보기

**예시 1: [상황 1]**
[설명]

**예시 2: [상황 2]**
[설명]

**예시 3: [상황 3]**
[설명]

Level 3: 소크라테스식 문답법

대상: 스스로 깨달음을 얻고 싶은 학습자

구성 요소:

요소설명목적
유도 질문답을 생각하게 하는 질문능동적 사고 유발
반박 질문가정을 흔드는 질문깊은 이해 유도
제1원리가장 기본이 되는 원리근본 이해
연결 질문다른 개념과 연결통합적 사고

질문 유형:

유형목적예시
명료화의미 확인"~라는 것은 무슨 뜻일까요?"
가정 탐구숨은 가정 발굴"왜 ~라고 가정하죠?"
증거 요청근거 확인"어떻게 알 수 있죠?"
관점 전환다른 시각 제시"반대로 생각하면?"
결과 탐구영향 분석"그러면 어떻게 될까요?"
메타 질문질문에 대한 질문"왜 이 질문이 중요할까요?"

출력 형식:

## Level 3: 소크라테스식 문답법

### 시작 질문

먼저 생각해볼 것이 있습니다.

> **Q1**: [기본 질문]

잠시 생각해보세요...

---

### 탐구 과정

#### 가정 탐구

> **Q2**: [가정 질문]

많은 사람들이 [흔한 가정]이라고 생각하는데요,

> **Q3**: 정말 그럴까요? [반박 질문]

---

#### 제1원리로 돌아가기

모든 것을 지우고 처음부터 생각해봅시다.

> **Q4**: [주제]의 가장 본질적인 목적은 무엇일까요?

힌트: [힌트 제공]

[제1원리 설명]

---

#### 연결하기

> **Q5**: [주제]와 [관련 개념]의 공통점은 무엇일까요?

[연결 설명]

---

### 핵심 깨달음

이 과정을 통해 도달한 핵심:

1. **[깨달음 1]**: [설명]
2. **[깨달음 2]**: [설명]
3. **[깨달음 3]**: [설명]

---

### 스스로 확인해보기

다음 질문에 답해보세요:

1. [확인 질문 1]
2. [확인 질문 2]
3. [확인 질문 3]

답을 말로 설명할 수 있다면, 이해한 것입니다.

제1원리 사고 가이드

제1원리 사고(First Principles Thinking): 기존 지식이나 가정을 제거하고, 가장 기본적인 진리에서부터 논리를 구축하는 방법.

적용 단계:

1. 문제 정의: "무엇을 이해하려 하는가?"
2. 가정 제거: "당연하다고 생각하는 것들은 무엇인가?"
3. 기본 원리: "가장 확실하게 알 수 있는 것은 무엇인가?"
4. 재구성: "기본 원리에서 어떻게 결론에 도달하는가?"

예시 (REST API 제1원리):

## 제1원리로 REST API 이해하기

### 1. 문제 정의
"서로 다른 컴퓨터가 어떻게 소통할까?"

### 2. 가정 제거
- "HTTP를 써야 한다" → 꼭 그런가?
- "JSON 형식이어야 한다" → 꼭 그런가?
- "REST가 최선이다" → 꼭 그런가?

### 3. 기본 원리
- 컴퓨터 A가 컴퓨터 B에게 요청을 보낸다
- 요청에는 "무엇을", "어떻게" 정보가 필요하다
- 응답으로 결과를 받는다

### 4. 재구성
이 기본 원리에서 REST는 다음을 추가:
- "무엇을" = URL (리소스 주소)
- "어떻게" = HTTP 메서드 (GET, POST, PUT, DELETE)
- 상태를 서버에 저장하지 않음 (Stateless)

→ REST는 "웹의 기존 규칙을 활용한 소통 방식"

예시

예시 1: Dependency Injection 설명

/teach-3-levels "Dependency Injection"

예시 2: Level 2만 실행 (비유 중심)

/teach-3-levels "Git" --level=2

예시 3: 특정 관점 집중

/teach-3-levels "마이크로서비스" --focus="장단점"

통합 출력 형식

# [주제] 3단계 설명

---

## Level 1: 똑똒한 초보자를 위한 설명
[Level 1 내용]

---

## Level 2: 초등학생도 이해할 수 있는 설명
[Level 2 내용]

---

## Level 3: 소크라테스식 문답법
[Level 3 내용]

---

## 요약

| 레벨 | 핵심 포인트 |
|------|------------|
| L1 | [핵심 1문장] |
| L2 | [핵심 비유] |
| L3 | [핵심 질문] |

## 더 알아보기

- [관련 주제 1]
- [관련 주제 2]
- [추천 자료]

자동 트리거 조건 (25개+)

이 스킬은 사용자의 이해도가 낮다고 판단될 때 자동으로 트리거됩니다.

이해도 부족 표현 (한국어) - 15개

#트리거 표현변형예시
1"잘 모르겠어"모르겠어, 잘 모르겠는데, 모르겠음"이 부분 잘 모르겠어"
2"이해가 안 돼"이해 안 돼, 이해가 안 됨, 이해 못 하겠어"async/await 이해가 안 돼"
3"무슨 말이야"무슨 말인지, 뭔 말이야, 무슨 소리야"콜백이 무슨 말이야?"
4"뭔 소리야"뭔 소린지, 무슨 소리, 뭔 얘기야"Promise가 뭔 소리야"
5"헷갈려"헷갈리네, 헷갈림, 혼동돼"상속이랑 합성이 헷갈려"
6"혼란스러워"혼란스럽네, 혼란스럼, 혼동스러워"아키텍처가 혼란스러워"
7"어려워"어렵다, 어렵네, 너무 어려워"타입스크립트 어려워"
8"복잡해"복잡하다, 복잡하네, 너무 복잡해"이 코드 복잡해"
9"이게 뭐야"이건 뭐지, 이게 뭔지, 뭐지 이건"데코레이터 이게 뭐야"
10"처음 들어봐"처음 듣는데, 첨 들어봄, 처음 봐"DI 처음 들어봐"
11"생소해"생소하네, 생소한데, 낯선데"이 패턴 생소해"
12"낯설어"낯설다, 낯선, 익숙하지 않아"함수형 프로그래밍 낯설어"
13"다시 설명해줘"다시 설명해, 한번 더 설명해, 다시 알려줘"이 부분 다시 설명해줘"
14"쉽게 설명해줘"쉽게 알려줘, 쉽게 풀어서, 간단하게"REST API 쉽게 설명해줘"
15"자세히 알려줘"자세히 설명해, 더 자세히, 상세하게"이 개념 자세히 알려줘"

이해도 부족 표현 (영어) - 10개

#트리거 표현변형예시
16"I don't understand"don't get it, can't understand"I don't understand async"
17"I'm confused"confused about, confusing"I'm confused about closures"
18"What does that mean"what's that mean, meaning of"What does 'immutable' mean?"
19"Could you explain"can you explain, please explain"Could you explain Redux?"
20"I'm lost"lost me, I got lost"I'm lost on this concept"
21"This is confusing"too confusing, kind of confusing"This is confusing me"
22"Too complicated"overly complicated, complex"This code is too complicated"
23"Over my head"above my level, beyond me"This is over my head"
24"ELI5"explain like I'm 5, eli5"ELI5 Docker"
25"TLDR"too long, in simple terms"TLDR what is Kubernetes?"

질문 형태 트리거 - 10개

#패턴예시
26"~가 뭐야?""GraphQL이 뭐야?"
27"~이 뭐지?""캐싱이 뭐지?"
28"~란?""마이크로서비스란?"
29"왜 ~해?""왜 타입스크립트 써?"
30"어떻게 ~해?""어떻게 테스트 작성해?"
31"~하는 이유가 뭐야?""추상화하는 이유가 뭐야?"
32"~와 ~의 차이가 뭐야?""REST와 GraphQL의 차이가 뭐야?"
33"~을 왜 써?""컨테이너를 왜 써?"
34"~이 왜 필요해?""DI가 왜 필요해?"
35"언제 ~해?""언제 상속 대신 합성 써?"

학습 요청 트리거 - 10개

#트리거 표현예시
36"설명해줘""OOP 설명해줘"
37"알려줘""Git 브랜치 전략 알려줘"
38"가르쳐줘""Python 가르쳐줘"
39"초보자용으로""초보자용으로 설명해줘"
40"기초부터""기초부터 설명해줘"
41"처음부터""처음부터 알려줘"
42"비유로 설명해줘""비유로 설명해줘"
43"예시 들어줘""예시 들어서 설명해줘"
44"쉬운 말로""쉬운 말로 설명해"
45"왕초보""왕초보도 이해하게"

추가 컨텍스트 트리거 - 10개

#트리거 표현상황
46"?" (단독 물음표)이전 설명에 대한 의문
47"음..." / "흠..."이해 중 망설임
48"그러니까..."재확인 시도
49"맞아?" / "맞나?"이해 확인
50"그게 뭔데"추가 설명 요청
51"더 쉽게"난이도 낮춤 요청
52"아직도 모르겠어"반복 설명 필요
53"구체적으로"상세 설명 요청
54"실제로 어떻게"실용적 예시 요청
55"비전공자인데"배경 지식 부족

트리거 동작 규칙

자동 트리거 시 동작

사용자 입력 감지
    ↓
트리거 키워드 매칭 (55개)
    ↓
현재 대화 컨텍스트 분석
    ↓
설명할 주제 추출
    ↓
/teach-3-levels 자동 실행

트리거 우선순위

우선순위조건동작
1명시적 호출 (
/teach-3-levels
)
즉시 실행
2이해도 부족 표현 + 기술 용어자동 실행
3질문 형태 + 기술 용어자동 실행
4학습 요청자동 실행
5컨텍스트 트리거만확인 후 실행

트리거 비활성화 조건

조건이유
사용자가 이미 전문가 수준불필요한 기초 설명 방지
단순 오타/실수 표현오탐 방지
이전에 같은 주제 설명 완료중복 방지
코드 작성 중작업 흐름 방해 방지

관련 스킬

스킬역할
[@skills/brainstorming/SKILL.md]주제 탐색 전 아이디어 정리
[@skills/doc-spec/SKILL.md]기술 명세서로 상세 학습
[@skills/diagram-generator/SKILL.md]시각적 다이어그램 생성
[@skills/convention-design/SKILL.md]설계 원칙 참조

Changelog

날짜버전변경 내용
2026-01-212.0.0자동 트리거 조건 55개 추가, 트리거 동작 규칙 정의
2026-01-211.0.0초기 생성