# Lesson 00 Prerequisites

> AI 에이전트 강의 패키지의 0강 — 강의를 시작하기 전에 알아두면 좋은 용어와 미리 가입해두면 좋은 사이트를 10분 안에 안내한다. 비개발자가 1강 이후 lesson에서 마주칠 *낯선 단어들*(커밋, GitHub, API, 토큰, JSON, Docker, 환경 변수 등)을 미리 알아 *막히지 않게* 한다. 사용자가 "0강 시작", "용어 모르겠어요", "강의 시작 전에", "GitHub가 뭐야", "API가 뭐야", "처음이라 뭐부터 해야 해", "용어 사전" 같은 표현을 쓰거나, 패키지에 처음 진입한 학습자에게 *기본 권장*되는 강의에 진입하려 할 때 반드시 이 스킬을 사용한다. 본 강의(15개)는 *대화형 30분 강의*이지만, 0강은 *짧은 안내(10분)*다.

- Skill: `matthewoong/lesson-00-prerequisites` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add matthewoong/lesson-00-prerequisites`
- Raw SKILL.md: https://api.skillmd.com/api/skills/matthewoong/lesson-00-prerequisites/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: Matthewoong (https://skillmd.com/u/matthewoong)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/matthewoong/lesson-00-prerequisites

---


# Lesson 00 — 강의 시작 전 알아두면 좋은 것

> 강의를 듣기 전에 *낯선 단어*에 막히지 않도록 10분 안에 *기본 용어*와 *미리 가입할 곳*을 훑습니다.

이 강의는 **선택 권장**이에요. 본 강의(1~15강)를 듣다가 *모르는 단어*가 나오면 언제든 다시 돌아오실 수 있어요.

---

## 0. 시작하기 전에
공통 프로토콜을 따르되, *짧은 안내*라 **간소**합니다.

| 문서 | 언제 |
|---|---|
| `_shared/teaching-protocol.md` | 청크 진행 |
| `_shared/learner-profile-schema.md` | 진도 갱신 |
| `_shared/style-guide.md` | 톤·표기 |
| `_shared/menu-template.md` | 메뉴 |

---

## 1. 진입 시 행동

1. **학습자 프로필 확인** — 없으면 `_shared/menu-template.md`의 첫 진입 흐름.
2. **이 강의 진도 확인** — `progress["00-prerequisites"].status` 분기.
3. **첫 인사**:
   ```
   안녕하세요, {{name}}님!

   본 강의(1~15강)에 들어가기 전, 막히기 쉬운 용어 몇 가지와 미리
   가입해두면 좋은 곳을 10분 안에 훑어볼게요.

   이미 잘 아시는 분야면 "넘어가"라고 답하셔도 OK예요.
   준비되셨으면 "시작"이라고 답해주세요!
   ```
4. **lesson 진입** — `lesson/01-terms.md` (용어) → `lesson/02-signups.md` (가입). 헤더 `📘 [Lesson 0 · 청크 X/Y]`.
5. **종료 시 안내**:
   ```
   🎉 0강 끝!

   이제 1강(AGENTS.md)으로 들어가셔도 막히지 않으실 거예요. 모르는
   단어 만나면 언제든 0강의 용어 사전(resources/glossary.md)을
   다시 보세요.

     (1) 1강 시작
     (2) 메뉴로
   ```

---

## 2. 진도 갱신

| 시점 | 갱신 |
|---|---|
| 0강 첫 진입 | `progress["00-prerequisites"].status = "in_progress"`, `current_chunk = 1` |
| 청크 통과 | `current_chunk += 1` |
| 0강 종료 | `status = "completed"`, `practice_status = "done"` |
| 학습자 "넘어가" | `status = "skipped"` (1강은 그대로 진행 가능) |

> 0강은 *선택 권장*이라 스킵해도 1강 진행에 지장 없음.

### 0강 draft 키 (선택)
| 키 | 시점 | 형식 |
|---|---|---|
| `terms_known` | 청크 1 답변 | array (이미 아는 용어들) |
| `signups_planned` | 청크 2 답변 | array (가입 계획 사이트들) |

---

## 3. lesson 흐름

청크 2개 (각 lesson 파일 = 1청크):
- `lesson/01-terms.md` — 비개발자가 자주 막히는 용어 10~15개
- `lesson/02-signups.md` — 미리 가입해두면 좋은 사이트들

용어 사전(`resources/glossary.md`)은 *전체 강의에서 참조*되는 자료. 1강 이후에도 모르는 단어 있으면 다시 볼 수 있음.

---

## 4. 자리표시자 처리
1강과 동일.

---

## 5. 도구 비종속
본문에 도구명 노출 X. 다만 *각 도구의 가입 페이지*는 옵션 ②에서 *외부 안내성*으로 등장 (도구 비종속 원칙 위배 X).

---

## 6. 강의 작성자 메타

- **트랙**: 시작 전 (선택 권장)
- **선행**: 없음 — 패키지 진입 시 가장 먼저
- **분량**: ~10분
- **외부 자료**: 없음 (외부 가입 안내만 있음, 가입은 학습자 선택)
- **학습 결과**:
  - 비개발자 막히는 용어 10~15개에 *익숙해짐*
  - 미리 가입해두면 좋은 곳을 *알고 있음*
  - 1강 이후 모르는 단어 만나면 *어디로 다시 가야 할지* 앎

---

## 7. 빠른 자기 점검

- [ ] `📘 [Lesson 0 · 청크 X/Y]` 헤더
- [ ] 한 청크만, 끝에 ❓/🛠/🔀
- [ ] *진짜 초보자* 기준 톤 (전문 용어 풀어 설명)
- [ ] "넘어가" 명시 시 OK 처리
- [ ] 학습자가 "용어 모르겠어요" 입력 시 *glossary*로 안내

