Install
openclaw skills install @sunghyo/youtube-summarySummarize YouTube videos with youtube2md, including bare YouTube URLs with no instructions, chaptered notes, timestamp links, transcript extraction, and key takeaways.
openclaw skills install @sunghyo/youtube-summaryUse the official youtube2md CLI behavior from the package/repository, with this skill's full-mode default model set to gpt-5.4-mini.
youtube2md on PATH.
npm i -g youtube2md@1.0.2prepare.py) in simple/transcript modes.youtube2md executable only.npx) is intentionally not supported by this skill runner.YOUTUBE2MD_BIN environment variable override is rejected by the runner.OPENAI_API_KEY enables full summarization mode; transcript and/or audio-derived content may be sent to OpenAI through youtube2md's workflow.
OPENAI_API_KEY and use simple or transcript mode when captions are available.gpt-5.4-mini.
scripts/run_youtube2md.sh <url> full <output_md_path> <language> <model>.YOUTUBE2MD_DEFAULT_MODEL=<model> when the fifth argument is omitted.YOUTUBE_COOKIES_PATH or YOUTUBE_COOKIE_HEADER can be used when YouTube blocks anonymous caption/audio access.youtube2md@1.0.2 and dependencies before installation or future version bumps.See references/security.md before first-time install/enable.
Validate input
youtube.com and youtu.be URLs.Choose mode
OPENAI_API_KEY is visible/available and external API use is acceptable, try full mode first.gpt-5.4-mini through the runner.--extract-only internally, prepares transcript text (.txt), then summarizes from that transcript.
--extract-only internally and returns/prepares transcript output without a summary.
Run converter
scripts/run_youtube2md.sh <url> full [output_md_path] [language] [model]
OPENAI_API_KEY is missing, runner auto-falls back to the internal extract path; disclose summary output as simple mode.[model] is omitted, runner passes --model gpt-5.4-mini unless YOUTUBE2MD_DEFAULT_MODEL is set.scripts/run_youtube2md.sh <url> extract [output_json_path]
extract is the runner/CLI mode name.simple when summarizing from the prepared .txt.transcript when returning transcript-only output.YOUTUBE2MD_JSON=1 scripts/run_youtube2md.sh <url> fullYOUTUBE2MD_JSON=1 scripts/run_youtube2md.sh <url> extractYOUTUBE2MD_STDOUT=1 scripts/run_youtube2md.sh <url> extractYOUTUBE2MD_OUT_DIR=./output scripts/run_youtube2md.sh <url> extractyoutube2md executable.npx) for this skill.youtube2md --url <url> [--out <path>] [--out-dir <dir>] [--lang <language>] --model gpt-5.4-mini--extract-only for simple/transcript modes.--json for machine-readable status/errors.--stdout to write output to stdout instead of a file.Verify output
--stdout is used.--stdout is used.--json, parse ok: true/false and handle error code.Respond to the user
references/output-format.md as the default response shape.references/summarization-behavior.md for source policy and chapter/takeaway density..txt transcript text as the summary source.Mode: fullMode: simpleMode: simple (fallback from full; OPENAI_API_KEY unavailable) when full was requested but the runner fell back and a summary was still produced.Mode: transcript when transcript-only output was requested..txt without surfacing avoidable tool-error noise../summaries/<video_id>.md./summaries/<video_id>.json./summaries/<video_id>.txt via prepare.pygpt-5.4-mini unless the fifth runner argument or YOUTUBE2MD_DEFAULT_MODEL overrides it.gpt-5-mini when no model is passed directly; this skill normally passes its own default.youtube-transcript fallback.OPENAI_API_KEY is available; skipped in simple/transcript modes without an API key.summaries/*.json, summaries/*.txt) inside the skill folder.SKILL.md, scripts/, references/, helpers) in release artifacts.scripts/run_youtube2md.shprepare.pyreferences/output-format.mdreferences/summarization-behavior.mdreferences/security.mdreferences/troubleshooting.md