SuperAPI AI Directory

deep-reading

Writing & research

View repository

Updated 10-16 01:24

About this skill

Deep Reading Agent v2

Overview

Deep Reading Assistant, supports deep reading and note management for YouTube videos, PDF books, podcasts, web pages, and other content. Based on Mortimer Adler's "How to Read a Book," it implements three levels of reading: inspectional reading, analytical reading, and comparative reading.

When to Use

When the user says the following, this skill is automatically triggered:

  • "Help me watch/read/study this video" + YouTube URL
  • "Deep read this content"
  • "Analyze this video/article"
  • "Read this book" + PDF path
  • "Play xxx" (already downloaded content)

Quick Start - AI Operation Flow

1. YouTube Video Processing

When the user provides a YouTube URL:

# Step 1: 下载内容
cd /Users/liweixin/.claude/skills/deep-reading
python3 -m src.fetcher.cli "YOUTUBE_URL"

# Step 2: 生成检视阅读报告
python3 -m src.processor.cli youtube_VIDEO_ID

# Step 3: 告诉用户笔记已生成,可在 Obsidian 查看

2. PDF Book Processing

When the user provides a PDF file path or Zotero directory:

# Step 1: 处理 PDF(提取文本和元数据)
python3 -m src.fetcher.cli "/path/to/file.pdf"
# 或提供包含 PDF 的目录(如 Zotero storage)
python3 -m src.fetcher.cli "/Users/liweixin/Zotero/storage/VDEZ72XG"

# Step 2: 生成检视阅读报告
python3 -m src.processor.cli pdf_XXXXXX

# Step 3: 告诉用户笔记已生成

3. Play Downloaded Content

# 列出所有已下载内容
python3 -m src.player.cli -l

# 播放指定内容 (交互式,需要用户操作)
python3 -m src.player.cli SOURCE_ID

4. View Generated Notes

Notes saved at: ~/smart notes/DeepReading/Sources/

Complete Workflow Example

User: "Help me deep read this video https://www.youtube.com/watch?v=RSNuB9pj9P8"

AI Operation:

cd /Users/liweixin/.claude/skills/deep-reading

# 1. 下载视频内容
python3 -m src.fetcher.cli "https://www.youtube.com/watch?v=RSNuB9pj9P8"

# 2. 生成检视阅读报告到 Obsidian
python3 -m src.processor.cli youtube_RSNuB9pj9P8

AI Reply: "Completed!

  • 📥 Downloaded video: [Title]
  • 📝 Generated inspectional reading report: ~/smart notes/DeepReading/Sources/[Title].md
  • 🎧 If you need to play the audio, please let me know

Notes include:

  • Video metadata
  • Quick summary (to be filled in after AI analysis)
  • Core viewpoints
  • Key concepts
  • Reflection questions

Do you need me to play this video for you?"

User: "Read this book /Users/liweixin/Zotero/storage/VDEZ72XG"

AI Operation:

# 1. 处理 PDF
python3 -m src.fetcher.cli "/Users/liweixin/Zotero/storage/VDEZ72XG"

# 2. 生成报告
python3 -m src.processor.cli pdf_XXXXXX

AI Reply: "Completed!

  • 📖 Processed book: [Title]
  • 📝 Generated inspectional reading report: ~/smart notes/DeepReading/Sources/[Title].md
  • 📄 Total XX pages

Notes include:

  • Book metadata (title, author, page count)
  • Quick summary (to be filled in after AI analysis)
  • Core viewpoints
  • Key concepts
  • Reflection questions"

Cache and Data Locations

~/.deep-reading/
├── cache/
│   ├── youtube/{video_id}/
│   │   ├── audio.mp3        # 音频文件
│   │   ├── transcript.vtt   # 带时间戳的字幕
│   │   ├── transcript.txt   # 纯文本字幕
│   │   └── metadata.json    # 视频元数据
│   └── pdf/{pdf_id}/
│       ├── source.pdf       # PDF 副本
│       ├── content.txt      # 提取的文本
│       └── metadata.json    # PDF 元数据
├── db/deep_reading.db       # SQLite 数据库
└── config.py                # 配置文件

~/smart notes/DeepReading/
└── Sources/                 # Obsidian 笔记
    └── {标题}.md

Playback Control Keys (inform the user)

Key Function
空格 Pause/Play
j Fast forward 30 seconds
k Rewind 10 seconds
J Fast forward 60 seconds
K Rewind 30 seconds
+ / = Speed up
- Slow down
q Exit

Error Handling

  1. No subtitles: Some videos may not have subtitles, which will cause an error
  2. Network issues: When download fails, prompt the user to check the network
  3. Already exists: If the content has already been downloaded, the cache will be used
  4. PDF parsing: Requires installing PyMuPDF (pip install PyMuPDF)

Future Features (M2-M6)

  • M2: TUI player + subtitle synchronization
  • M3: AI automatic chapter segmentation + concept cards
  • M4: Obsidian bidirectional link auto-generation
  • M5: Podcast support
  • M6: Web page support

Note Writing Guidelines

Obsidian bidirectional link [[]] rules

Important: Only use [[]] links when the target file already exists!

  • ❌ Forbidden: Add empty links pointing to non-existent files, such as [[效价]]、[[强化学习]]
  • ✅ Correct: First create the note file, then add [[文件名]] links in other notes
  • ✅ Correct: For concepts not yet created, use plain text descriptions, such as "Valence"

Check whether links are valid

Before adding [[]] links, confirm the file exists:

ls "~/smart notes/DeepReading/Sources/目标文件名.md"

Example

# 正确做法
- 父笔记:A Brief History of Intelligence.md
- 相关概念:效价(Valence)、两侧对称动物

# 错误做法(目标文件不存在)
- 父笔记:[[A Brief History of Intelligence]]
- 相关概念:[[效价]]、[[两侧对称动物]]