YouTube Research → Chinese Brief
Purpose
Convert a research direction into a structured Chinese-language brief backed
by the top 5 authoritative English YouTube talks on that topic.
The output is two-layered:
- Human-readable —
analysis.mdwith comparison tables, taxonomy, and
a per-video applicability assessment against a user-supplied application
context (e.g. 网络测绘, 客服 Agent, 代码评审). - Machine-readable —
videos.json,findings.json,applicability.json
that load into SQLite in one line.
The skill bakes in every environment fix required to make yt-dlp actually
work on this macOS + WorkBuddy host (see references/pitfalls.md).
When to trigger
Trigger phrases (Chinese or English):
- "研究 X 方向,搜 YouTube 视频翻译给我"
- "找 X 主题最好的英文讲座"
- "做一份 X 调研"
- "用 YouTube 视频帮我做技术调研"
- "Research X topic from top YouTube talks and translate to Chinese"
- "Build a brief on X from YouTube videos"
Hard preconditions (must be satisfied by user before invocation):
- A research direction (≥3 words).
- Optional but recommended: an application context, so the applicability
section is grounded. Without it, omit the applicability table entirely.
Workflow
The skill is a strict pipeline. Do not parallelize across stages; the
output of each stage feeds the next.
Stage 1 — Discover (use WebSearch)
Find the top 5 most authoritative English-language YouTube talks on the
research topic. Use 2-3 distinct search queries (broad + specific) and
collect up to 8 candidate IDs, then rank by:
- Presenter / channel authority (Google, Anthropic, MongoDB, Mem0, Letta
> individual creators for technical topics). - Recency (prefer 2024+ when relevant).
- Depth (longer > shorter when depth is the user's goal).
Capture: youtube_id, title, channel, url.
Stage 2 — Download subtitles (use scripts/yt_dlp_download.sh)
mkdir -p <output_dir>/vtt
cd <output_dir>/vtt
~/.workbuddy/skills/youtube-research-cn/scripts/yt_dlp_download.sh \
"https://www.youtube.com/watch?v=<id1>" \
"https://www.youtube.com/watch?v=<id2>" \
...
The script handles every pitfall documented in references/pitfalls.md:
env-var scrubbing, managed Node path, EJS challenge solver, player_client
fallback. If you re-implement the command inline, you MUST carry every
flag from references/pitfalls.md §TL;DR.
After download, verify with ls *.vtt and word-count each file with
wc -w. If a video's VTT is empty or <500 words, the auto-sub failed;
retry once with the relaxed fallback flags the script applies, or drop
the video from the shortlist.
Stage 3 — Parse (use scripts/parse_vtt.py)
~/.workbuddy/skills/youtube-research-cn/scripts/parse_vtt.py <output_dir>/vtt
This produces *.txt siblings next to every *.vtt. Expected output for
a 25-minute talk: 2-7k words after dedup, depending on speech rate.
Stage 4 — Analyze & translate
Read each *.txt in full. For each video, extract:
- Metadata: presenter, source, duration class.
- Core thesis: 1-sentence Chinese summary of the speaker's position.
- Concept taxonomy: which memory types / patterns / evaluations they
mention (cross-reference against the master taxonomy list in
references/output_schema.md). - Architecture dimension coverage: which of {storage, retrieval,
write path, read path, multi-agent, async, forgetting model} the talk
actually addresses.
Stage 5 — Compose analysis.md
Follow the structure in references/output_schema.md §analysis.md
structure exactly. All tables must be Markdown. The applicability
section is only generated if the user supplied an application context.
Stage 6 — Produce SQLite-ready JSON + schema.sql
Emit four files in <output_dir>:
videos.json— flat array, one object per video (Table 1 schema).findings.json— flat array, one object per (video, dimension, key)
triple (Table 2 schema). For this skill the file is namedarchitecture.json
to reflect that architecture facts (core_abstraction, read_path, write_path,
storage, forgetting_model, multi_agent, async) are the primary findings.applicability.json— only if application context was supplied
(Table 3 schema).memory_types.json— master dictionary of memory categories (Table 2'
schema).schema.sql—CREATE TABLEfor all four + av_top_recommendations
convenience view.
The user can load all four files into SQLite with one command after applying
the schema:
sqlite3 research.db < schema.sql
~/.workbuddy/skills/youtube-research-cn/scripts/load_to_sqlite.py research.db .
Resources
This skill ships three reusable artifacts:
scripts/
| File | Purpose |
|---|---|
parse_vtt.py |
Strip VTT cues, dedup YouTube's progressive-line artifact, emit *.txt. Parameterized by input dir. |
yt_dlp_download.sh |
One-command subtitle fetch. Carries all references/pitfalls.md flags. Supports --batch <urls.txt>. |
references/
| File | When to load |
|---|---|
pitfalls.md |
Always before re-implementing yt-dlp commands manually. |
output_schema.md |
Always before composing analysis.md and the JSON files. Defines the three tables and translation rules. |
Notes
- The skill deliberately separates discovery (WebSearch — judgement
needed) from download (deterministic script) from analysis
(judgement). Don't try to fully automate analysis — model judgement is
the whole point. - The skill is language-agnostic for input but the output is always
Chinese unless the user explicitly says otherwise. - This skill does not generate original commentary about the research
topic. It summarizes and structures what the videos actually said.
Cross-video synthesis is allowed but must be flagged as such. - If a video's content overlaps ≥80% with another already-downloaded
video, prefer the shorter one to save analysis time, but note the
overlap in the analysis.