youtube-content
Skill2 starsChanged 3 months agoMITView on GitHub
YouTube transcripts to summaries, threads, blogs.
- Installs packages
22 other projects use a version of this, 22 of them edited.
Adopted by
Most recently taken up by
- delorenj/skillsedited, first seen Nov 7, 2026
- gquthier/CLAWGedited, first seen Oct 17, 2026
- Stuko0/alice-agentedited, first seen Oct 13, 2026
- gary2376/claude-skillsedited, first seen Oct 13, 2026
- nobodyohm-web/Thotedited, first seen Oct 13, 2026
- JX-29/llm-wiki-templateedited, first seen Oct 9, 2026
Used with
Projects with it also use webhook-subscriptions, p5js and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Tommy-ywSkillwebhook-subscriptions
Create and manage webhook subscriptions for event-driven agent activation, or for direct push notifications (zero LLM cost). Use when the user wants external services to trigger agent runs OR push notifications to chats.
Also in 5 projects that use this
mae616Skillp5js
p5.js(クリエイティブコーディング)のProcessing由来「コードでスケッチ」思想を軸に、setup/drawループ・座標系・インタラクション・パフォーマンス最適化を整理する。p5.js、Processing、クリエイティブコーディング、ジェネラティブアート、インタラクティブ表現、ビジュアルプログラミング、Canvas描画、パーティクル、フラクタル、ノイズ表現に関する相談で必ず使うこと。ユーザーが「コードでアート」「動くビジュアル」「インタラクティブな描画」と言った場合にも適用する。
Also in 14 projects that use this
john-data-chenSkilltouchdesigner-mcp
Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.
Also in 7 projects that use this
Tommy-ywSkillsongwriting-and-ai-music
Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.
Also in 12 projects that use this
john-data-chenSkillteams-meeting-pipeline
Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.
Also in 9 projects that use this
aivrarSkillsdlc-review
Review Kanban handoffs and route verified outcomes.
Also in 5 projects that use this
- +2 more from Tommy-yw
Other versions22 projects use a version of this.
Word for word · 0
None found.
Edited · 22
- NousResearch/hermes-agent★ 262k62% same
- math-inc/OpenGauss★ 1.3k39% same
- Tommy-yw/RunbookHermes★ 54691% same
- aivrar/portable-hermes-agent★ 23979% same
- RedWoodOG/Hermes-Desktop★ 17739% same
- wundercorp/loki★ 2879% same
- delorenj/skills★ 1785% same
- gquthier/CLAWG★ 1639% same
- Samin12/skills★ 881% same
- VisionaireLabs/Visionaire★ 439% same
12 more not listed
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository53 other files it gives its agents.
- instructions/AGENTS.mdAGENTS.md
- skills/software-development/php-best-practices/AGENTS.mdAGENTS.md
- instructions/CLAUDE.mdCLAUDE.md
- architecture-designerSkill
- caveman-commitSkill
- caveman-compressSkill
- cavemanSkill
- conventional-commitSkill
- agentkit-skill-authoringSkill
- skill-orchestrationSkill
- analogical-thinkingSkill
- investigateSkill
- ponytailSkill
- systematic-debuggingSkill
- mermaid-diagramsSkill
- feature-forgeSkill
- find-skillsSkill
- impeccableSkill
- javascript-proSkill
- legacy-modernizerSkill
- migrationSkill
- no-ai-slopSkill
- olakunlevpn-filament-skillsSkill
- clickupSkill
- clickup-tweak-workflowSkill
- git-advancedSkill
- local-wikiSkill
- mr-reviewSkill
- php-proSkill
- doxSkill
- improveSkill
- openspecSkill
- scrutinizeSkill
- systems-thinkingSkill
- tweakSkill
- tweak-workflowSkill
- prompt-engineerSkill
- laravel-best-practicesSkill
- pest-testingSkill
- php-best-practicesSkill
- security-audit-lightSkill
- security-best-practicesSkill
- spatie-javascriptSkill
- spatie-laravel-phpSkill
- spatie-securitySkill
- spatie-version-controlSkill
- tailwindcss-developmentSkill
- test-driven-developmentSkill
- sql-proSkill
- typescript-proSkill
- ui-ux-pro-maxSkill
- vue-expert-jsSkill
- vue-expertSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 3 are common, 6 are distinctive, and 5 are very specific to this project.
3
Common
Most of the 22 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 11
Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat …
- Common: line 41
After fetching the transcript, format it based on what the user asks for:
- Common: line 64
Chunk if needed: if the transcript exceeds ~50K characters, split into overlapping chunks (~40K with 2K overlap) and summarize each chunk …
- Distinctive: line 70
When the user shares a YouTube URL and asks to add it to their wiki/knowledge base:
- Very specific: line 80
Use browser_navigate to the YouTube URL and read the <h1> heading.
- Distinctive: line 102
Read through all chunks to identify entities, concepts, and themes.
- Very specific: line 108
Update index.md and log.md after all pages are written.
- Very specific: line 123
Verify with sed -n '<line>p' wiki/index.md after.
- Distinctive: line 131
When ingesting multiple videos in one session:
- Distinctive: line 136
Run the lint script once against ALL new pages from ALL ingests
- Distinctive: line 142
After creating new pages from a video, search for existing glossary/pages that cover related concepts and add cross-references to the new …
- Very specific: line 157
Dependency missing: run pip install youtube-transcript-api and retry.
- Distinctive: line 161
When the transcript API returns "Transcripts are disabled for this video," the user can still get a clipping.
- Very specific: line 173
If the video is a sports game, also check basketball-reference.com (or equivalent) for play-by-play data.
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
YouTube Content Tool
When to use
Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any YouTube video. Transforms transcripts into structured content (chapters, summaries, threads, blog posts).
Extract transcripts from YouTube videos and convert them into useful formats.
Setup
pip install youtube-transcript-apiHelper Script
SKILL_DIR is the directory containing this SKILL.md file. The script accepts any standard YouTube URL format, short links (youtu.be), shorts, embeds, live links, or a raw 11-character video ID.
# JSON output with metadata
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID"
# Plain text (good for piping into further processing)
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --text-only
# With timestamps
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --timestamps
# Specific language with fallback chain
python3 SKILL_DIR/scripts/fetch_transcript.py "URL" --language tr,enOutput Formats
After fetching the transcript, format it based on what the user asks for:
- Chapters: Group by topic shifts, output timestamped chapter list
- Summary: Concise 5-10 sentence overview of the entire video
- Chapter summaries: Chapters with a short paragraph summary for each
- Thread: Twitter/X thread format — numbered posts, each under 280 chars
- Blog post: Full article with title, sections, and key takeaways
- Quotes: Notable quotes with timestamps
Example — Chapters Output
00:00 Introduction — host opens with the problem statement
03:45 Background — prior work and why existing solutions fall short
12:20 Core method — walkthrough of the proposed approach
24:10 Results — benchmark comparisons and key takeaways
31:55 Q&A — audience questions on scalability and next stepsWorkflow
- Fetch the transcript using the helper script with
--text-only --timestamps. - Validate: confirm the output is non-empty and in the expected language. If empty, retry without
--languageto get any available transcript. If still empty, tell the user the video likely has transcripts disabled. - Chunk if needed: if the transcript exceeds ~50K characters, split into overlapping chunks (~40K with 2K overlap) and summarize each chunk before merging.
- Transform into the requested output format. If the user did not specify a format, default to a summary.
- Verify: re-read the transformed output to check for coherence, correct timestamps, and completeness before presenting.
Pipeline: Transcript → LLM Wiki
When the user shares a YouTube URL and asks to add it to their wiki/knowledge base:
- Fetch transcript with the JSON output (not
--text-only):
Returns JSON:python3 SKILL_DIR/scripts/fetch_transcript.py "URL" 2>/dev/null{video_id, segment_count, duration, full_text}. Note:full_textis a single unbroken line (no\n). Parse withjson.load(). - Get video title/channel — the JSON response often lacks
titleandchannel. Usebrowser_navigateto the YouTube URL and read the<h1>heading. The page title follows the pattern:"Video Title - YouTube". - Save raw transcript to
raw/transcripts/<topic-slug>-YYYY-MM.mdwith frontmatter:
Then the--- source_url: https://www.youtube.com/watch?v=VIDEO_ID video_id: VIDEO_ID channel: Channel Name title: "Video Title" duration: "MM:SS" ingested: "YYYY-MM-DD" sha256: <hex of body> ---full_textcontent. Compute sha256 over body only (after closing---). - Read the wiki's existing state — SCHEMA.md/CLAUDE.md, index.md, recent log.md (per llm-wiki skill). This is non-negotiable: orient before ingesting.
- Read and chunk the transcript —
full_textis one line. Useexecute_codewithre.split(r'(?<=[.!?])\s+', text)to break into ~2000-char sentence-bounded chunks. Read through all chunks to identify entities, concepts, and themes. - Identify entities and concepts from the transcript that meet the wiki's page thresholds. A single video typically yields 1 main page + 2-4 glossary entries.
- Create/update wiki pages — entities, concepts, cross-references.
Update
index.mdandlog.mdafter all pages are written. Lint immediately — run wikilink resolution, required-sections check, index completeness, and raw-path wikilink audit as a
terminalinline-python block. Catches issues while context is fresh. Seellm-wikiskill for the repeatable lint pattern. Do NOT useexecute_codefor the lint script — it requires user approval and times out if the user doesn't respond within ~30s. Useterminalwith inline python3 -c "..." instead.Pitfall: editing index.md with
patchtool. The LLM wikiindex.mduses||pipe-prefixed table rows. Thepatchtool's fuzzy matching can silently fail on pipe characters — it reports success but the file is unchanged (e.g.,|||≠||to the matcher). When you need to fix table row formatting inindex.md, useterminalwithseddirectly:sed -i '' 's/^||| /|| /g' wiki/index.mdVerify with
sed -n '<line>p' wiki/index.mdafter.
Some videos (tech talks, hardware reviews) produce fewer entity pages but rich comparison/analysis pages — adapt the page types to the content, don't force entity pages when the source is primarily analytical.
Multi-Video Session Pattern
When ingesting multiple videos in one session:
- Fetch all transcripts first (one
terminalcall each, saving to/tmp/yt_transcript_N.md) - Save all raw transcripts with frontmatter
- For each video: read chunks, create pages + glossary entries
- Single pass: update index.md and log.md for ALL ingests
- Run the lint script once against ALL new pages from ALL ingests
This avoids redundant lint runs and catches cross-ingest wikilink issues in one pass.
Cross-Referencing Existing Pages
After creating new pages from a video, search for existing glossary/pages that cover related
concepts and add cross-references to the new pages. This is NOT optional — it's what makes
the wiki compound rather than accumulate. Typical trigger: new page mentions a concept that
already has its own glossary entry. Add a [[pages/new-page]] link to the existing page's
Related section.
Before creating wikilinks, always search_files or ls the target directory to confirm
the actual filename. Wikilinks must match the real filename (minus .md). A common error:
linking to glossary/llama-cpp-local-inference when the file is actually glossary/local-llm-inference.md.
Error Handling
- Transcript disabled: tell the user, then offer fallback paths (see below).
- Private/unavailable video: relay the error and ask the user to verify the URL.
- No matching language: retry without
--languageto fetch any available transcript, then note the actual language to the user. - Dependency missing: run
pip install youtube-transcript-apiand retry.
Fallback: Transcript Disabled
When the transcript API returns "Transcripts are disabled for this video," the user can still get a clipping. Offer these options (in order):
- Web research fallback — Search for recaps, recaps, play-by-play, and articles about the video content. Use
web_searchwith the video title + channel + date to find detailed coverage. Extract multiple sources withweb_extract. Combine into a structured clipping using the same output formats (summary, chapters, blog post, etc.). This works well for sports highlights, news clips, and trending videos that have been covered by sports/news media. - Browser vision fallback — Navigate to the video with
browser_navigate, play it, and capture screenshots at intervals withbrowser_vision. Then summarize from the screenshots. Note: this only works if the active model supports native vision; non-vision models will fail onvision_analyze/browser_vision. Check before offering this path. - Skip — If neither fallback fits, tell the user honestly.
For the web research path, the workflow is:
browser_navigateto the YouTube URL to get the video title from the<h1>heading.web_searchfor recaps/highlights using the video title, channel name, and date.web_extractthe top 2–3 results for detailed content.- If the video is a sports game, also check
basketball-reference.com(or equivalent) for play-by-play data. - Synthesize into the requested format, citing sources.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

