Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add codeHardest/my-agent-skills --skill "video-summarizer"
Install specific skill from multi-skill repository
# Description
Download videos from 1800+ platforms (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, etc.) and generate complete resource package with video, audio, subtitles, and AI summary. Actions: summarize, download, transcribe, extract video content. Platforms: youtube.com, bilibili.com, twitter.com, x.com, tiktok.com, vimeo.com, instagram.com, twitch.tv. Outputs: MP4 video, MP3 audio, VTT subtitles with timestamps, TXT transcript, MD AI summary. Auto-installs uv, yt-dlp, ffmpeg. Python dependencies managed by uv.
# SKILL.md
name: video-summarizer
description: "Download videos from 1800+ platforms (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, etc.) and generate complete resource package with video, audio, subtitles, and AI summary. Actions: summarize, download, transcribe, extract video content. Platforms: youtube.com, bilibili.com, twitter.com, x.com, tiktok.com, vimeo.com, instagram.com, twitch.tv. Outputs: MP4 video, MP3 audio, VTT subtitles with timestamps, TXT transcript, MD AI summary. Auto-installs uv, yt-dlp, ffmpeg. Python dependencies managed by uv."
Video Summarizer
Download videos from any platform and generate a complete resource package including:
- Original video file (mp4)
- Audio file (mp3)
- Subtitle file (with timestamps, vtt/srt format)
- Summary file (summary.md)
Trigger Conditions
When the user:
- Provides a video link and asks for a summary
- Says "summarize this video", "what's in this video"
- Asks to "extract video content", "transcribe video"
- Says "download this video"
- Provides a link from YouTube/Bilibili/Twitter/Vimeo/TikTok etc.
Supported Platforms
- YouTube, Bilibili, Twitter/X, Vimeo, TikTok, Instagram, Twitch
- And 1800+ other platforms (all sites supported by yt-dlp)
Output Structure
./downloads/<website>/<video_id>/
βββ video.mp4
βββ audio.mp3
βββ subtitle.vtt
βββ transcript.txt
βββ summary.md
Quick Start
# Install dependencies
bash "$SKILL_DIR/scripts/install_deps.sh"
Workflow
Step 1: Get Video Info
VIDEO_URL="https://www.bilibili.com/video/BV1qv6eBZErD"
# Extract video ID and create output directory
yt-dlp --print "%(id)s" -o "./downloads/temp" "$VIDEO_URL"
Step 2: Download Subtitles
For Bilibili (requires login cookies):
- Export cookies from Chrome using "Get Cookies" or "Cookie-Editor" extension
- Save to:
downloads/bilibili/bilibili-cookies.txt - Run:
python "$SKILL_DIR/scripts/get_bilibili_subtitle.py" \
"$AID" \
"$CID" \
"$OUTPUT_DIR" \
"./downloads/bilibili/bilibili-cookies.txt"
# Convert to VTT/TXT
python "$SKILL_DIR/scripts/convert_subtitle.py" \
"$OUTPUT_DIR/subtitle_ai-zh.json" \
"$OUTPUT_DIR"
For YouTube/Other platforms:
yt-dlp --write-subs --sub-lang zh-Hans,en --skip-download \
-o "$OUTPUT_DIR/subtitle" "$VIDEO_URL"
Step 3: Download Video/Audio (if no subtitles)
yt-dlp -f "bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best" \
--merge-output-format mp4 \
-o "$OUTPUT_DIR/video.%(ext)s" "$VIDEO_URL"
yt-dlp -x --audio-format mp3 -o "$OUTPUT_DIR/audio.%(ext)s" "$VIDEO_URL"
Step 4: Transcribe (if no subtitles)
uv run "$SKILL_DIR/scripts/parallel_transcribe.py" \
--input "$OUTPUT_DIR/audio.mp3" \
--output-dir "$OUTPUT_DIR" \
--model small
Step 5: Generate Summary
- Read prompt template from
$SKILL_DIR/reference/summary-prompt.md - Replace placeholders with video info and transcript
- Use Claude API to generate summary
- Save to
$OUTPUT_DIR/summary.md
Scripts
| Script | Description |
|---|---|
install_deps.sh |
Install dependencies (uv, ffmpeg, yt-dlp) |
get_bilibili_subtitle.py |
Download Bilibili subtitles using cookie file |
convert_subtitle.py |
Convert JSON subtitles to VTT/TXT |
parallel_transcribe.py |
Transcribe audio using Whisper |
Notes
- Bilibili cookies: Export from Chrome and save to
downloads/bilibili/bilibili-cookies.txt - Workflow order: Always try subtitles first, then transcribe if needed
- Storage: Files saved to
./downloads/<website>/<video_id>/ - Copyright: For personal learning use only
Error Handling
- No subtitles: Use parallel_transcribe.py for transcription
- Video too long: The transcription script handles long files automatically
- Cookie issues: Re-export cookies from browser (may expire)
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.