youtube

youtube is a skill for Claude Code, Codex from martinemde/dotfiles. It costs 13 tokens per session (1,231 once invoked), scanned A, original, ISC.

A workflow that downloads the transcript of a YouTube video and turns it into organized, easy-to-scan notes. YouTube is a video-sharing site where videos may include spoken-content transcripts or subtitles.

In plain words
What is it for?
Creating notes from a YouTube URL or video ID, including the title, uploader, date, duration, and available English transcript.
Why use it?
It removes the need to watch or manually transcribe a video to find its main information. The result provides a structured reference document with video details.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/martinemde/dotfiles/youtube
Any agent
npx skills add martinemde/dotfiles --skill youtube
Clone the repo
git clone --depth 1 https://github.com/martinemde/dotfiles

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for youtube

README.md
[![agentmods](https://agentmods.dev/badge/skills/martinemde/dotfiles/youtube.svg)](https://agentmods.dev/skills/martinemde/dotfiles/youtube)
Your own site
<a href="https://agentmods.dev/skills/martinemde/dotfiles/youtube"><img src="https://agentmods.dev/badge/skills/martinemde/dotfiles/youtube.svg" alt="Measured on agentmods" height="20"></a>
Per session 13 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,231 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00013 $0.01231
Opus 5 $0.00006 $0.00616
Sonnet 5 $0.00003 $0.00246
Haiku 4.5 $0.00001 $0.00123

Measured 4d ago against content hash 1ab6121e336b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

youtube scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

home/dot_claude/skills/youtube/SKILL.md · 178 lines

How it starts

The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.

YouTube Transcript to Structured Notes

Arguments

$ARGUMENTS

Instructions

This workflow fetches a YouTube video transcript and transforms it into a structured, skimmable reference document. Uses a forked context since the transcript processing doesn't need to inform follow-up conversation.

1. Parse Video Input

  • Full URL: Use directly (supports youtube.com, youtu.be)
  • Video ID: Construct https://youtube.com/watch?v={id}
  • If missing: Ask for the video URL

2. Fetch Video Metadata

yt-dlp --print "%(title)s" --print "%(channel)s" --print "%(uploader)s" --print "%(upload_date)s" --print "%(duration)s" --skip-download "VIDEO_URL"

Capture:

  • Title — for filename and frontmatter
  • Channel/Uploader — for attribution (use uploader if personal, channel if organizational)
  • Upload Date — format as YYYY-MM-DD
  • Duration — for context

3. Download Transcript

mkdir -p tmp
yt-dlp --skip-download --write-auto-subs --sub-langs "en" --sub-format "srt" --convert-subs srt -o "tmp/transcript" "VIDEO_URL"

Saves to tmp/transcript.en.srt. If no English subs, try en-orig or check --list-subs.

4. Determine Output Filename

Use APA-style title capitalization with creator:

Format: Reference/Full Title Here (Creator Name).md

APA rules:

  • Capitalize first word and all major words
  • Capitalize words of 4+ letters
  • Lowercase: a, an, the, and, but, or, for, nor, on, at, to, by (unless first)

Examples:

  • No Vibes Allowed - Solving Hard Problems in Complex Codebases (Dex Horthy).md
  • The Art of Doing Science and Engineering (Richard Hamming).md

5. Spawn Processing Agent

Hand the transcript to a subagent rather than reading it — an hour of captions crowds out the rest of the session for no benefit, since the structured document is the only output that matters. Use the Task tool with subagent_type: general-purpose:

## Task: Convert Video Transcript to Structured Written Document

**Input file:** `tmp/transcript.en.srt`

**Video Metadata:**
- Title: [VIDEO TITLE]
- Speaker/Creator: [CREATOR NAME]
- Channel: [CHANNEL NAME]
- Upload Date: [YYYY-MM-DD]
- URL: [VIDEO URL]
- Duration: [DURATION]

## Your Mission

Transform this SRT transcript into a **structured written document** optimized for speed-reading and reference.

## Key Principles

1. **Structure, don't summarize.** Convert spoken word to written form — don't condense. The human brain can skim structured text far faster than watching video.

2. **Preserve density.** Don't pad with filler, but don't cut substantive points. If the speaker made a point, include it.

3. **Use document structure liberally:**
   - Clear hierarchical headings (H2, H3, H4)
   - Blockquotes for key quotes or memorable phrasings
   - Bullet lists for enumerations
   - Code blocks for technical examples
   - Bold for key terms/concepts
   - Horizontal rules between major sections

4. **Write for skimmability.** Someone should get the gist from headings alone, then dive deeper as needed.

## Output Format

Write to: `Reference/[FILENAME].md`

Start with YAML frontmatter:
```yaml
---
title: "[Full Video Title]"
speaker: [Speaker/Creator Name]
organization: [Organization if applicable, omit if none]
event: [Event name if applicable, omit if none]
date: YYYY-MM-DD
source: [VIDEO URL]
type: talk-notes
tags:
  - [relevant-tag-1]
  - [relevant-tag-2]
  - [add 2-4 more based on content]
---

After frontmatter, include attribution: Video by [Creator]. Watch the original.

Quality Checklist

Before finishing, verify:

  • All substantive points from the talk are represented
  • Headings create a scannable outline
  • Key quotes preserved as blockquotes
  • Technical terms properly formatted
  • Reads as coherent written piece (not transcript-like)
  • Someone could understand the content without watching

Read the full file on GitHub · 178 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 178 lines · 13 tokens per session scan A 1ab6121e336b

Subscribe to this mod's changes

youtube is a skill published in the GitHub repository martinemde/dotfiles (9 stars, last pushed 4d ago), licensed ISC. It adds 13 tokens to every session and 1,231 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

dotfiles-bootstrap

Bootstrap a workstation with the dotfiles framework. Takes a GitHub user / owner+repo / explicit clone URL and runs dot init (which shells out to chezmoi) with the right safety prompts. Honors the active agent profile (ask / plan / apply / audit) so it defaults to dry-run in safer modes and full apply in apply.

sebastienrousseau/dotfiles · 88 tokens

vibe

Delegate a coding task to a cheap AI model (Mistral Vibe by default, but any provider Vibe knows about — DeepSeek, Gemini Flash, etc.) and supervise the result via git diff. Claude orchestrates, the cheap model codes. Claude consumes 500-1500 tokens per delegation regardless of how many file reads the delegate does…

sebastienrousseau/dotfiles · 137 tokens

aiq-research

Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.

laurigates/dotfiles · 25 tokens

obsidian-bases

Obsidian Bases database feature for YAML-based interactive note views. Use when creating .base files, writing filter queries, building formulas, configuring table/card views, or working with Obsidian properties and frontmatter databases.

laurigates/dotfiles · 49 tokens

telegram

Send notifications, interactive questions, or multiple-choice polls to the user via Telegram. Use when the user asks to be notified ("ping me", "notify me on Telegram", "ask me when..."), when a long-running task finishes and the user is likely away, when an irreversible action needs out-of-band confirmation, or when…

laurigates/dotfiles · 117 tokens

chezmoi-expert

Comprehensive chezmoi dotfiles management expertise including templates, cross-platform configuration, file naming conventions, and troubleshooting. Covers source directory management, reproducible environment setup, and chezmoi templating with Go templates. Use when user mentions chezmoi, dotfiles, cross-platform…

laurigates/dotfiles · 88 tokens