Content → Quiz-First learning → selective deep dive → fundamental concept expansion.
Task Agent-based design: Long contexts are handled by a subagent, and the main session consumes only the final conclusion
Architecture Principles
- Context Separation: Long subtitles/body text are handled by a Task agent, and the main session reads only the lightweight md file
- Clean Transcript: Remove numbers and timestamps from subtitles → extract only pure English text
- Web Research Integration: Automatic web research using extracted keywords
- Single Output: All processing results are saved as a single md file
Supported Content
| Type | Extraction Method | Save Path |
|---|---|---|
| YouTube | Task agent (yt-dlp + cleanup) | research/digests/youtube/ |
| X/Twitter | fetch-tweet skill (api.fxtwitter.com) | research/digests/tweet/ |
| Webpage | Task agent (browser + cleanup) | research/digests/web/ |
| Task agent (Read + cleanup) | research/digests/pdf/ |
Core Principles
- Quiz-First: Start with a quiz before viewing the summary (Pretesting Effect → 9-12% improvement)
- Knowledge Gap: Wrong answers create curiosity, and curiosity strengthens memory
- Selective Depth: Go deep only on the parts the user wants to know more about
- Fundamental Expansion: Expand to foundational concepts beyond the content via web search
Workflow Overview (Task Agent-based)
Phase 1: 콘텐츠 타입 감지
Phase 2: Task Agent 실행 (콘텐츠 추출 + 정제 + 웹 리서치 + md 저장)
Phase 3: 메인 세션에서 결과 md Read
Phase 4: Pre-Quiz (3문제)
Phase 5: 선택적 콘텐츠 제공
Phase 6: 본 퀴즈 (9문제)
Phase 7: Elaborative Interrogation
Phase 8: Foundation Expansion
Phase 9: 스키마 연결
Phase 10: 문서 업데이트 (퀴즈 결과 반영)
Phase 11: 후속 선택
Phase 1: Content Type Detection
Automatically determine the content type based on the input pattern:
| Pattern | Type |
|---|---|
youtube.com, youtu.be |
YouTube |
x.com, twitter.com |
X/Twitter |
http://, https:// (other) |
Webpage |
.pdf file path |
If unclear, confirm with the user:
AskUserQuestion:
questions:
- question: "어떤 콘텐츠를 분석할까요?"
header: "Type"
options:
- label: "YouTube 영상"
description: "URL을 알려주세요"
- label: "웹페이지/아티클"
description: "URL을 알려주세요"
- label: "PDF 문서"
description: "파일 경로를 알려주세요"
Phase 2: Task Agent Execution (Core)
Process long content while protecting the context of the main session
2-1. Task Agent Invocation Pattern
Task:
subagent_type: "general-purpose"
description: "콘텐츠 추출 및 분석"
prompt: |
## 목표
{URL/파일경로}에서 콘텐츠를 추출하고 분석하여 md 파일로 저장
## 단계 (순서 중요)
1. 콘텐츠 추출 (타입별 방법 적용)
2. 텍스트 정제 (번호, 시간 제거 → 영어만 추출)
3. 핵심 키워드 추출 (5-10개)
4. 웹 리서치 (키워드별 WebSearch)
5. **핵심 요약 생성** (3-5문장)
6. **주요 인사이트 도출** (3개)
7. **퀴즈 재료 생성** (요약/인사이트 기반으로 핵심 주제만)
8. md 파일 저장
## 출력 경로
research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md
2-2. X/Twitter Extraction (using the fetch-tweet skill)
Task Agent not needed - Extract directly with the fetch-tweet script (short content)
# 트윗 원문 + 인게이지먼트 데이터 추출
python3 .claude/skills/fetch-tweet/scripts/fetch_tweet.py "{URL}" --json
Fields to use from the JSON response:
tweet.text: Tweet bodytweet.author: Author information (name, bio, followers)tweet.likes/retweets/views: Engagementtweet.quote: Quoted tweet (same structure if present)tweet.media: Attached images/videos
Since tweets are short, process them directly in the main session without a Task Agent.
If there is a quoted tweet, include it as well for analysis.
Save path: research/digests/tweet/{YYYY-MM-DD}-{author}-{short-topic}.md
2-3. YouTube Extraction (inside Task Agent)
# 1. 자막 추출
yt-dlp --write-auto-sub --sub-lang "en" --skip-download \
--convert-subs vtt -o "%(title)s" "{URL}"
# 2. VTT → 순수 텍스트 변환
sed -E 's/^[0-9]+$//' | \ # 번호 제거
sed -E 's/[0-9]{2}:[0-9]{2}:[0-9]{2}.*//g' | \ # 타임스탬프 제거
sed -E 's/<[^>]+>//g' | \ # HTML 태그 제거
tr -s '\n' | \ # 빈 줄 정리
grep -v '^$' # 빈 줄 삭제
Cleanup result: only pure English text remains (no timestamps, numbers, or duplicates)
2-4. Webpage Extraction (inside Task Agent)
1. mcp__claude-in-chrome__tabs_context_mcp
2. mcp__claude-in-chrome__tabs_create_mcp
3. mcp__claude-in-chrome__navigate: url="{URL}"
4. mcp__claude-in-chrome__get_page_text: tabId={tabId}
5. 스크롤 후 추가 콘텐츠 확인
2-5. PDF Extraction (inside Task Agent)
Read: file_path="{PDF 경로}"
2-6. Web Research (inside Task Agent)
After identifying 5-10 key keywords from the extracted text:
WebSearch (병렬 실행):
- "{키워드1} explained"
- "{키워드2} research"
- "{저자/발표자} {주제}"
- "{핵심개념} fundamentals"
2-7. Save Final md File (inside Task Agent)
Path: research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md
---
title: {콘텐츠 제목}
type: {youtube|web|pdf}
url: {URL 또는 파일경로}
author: {저자/채널명}
date: {발행 날짜}
processed_at: {처리 일시}
keywords: [{키워드1}, {키워드2}, ...]
---
# {콘텐츠 제목}
## 핵심 요약
{3-5문장 요약}
## 주요 인사이트
1. **{인사이트1}**: 설명
2. **{인사이트2}**: 설명
3. **{인사이트3}**: 설명
## 웹 리서치 결과
### {키워드1}
- 발견 내용 요약
- 출처: {URL}
### {키워드2}
- 발견 내용 요약
- 출처: {URL}
## 원문 (정제됨)
{번호/시간 제거된 순수 텍스트}
## Quiz 재료 (Pre-Quiz + 본 Quiz용)
> **생성 순서**: 반드시 위의 "핵심 요약"과 "주요 인사이트"를 먼저 작성한 후, 이를 기반으로 퀴즈 생성
> **출제 원칙**: 핵심 주제만 출제. 날짜, 통계, 지엽적 세부사항 제외.
### 기본 레벨 (3문제 후보)
- Q1: {핵심 개념/메시지 관련}
- Q2: {주요 원칙 관련}
- Q3: {저자 핵심 주장 관련}
### 중급 레벨 (3문제 후보)
- Q4: {개념 간 관계}
- Q5: {근거와 논리 연결}
- Q6: {핵심 아이디어 비교}
### 심화 레벨 (3문제 후보)
- Q7: {실제 적용/응용}
- Q8: {핵심 원리의 확장}
- Q9: {저자 관점의 함의}
Phase 3: Read the Result in the Main Session
After the Task Agent completes:
Read: file_path="research/digests/{type}/{YYYY-MM-DD}-{sanitized-title}.md"
Main session reads only refined md files → maximize context efficiency
Phase 4: Pre-Quiz (Core)
Purpose: Create information gap → prime attention → induce active learning
Quiz Design Principles
Ask only about core topics: Do not ask about trivial details or numbers, but only about content directly tied to the core message
- ✅ Core concepts, key principles, author's core claims
- ❌ Dates, statistical figures, incidental examples, minor details
Use the "Quiz Materials" section of the resulting md file to create 3 questions:
AskUserQuestion:
questions:
- question: "[Pre-Quiz] 이 콘텐츠에서 다룰 것 같은 핵심 개념은?"
header: "PQ1"
options: [4개 선택지]
- question: "[Pre-Quiz] 저자가 강조할 것 같은 메시지는?"
header: "PQ2"
options: [4개 선택지]
- question: "[Pre-Quiz] 이 주제에서 가장 중요한 원칙은?"
header: "PQ3"
options: [4개 선택지]
Result Handling:
- Show correct/incorrect immediately
- Incorrect answers → guide with "Check this part in the content"
- Create Knowledge Gap: "Now you will want to find the answer when you look at the content"
Phase 5: Optional Content Provision
Based on the Pre-Quiz results, provide options to the user:
AskUserQuestion:
questions:
- question: "어떤 콘텐츠를 먼저 보시겠습니까?"
header: "Content"
options:
- label: "틀린 문제 관련 섹션만"
description: "Pre-Quiz에서 틀린 부분의 답을 찾아보기"
- label: "핵심 인사이트 3개"
description: "콘텐츠의 가장 중요한 포인트만"
- label: "전체 요약 + 인사이트"
description: "종합적인 콘텐츠 분석"
- label: "바로 본 퀴즈로"
description: "요약 없이 9문제 퀴즈 진행"
5-1. Sections Related to Incorrect Answers
Extract only sections related to Pre-Quiz incorrect answers:
- YouTube: relevant timestamp
- Webpage: relevant paragraph
- PDF: relevant page/section
5-2. Key Insights (Concise Mode)
## 핵심 인사이트 3개
1. **[키워드]**: 1-2문장 설명
2. **[키워드]**: 1-2문장 설명
3. **[키워드]**: 1-2문장 설명
5-3. Full Summary + Insights
## 요약
{3-5문장}
## 인사이트
### 핵심 아이디어
### 적용 가능한 점
Phase 6: Main Quiz (9 questions)
3 levels × 3 questions. Conduct each level with AskUserQuestion.
Design Principles: All questions must be directly tied to the core topics of the content. Do not ask about minor details, dates, or statistical figures.
| Level | Difficulty | Design Criteria |
|---|---|---|
| 1 | Basic | Core message, key concepts |
| 2 | Intermediate | Relationships between concepts, linking evidence |
| 3 | Advanced | Case analysis, application, specific data |
Question Types in Detail: references/quiz-patterns.md
Immediate Feedback: Provide correct answers/explanations immediately after completing each level
Phase 7: Elaborative Interrogation
"Why?" questions induce deeper processing (76% vs 69% improvement in correct answer rate)
After completing the quiz, ask deeper questions about core concepts:
AskUserQuestion:
questions:
- question: "다음 중 더 깊이 이해하고 싶은 개념은?"
header: "Deep Dive"
multiSelect: true
options:
- label: "{개념 A}"
description: "왜 이것이 중요한지 탐구"
- label: "{개념 B}"
description: "이것의 근본 원리 이해"
- label: "{개념 C}"
description: "실제 적용 사례 확장"
- label: "바로 다음 단계로"
description: "현재 이해 수준으로 충분"
For the selected concept:
- "Why is this true?" questions and answers
- Location of evidence within the content (timestamp/page/section)
- Provide additional context through web search
Phase 8: Foundation Expansion
Expand foundational knowledge beyond the content
8-1. Web search for foundational concepts (3-5 parallel WebSearch queries)
검색 쿼리:
- "{핵심 개념} fundamentals explained"
- "{핵심 개념} 기초 원리"
- "{이론/방법론} research paper original"
- "{저자/발표자} other works recommendations"
8-2. Organize Fundamental Knowledge
## Foundation Expansion
### 이 콘텐츠의 기초가 되는 개념들
| 개념 | 설명 | 출처 |
|------|------|------|
| {기초 개념 1} | 1줄 설명 | {URL} |
| {기초 개념 2} | 1줄 설명 | {URL} |
### 더 깊이 들어가려면
- **선수 지식**: {이 콘텐츠를 완전히 이해하려면 알아야 할 것}
- **후속 학습**: {이 콘텐츠 다음에 볼 만한 것}
- **관련 연구**: {학술적 배경}
Phase 9: Schema Connection (Connect with Previous Learning)
Maximize learning effectiveness when connecting with existing knowledge
research/digests/ Scan existing digests in the folder:
## 관련 학습 기록
이 콘텐츠와 연결되는 이전 학습:
| 콘텐츠 | 타입 | 연결 포인트 | 날짜 |
|-------|------|------------|------|
| {이전 제목} | {youtube/web/pdf} | {공통 개념/대조되는 관점} | {날짜} |
### 지식 네트워크
```mermaid
graph LR
A[이번 콘텐츠] --> B[공통 개념]
C[이전 콘텐츠 1] --> B
D[이전 콘텐츠 2] --> B
---
## Phase 10: 문서 업데이트 (퀴즈 결과 반영)
Task Agent가 저장한 md 파일에 퀴즈 결과 추가:
```markdown
## Pre-Quiz 결과
{점수 및 Knowledge Gap 기록}
## 본 퀴즈 결과
{점수, 오답 노트}
## Elaborative Interrogation
{선택한 개념에 대한 심화 탐구}
Basic content is already saved in Phase 2. Here, only add learning results.
Phase 11: Follow-up Selection
AskUserQuestion:
questions:
- question: "다음으로 무엇을 하시겠습니까?"
header: "Next"
options:
- label: "다른 문제로 재퀴즈"
description: "같은 콘텐츠, 새로운 9문제"
- label: "Deep Research"
description: "웹 심층 조사로 확장 (references/deep-research.md)"
- label: "관련 콘텐츠 추천"
description: "이 주제의 다른 콘텐츠 찾기"
- label: "종료"
description: "학습 완료"
Required: Quiz-First Mode
No mode selection. Always proceed Quiz-First.
Research shows that pre-learning testing yields a 9-12% improvement effect, and viewing a summary first eliminates this effect.
워크플로우 (고정):
1. 콘텐츠 타입 감지
2. Task Agent 실행 (추출 + 정제 + 웹 리서치 + md 저장)
3. 메인 세션에서 결과 md Read
4. Pre-Quiz (3문제) ← 반드시 먼저
5. 선택적 콘텐츠 제공
6. 본 퀴즈 (9문제)
7-9. 심화 학습 (Elaboration, Foundation, 스키마)
10. 문서 업데이트
11. 후속 선택
Even if the user requests "summary only," "without quiz," etc.:
- "Quiz-First improves learning outcomes by 9-12%. Shall we try just 3 questions first?"
- Provide summary only upon strong request, but include a quiz suggestion message
Notes by content type
YouTube
Subtitle language priority
- Korean manual → 2. English manual → 3. Korean auto → 4. English auto
yt-dlp options
--list-subs: Check subtitle list--cookies-from-browser chrome: When login is required
Webpage
Always use claude-in-chrome. Do not use WebFetch.
claude-in-chrome workflow
1. tabs_context_mcp로 탭 컨텍스트 확인
2. tabs_create_mcp로 새 탭 생성
3. navigate로 URL 이동
4. get_page_text로 텍스트 추출
5. scroll로 전체 콘텐츠 로드 (무한 스크롤 대응)
6. get_page_text 재호출로 추가 콘텐츠 확인
7. read_page로 구조 파악 (필요시)
Advantages
- Perfect support for dynamic content
- Can access paywalled/login content
- Handles infinite scroll pages
- Accurately retrieves the entire body text
Read tool characteristics
- Recognizes text and images simultaneously
- Processes page by page
- Can recognize table/chart structures
Large PDFs
- Process in chunks by specifying page ranges
- Check the table of contents first, then focus on sections of interest
Resources
scripts/extract_metadata.sh- YouTube metadata extractionscripts/extract_transcript.sh- YouTube subtitle extractionreferences/quiz-patterns.md- Quiz question type detailsreferences/deep-research.md- Deep Research workflowreferences/learning-science.md- Learning science research evidence
Learning science evidence
This workflow is based on the following research:
-
Pretesting Effect (Richland et al., Roediger & Karpicke)
- Pre-learning testing → 9-12% improvement, effect size g = 0.34-0.54
-
Information Gap Theory (Loewenstein, 1994)
- Knowledge gap awareness → dopamine circuit activation → memory strengthening
-
Elaborative Interrogation (Dunlosky et al., 2013)
- "Why?" questions → deep processing → 76% vs 69% correct answer rate
-
PACE Framework (Gruber et al., 2019)
- In a curious state, even unrelated information improves memory
Details: references/learning-science.md