🧪 Skills
YouTube Summary
Summarize YouTube videos into structured Markdown with youtube2md, including chaptered notes, timestamp links, and key takeaways. Use when the user provides...
v1.0.3
Description
name: youtube-summary description: Summarize YouTube videos into structured Markdown with youtube2md, including chaptered notes, timestamp links, and key takeaways. Use when the user provides one or more YouTube URLs and asks for summaries, study notes, language-specific summaries, transcript extraction, or machine-readable JSON output. env:
- name: OPENAI_API_KEY required: false description: Enables full summarization mode. When set, transcript content is sent to OpenAI. Omit to use extract-only mode with local summarization.
YouTube Summary (youtube2md)
Use the official youtube2md CLI behavior from the repository.
Runtime + security prerequisites
- Require Node.js 18+.
- Require preinstalled
youtube2mdon PATH.- Recommended pinned install:
npm i -g youtube2md@1.0.1
- Recommended pinned install:
- Require python3 for transcript text preparation (
prepare.py) in extract mode. - Default runner uses local
youtube2mdexecutable only. - Runtime npm execution (
npx) is intentionally not supported in this skill. - The
YOUTUBE2MD_BINenvironment variable override is rejected by the runner. OPENAI_API_KEYenables full summarization mode; transcript/content may be sent to OpenAI through youtube2md’s workflow.- For sensitive content, omit
OPENAI_API_KEYand use extract mode.
- For sensitive content, omit
- In sensitive environments, audit the upstream
youtube2mdpackage and dependencies before installation or version bumps.
See references/security.md before first-time install/enable.
Workflow
-
Validate input
- Accept
youtube.comandyoutu.beURLs. - If URLs are missing, ask for one URL per line.
- Accept
-
Choose mode
- Full mode: generates Markdown.
- Use when
OPENAI_API_KEYis available and external API use is acceptable.
- Use when
- Extract mode (
--extract-only): outputs transcript JSON and prepares transcript text (.txt).- Use when API key is unavailable or when transcript-only output is requested.
- Prefer a no-error path: check key first and run extract directly when key is missing.
- Full mode: generates Markdown.
-
Run converter
- Preferred runner script:
scripts/run_youtube2md.sh <url> full [output_md_path] [language] [model]- If
OPENAI_API_KEYis missing, runner auto-falls back to extract mode by default.
- If
scripts/run_youtube2md.sh <url> extract [output_json_path]
- Optional machine-readable CLI output:
YOUTUBE2MD_JSON=1 scripts/run_youtube2md.sh <url> fullYOUTUBE2MD_JSON=1 scripts/run_youtube2md.sh <url> extract
- Runtime controls:
- Use only locally installed
youtube2mdexecutable. - Do not use runtime npm execution (
npx) for this skill.
- Use only locally installed
- Direct CLI equivalent:
youtube2md --url <url> [--out <path>] [--lang <language>] [--model <model>]- Add
--extract-onlyfor transcript-only mode.
- Preferred runner script:
-
Verify output
- Full mode: Markdown file exists and is non-empty.
- Extract mode: JSON file exists and is non-empty.
- Extract mode: prepared TXT file exists and is non-empty.
- If using
--json, parseok: true/falseand handle errorcode.
-
Respond to the user
- Follow
references/output-format.mdas the default response shape. - Follow
references/summarization-behavior.mdfor source policy and chapter/takeaway density. - Do not include generated local file path(s) in normal user-facing replies.
- Share file paths only when explicitly requested by the user (e.g., debugging/export workflows).
- Summary source policy:
- Full mode succeeded → use youtube2md Markdown output as the summary source.
- Non-full mode (extract) → use prepared
.txttranscript text as the summary source.
- Keep user-facing flow smooth: if key is missing, use extract output and summarize from
.txtwithout surfacing avoidable tool-error noise.
- Follow
Multi-video requests
- Process URLs sequentially.
- Return per-video summary results (omit local file paths unless requested).
- If any fail, report successful items first, then failures with fixes.
Built-in behavior to trust
- Default output paths:
- Full mode:
./summaries/<video_id>.md - Extract mode:
./summaries/<video_id>.json - Local runner post-process (extract):
./summaries/<video_id>.txtviaprepare.py
- Full mode:
Packaging hygiene
- Do not publish generated outputs (e.g.,
summaries/*.json,summaries/*.txt) inside the skill folder. - Keep only source files (
SKILL.md,scripts/,references/, helpers) in release artifacts.
Resources
- CLI runner:
scripts/run_youtube2md.sh - Transcript text prep:
prepare.py - Output guidance:
references/output-format.md - Behavior reference:
references/summarization-behavior.md - Security/install notes:
references/security.md - Troubleshooting and error codes:
references/troubleshooting.md
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!