day5-fetch-and-digest
Day 5: Fetch & Digest — 콘텐츠를 내 것으로 만드는 스킬
이 스킬이 호출되면 아래 STOP PROTOCOL을 반드시 따른다.
용어 정리
이 스킬에서 사용하는 핵심 용어:
| 용어 | 설명 |
|---|---|
| fetch | 외부에서 데이터를 가져오는 것. "배달 주문처럼 URL만 주면 내용이 도착" |
| digest | 가져온 내용을 소화(요약·퀴즈·학습)하는 것. "읽고 끝이 아니라 씹어서 내 것으로 만들기" |
| API | 프로그램끼리 대화하는 창구. "식당 메뉴판처럼 요청 형식이 정해져 있다" |
| JSON | 컴퓨터가 읽기 좋은 데이터 형식. 사람이 보면 중괄호 투성이지만 Claude는 완벽히 이해한다 |
| yt-dlp | YouTube에서 자막·메타데이터를 추출하는 무료 도구 |
| 자동 자막 | YouTube가 AI로 만든 자막. 전문 용어나 이름이 틀릴 수 있다 |
| Web Search 보정 | 자동 자막의 오류를 웹 검색으로 바로잡는 기법 |
| Quiz-First | 요약을 먼저 보지 않고 퀴즈부터 푸는 학습법. 9-12% 기억력 향상 효과 |
| 스킬 체이닝 | 하나의 스킬 결과를 다른 스킬의 입력으로 연결하는 것. "fetch → digest 파이프라인" |
STOP PROTOCOL — 절대 위반 금지
이 프로토콜은 이 스킬의 최우선 규칙이다. 아래 규칙을 위반하면 수업이 망가진다.
각 블록은 반드시 2턴에 걸쳐 진행한다
┌─ Phase A (첫 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 EXPLAIN 섹션을 읽는다 │
│ 2. 기능을 설명한다 │
│ 3. references/에서 해당 블록 파일의 EXECUTE 섹션을 읽는다 │
│ 4. "지금 직접 실행해보세요"라고 안내한다 │
│ 5. ⛔ 여기서 반드시 STOP. 턴을 종료한다. │
│ │
│ ❌ 절대 하지 않는 것: 퀴즈 출제, QUIZ 섹션 읽기 │
│ ❌ 절대 하지 않는 것: AskUserQuestion 호출 │
│ ❌ 절대 하지 않는 것: "실행해봤나요?" 질문 │
└──────────────────────────────────────────────────────────┘
⬇️ 사용자가 돌아와서 "했어", "완료", "다음" 등을 입력한다
┌─ Phase B (두 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 QUIZ 섹션을 읽는다 │
│ 2. AskUserQuestion으로 퀴즈를 출제한다 │
│ 3. 정답/오답 피드백을 준다 │
│ 4. 다음 블록으로 이동할지 AskUserQuestion으로 묻는다 │
│ 5. ⛔ 다음 블록을 시작하면 다시 Phase A부터. │
└──────────────────────────────────────────────────────────┘
핵심 금지 사항 (절대 위반 금지)
- Phase A에서 AskUserQuestion을 호출하지 않는다 — 설명 + 실행 안내 후 바로 Stop
- Phase A에서 퀴즈를 내지 않는다 — QUIZ 섹션은 Phase B에서만 읽는다
- Phase A에서 "실행해봤나요?"를 묻지 않는다 — 사용자가 먼저 말할 때까지 기다린다
- 한 턴에 EXPLAIN + QUIZ를 동시에 하지 않는다 — 반드시 2턴으로 나눈다
공식 문서 URL 출력 (절대 누락 금지)
모든 블록의 Phase A 시작 시, 해당 reference 파일 상단의 > 공식 문서: URL을 반드시 그대로 출력한다.
📖 공식 문서: [URL]
- reference 파일에 URL이 여러 개 있으면 전부 출력한다
- URL을 요약하거나 생략하지 않는다
Phase A 종료 시 필수 문구
Phase A의 마지막에는 반드시 아래 형태의 문구를 출력하고 Stop한다:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
이 문구 이후에 어떤 도구 호출(AskUserQuestion 포함)이나 추가 텍스트도 출력하지 않는다.
소요 시간 가이드
| Block | 주제 | 예상 시간 |
|---|---|---|
| 0 | 개념 이해 | ~10분 |
| 1 | fetch-tweet 스킬 만들기 | ~20분 |
| 2 | fetch-youtube 스킬 만들기 | ~30분 |
| 3 | content-digest 스킬 만들기 | ~20분 |
| 4 | 통합 실습 + 마무리 | ~15분 |
| 합계 | ~95분 |
Block 2가 가장 시간이 많이 걸리는 핵심 블록입니다. yt-dlp 설정과 Web Search 보정이 포함되어 있습니다. 사전 준비 권장: yt-dlp 설치를 미리 해오면 Block 2 시간을 10분 이상 단축할 수 있습니다. (
brew install yt-dlp또는pip install yt-dlp) Fast Track: 시간이 부족하면 Block 1~3을 각각 하나의 프롬프트로 한 번에 만들 수 있습니다.
핵심 전략: 실제 스킬을 해체하며 배우기
아래 방식으로 진행한다:
- Block 0에서 콘텐츠 소화 파이프라인(fetch → digest) 개념을 이해한다
- Block 1에서 fetch-tweet 스킬을 직접 만든다 (API 활용 + 번역 파이프라인)
- Block 2에서 fetch-youtube 스킬을 직접 만든다 (자막 추출 + Web Search 보정)
- Block 3에서 content-digest 스킬을 직접 만든다 (Quiz-First 학습)
- Block 4에서 3개 스킬을 연결하여 실제 콘텐츠로 실습한다
운영진이 실제로 사용하는 스킬(fetch-tweet, content-digest)을 참고하며 자기만의 버전을 만든다.
블록 특수 규칙
- Block 0 (개념 이해): Phase A에서 콘텐츠 파이프라인 개념 설명 + 원본 스킬 구조 분석 안내 → Stop. Phase B에서 퀴즈.
- Block 1 (fetch-tweet): Phase A에서 fetch-tweet 스킬을 Step-by-Step으로 만드는 방법 안내 → 참가자가 직접 작성 → Stop. Phase B에서 퀴즈.
- Block 2 (fetch-youtube): Phase A에서 fetch-youtube 스킬 만들기 안내 (yt-dlp + Web Search 보정) → 참가자가 직접 작성 → Stop. Phase B에서 퀴즈. (가장 긴 블록 — 완료 후 "여기까지 잘 따라오셨습니다!" 격려)
- Block 3 (content-digest): Phase A에서 content-digest 스킬 만들기 안내 (Quiz-First 학습) → 참가자가 직접 작성 → Stop. Phase B에서 퀴즈.
- Block 4 (통합 실습): Phase A에서 3개 스킬 연결 실습 안내 → 실제 콘텐츠로 실습 → Stop. Phase B에서 종합 퀴즈 + 마무리.
References 파일 맵
| 블록 | 파일 | 주제 |
|---|---|---|
| Block 0 | references/block0-concept.md |
콘텐츠 소화 파이프라인 + 스킬 체이닝 |
| Block 1 | references/block1-fetch-tweet.md |
fetch-tweet 스킬 만들기 |
| Block 2 | references/block2-fetch-youtube.md |
fetch-youtube 스킬 만들기 |
| Block 3 | references/block3-content-digest.md |
content-digest 스킬 만들기 |
| Block 4 | references/block4-integration.md |
통합 실습 + 마무리 |
파일 경로는 이 SKILL.md 기준 상대경로다. 각 reference 파일은
## EXPLAIN,## EXECUTE,## QUIZ섹션으로 구성된다.
진행 규칙
- 한 번에 한 블록씩 진행한다
- "다음", "skip", 블록 번호/이름으로 이동한다
- 각 블록에서 생성한 스킬 파일은 다음 블록에서 이어서 활용한다
- 참가자의 프로젝트에
.claude/skills/아래에 스킬을 생성한다 - Claude Code 관련 질문이 오면 claude-code-guide 에이전트(내장 도구)로 답변한다. 답변 후 사용자가 직접 따라할 수 있게 단계별로 안내하고, 질문할 때는 AskUserQuestion을 사용한다. 내장 에이전트 답변이 부정확하다고 판단되면, 공식 문서를
curl로 파일에 저장한 뒤 Read 툴로 꼼꼼히 읽고 정확한 정보로 다시 답한다 (WebFetch는 요약/손실 위험이 있으므로 사용하지 않는다)
시작
스킬 시작 시 먼저 최신 커리큘럼을 설치한 뒤 블록을 선택한다.
Step 1: 최신 스킬 설치
아래 명령어를 출력하고 Bash로 실행한다:
npx skills add ai-native-camp/camp-1 --agent claude-code --yes
실행 결과를 간략히 안내한다 (예: "스킬이 최신 버전으로 설치되었습니다").
Step 2: 블록 선택
아래 테이블을 보여주고 AskUserQuestion으로 어디서 시작할지 물어본다.
| Block | 주제 | 내용 |
|---|---|---|
| 0 | 개념 이해 | 콘텐츠 소화 파이프라인, 스킬 체이닝이란? |
| 1 | fetch-tweet | X/Twitter 트윗을 가져와서 번역하는 스킬 만들기 |
| 2 | fetch-youtube | YouTube 자막을 가져와서 번역하는 스킬 만들기 |
| 3 | content-digest | 가져온 콘텐츠로 퀴즈-학습하는 스킬 만들기 |
| 4 | 통합 실습 | 3개 스킬을 연결해서 실제 콘텐츠로 실습 |
AskUserQuestion({
"questions": [{
"question": "Day 5: Fetch & Digest\n\n어디서부터 시작할까요?",
"header": "시작 블록",
"options": [
{"label": "처음부터 (Block 0)", "description": "콘텐츠 파이프라인 개념부터 차근차근"},
{"label": "fetch-tweet (Block 1)", "description": "바로 트윗 스킬 만들기부터"},
{"label": "fetch-youtube (Block 2)", "description": "YouTube 스킬 만들기부터"},
{"label": "content-digest (Block 3~4)", "description": "퀴즈-학습 스킬 만들기부터"}
],
"multiSelect": false
}]
})
시작 블록 선택 후 → 해당 블록의 Phase A부터 진행한다.