SuperAPI AI Directory

content-digest

Office & productivity

View repository

Updated 10-15 16:43

About this skill

Content Digest

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

  1. Context Separation: Long subtitles/body text are handled by a Task agent, and the main session reads only the lightweight md file
  2. Clean Transcript: Remove numbers and timestamps from subtitles → extract only pure English text
  3. Web Research Integration: Automatic web research using extracted keywords
  4. 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/
PDF Task agent (Read + cleanup) research/digests/pdf/

Core Principles

  1. Quiz-First: Start with a quiz before viewing the summary (Pretesting Effect → 9-12% improvement)
  2. Knowledge Gap: Wrong answers create curiosity, and curiosity strengthens memory
  3. Selective Depth: Go deep only on the parts the user wants to know more about
  4. 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 PDF

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 body
  • tweet.author: Author information (name, bio, followers)
  • tweet.likes/retweets/views: Engagement
  • tweet.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:

  1. "Why is this true?" questions and answers
  2. Location of evidence within the content (timestamp/page/section)
  3. 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

  1. 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

PDF

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 extraction
  • scripts/extract_transcript.sh - YouTube subtitle extraction
  • references/quiz-patterns.md - Quiz question type details
  • references/deep-research.md - Deep Research workflow
  • references/learning-science.md - Learning science research evidence

Learning science evidence

This workflow is based on the following research:

  1. Pretesting Effect (Richland et al., Roediger & Karpicke)

    • Pre-learning testing → 9-12% improvement, effect size g = 0.34-0.54
  2. Information Gap Theory (Loewenstein, 1994)

    • Knowledge gap awareness → dopamine circuit activation → memory strengthening
  3. Elaborative Interrogation (Dunlosky et al., 2013)

    • "Why?" questions → deep processing → 76% vs 69% correct answer rate
  4. PACE Framework (Gruber et al., 2019)

    • In a curious state, even unrelated information improves memory

Details: references/learning-science.md