mk-youtube-summarize
npx skills add https://github.com/kouko/monkey-knowledge-youtube-skills --skill mk-youtube-summarize
Agent 安装分布
Skill 文档
YouTube Summarize (Pipeline)
End-to-end pipeline that summarizes YouTube videos by orchestrating existing skills in sequence. Supports both single video URLs and channels (summarizes latest N videos).
Quick Start
/mk-youtube-summarize <URL|Channel> [count] [--force]
| Parameter | Description |
|---|---|
URL |
Single video URL (existing behavior) |
Channel |
Channel URL, @handle, or channel name |
count |
Number of videos to process (default: 3, for channels only) |
--force |
Force re-generate summary even if cached version exists |
Examples
# Single video (existing behavior)
/mk-youtube-summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ
/mk-youtube-summarize https://youtu.be/dQw4w9WgXcQ
# Channel's latest 3 videos (default)
/mk-youtube-summarize @RickAstleyYT
/mk-youtube-summarize https://www.youtube.com/@RickAstleyYT
# Channel's latest 5 videos
/mk-youtube-summarize @RickAstleyYT 5
# Get channel from video URL, then summarize latest 3
/mk-youtube-summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ channel
/mk-youtube-summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ channel 5
Pipeline Flow
Single Video Flow
URL (single video)
â
â¼
ââââââââââââââââââââââââââââââââââââââââ
â /mk-youtube-transcript-summarize â â Step 0.5: Check cache
â --check <URL> â
ââââââââââââââ¬ââââââââââââââââââââââââââ
ââââââ´âââââ
â â
exists:true exists:false
â â
â¼ â¼
âââââââââââââââ âââââââââââââââââââââââââââââ
â Read & show â â /mk-youtube-get-info â â Step 1
â â
DONE â ââââââââââââââ¬âââââââââââââââ
âââââââââââââââ â
ââââââ´âââââ
â â
has_subs no_subs
â â
â¼ â¼
âââââââââââââââââ âââââââââââââââââââ
â/mk-youtube- â â/mk-youtube- â â Step 2a or 2b
âget-caption â âget-audio â
âââââââââ¬ââââââââ ââââââââââ¬âââââââââ
â â
â â¼
â âââââââââââââââââââ
â â/mk-youtube- â â Step 2c (audio path only)
â âaudio-transcribe â
â ââââââââââ¬âââââââââ
â â
ââââââââââ¬ââââââââââ
â
â¼
ââââââââââââââââââââââââââââââââââ
â /mk-youtube-transcript-summarize â â Step 3: MANDATORY
ââââââââââââââââââââââââââââââââââ
Channel Flow
Channel (@handle, channel URL, or video URL + "channel")
â
â¼
âââââââââââââââââââââââââââââââââââ
â /mk-youtube-get-channel-latest â â Step 0: Get latest N video URLs
â [channel] [count] â
ââââââââââââââ¬âââââââââââââââââââââ
â
â¼
âââââââââââââââââââââââââââââââââââ
â For each video (1..N): â
â Step 0.5: --check cache â
â ââ exists:true â Read & show â
â ââ exists:false â Full â
â pipeline (Steps 1 â 2 â 3) â
â before moving to next video â
âââââââââââââââââââââââââââââââââââ
â
â¼
â
All summaries displayed
Steps
Step 0: Detect Input Type & Extract URL
Determine whether input is a single video or a channel:
Single Video â proceed to Step 1:
- URL contains
youtube.com/watch?v= - URL contains
youtu.be/ - URL contains
youtube.com/shorts/(single short)
Channel â proceed to Channel Path:
- URL contains
youtube.com/@ - URL contains
youtube.com/channel/ - URL contains
youtube.com/c/ - Input starts with
@(e.g.,@RickAstleyYT) - Input is plain text without URL format (treated as @handle)
- User explicitly provides
channelkeyword after video URL
Step 0.5: Check for Existing Summary (unless –force)
Skip this step if --force is specified.
For single video input, use the Skill tool to invoke /mk-youtube-transcript-summarize with --check:
/mk-youtube-transcript-summarize --check <URL>
If exists: true:
- Read the summary file at
output_summaryusing the Read tool - Display the COMPLETE summary content (Full Display Rule applies)
- Include metadata footer (title, channel, url from the check output)
- STOP â do NOT proceed to Steps 1-3
If exists: false:
- Proceed to Step 1 as normal
For channel flow, the check happens per-video inside the loop after getting the video list. Each video URL is checked individually.
Channel Path: Get Latest Videos
Use the Skill tool to invoke /mk-youtube-get-channel-latest:
/mk-youtube-get-channel-latest <channel> [count]
- Default count: 3 (if not specified)
- Maximum recommended: 10 (to avoid excessive processing time)
The output is a JSON array of video objects. For each video in the array, execute the full Single Video pipeline (Steps 1 â 2 â 3) completely before moving to the next video.
Progress Display (recommended format):
Processing 3 videos from @RickAstleyYT...
[1/3] Rick Astley - Never Gonna Give You Up
â â
Cached summary found, displaying...
[2/3] Rick Astley - Together Forever
â Summary generated (new)
[3/3] Rick Astley - Take Me to Your Heart
â â
Cached summary found, displaying...
â
Completed: 3/3 summaries displayed (2 cached, 1 new)
Step 1: Get Video Info
Use the Skill tool to invoke /mk-youtube-get-info with the URL:
/mk-youtube-get-info <URL>
From the output, note:
has_subtitlesandhas_auto_captionsâ determines the path for Step 2languageâ used for model selection if audio transcription is needed
Step 2: Get Transcript
Choose ONE path based on subtitle availability from Step 1:
Path A â Subtitles available (has_subtitles: true OR has_auto_captions: true)
Use the Skill tool to invoke /mk-youtube-get-caption:
/mk-youtube-get-caption <URL>
Save the text_file_path from the output for Step 3.
Path B â No subtitles (has_subtitles: false AND has_auto_captions: false)
First, use the Skill tool to invoke /mk-youtube-get-audio:
/mk-youtube-get-audio <URL>
Then, use the Skill tool to invoke /mk-youtube-audio-transcribe with the file_path from the audio output:
/mk-youtube-audio-transcribe <file_path> auto <language>
Pass the language from Step 1 for best model auto-selection (e.g., zh â belle-zh, ja â kotoba-ja).
Save the text_file_path from the output for Step 3.
Step 3: Generate Summary â MANDATORY â NEVER SKIP
Use the Skill tool to invoke /mk-youtube-transcript-summarize with the text_file_path obtained from Step 2:
/mk-youtube-transcript-summarize <text_file_path> [--force]
Pass --force if the user specified it for mk-youtube-summarize.
CRITICAL: You MUST use the Skill tool to invoke /mk-youtube-transcript-summarize. Do NOT generate summaries directly. The skill contains critical rules for:
- Compression ratio calibration
- Section structure requirements
- Numerical data preservation
- Language handling
Skipping this step or generating summaries without the skill will produce lower-quality output.
Display Rule: The /mk-youtube-transcript-summarize skill will generate and save the full summary. You MUST display the COMPLETE summary content to the user as-is. Do NOT create a condensed or abbreviated version after the summary is generated.
Processing Multiple Videos
When summarizing multiple videos (either from a channel or manually specified):
- Execute ALL steps (1 â 2 â 3) for EACH video independently
- Do NOT batch Step 1 for all videos and then do Step 3
- Complete the full pipeline per video before moving to the next
- Display progress after each video completion
Notes
- This is a pure orchestration skill â it does not have its own scripts
- Summary caching: Before running the full pipeline, checks if a cached summary exists via
--check. Use--forceto bypass and regenerate. - Each sub-skill handles its own dependency management (yt-dlp, jq, whisper-cli, etc.)
- Each sub-skill also has its own file caching â repeated runs use local cached files
- For batch processing, consider limiting count to avoid context overflow
- Channel processing uses
/mk-youtube-get-channel-latestwhich auto-detects channel from video URLs