From liu-wei-ai-douyin-video-summary
Summarize Douyin (TikTok China) videos by extracting audio, transcribing with whisper.cpp, and generating structured summaries. Use when a user shares a Douyin link and wants a text summary of the video content. Supports optional sync to Feishu (Lark) docs. Triggers on Douyin URLs (v.douyin.com, douyin.com/video/).
How this skill is triggered — by the user, by Claude, or both
Slash command
/liu-wei-ai-douyin-video-summary:douyin-video-summaryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Summarize Douyin videos: extract audio → transcribe locally → AI summary.
Summarize Douyin videos: extract audio → transcribe locally → AI summary.
Install these tools (macOS example):
brew install whisper-cpp ffmpeg
# Download whisper.cpp GGML model (small recommended for speed/quality balance)
curl -L -o models/ggml-small.bin "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin"
When a Douyin link is received:
Parse the Douyin URL to get the video ID. Douyin share links come in two formats:
https://v.douyin.com/xxxxx/ → follow redirect to get video IDhttps://www.douyin.com/video/7604713801732365681# Follow redirect to get final URL, extract numeric video ID
curl -sL -o /dev/null -w '%{url_effective}' 'https://v.douyin.com/xxxxx/' | grep -oE '[0-9]{15,}'
Douyin blocks direct downloads (yt-dlp, aria2c all get 403). Use the browser to intercept the audio URL:
window.__audioUrls = [];
const origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url) {
if (url && (url.includes('.mp3') || url.includes('.m4a') || url.includes('mime_type=audio'))) {
window.__audioUrls.push(url);
}
return origOpen.apply(this, arguments);
};
window.__audioUrlscurl -H "Referer: https://www.douyin.com/" -o audio.mp4 "<audio_url>"
Important: aria2c will 403 on Douyin CDN URLs. Always use curl with the Referer header.
ffmpeg -i audio.mp4 -ar 16000 -ac 1 -c:a pcm_s16le audio.wav
whisper-cli -m /path/to/ggml-small.bin -l zh -f audio.wav -otxt -of output
-l zh for Chinese content (auto-detect if unsure)Read the transcription text and produce a structured summary:
📹 **[Video Title] | [Author]**
时长:X分X秒 | 发布:YYYY-MM-DD
🎯 **核心观点:[one-line core message]**
**1. [Point 1 title]**
• [detail]
• [detail]
**2. [Point 2 title]**
• [detail]
💬 **一句话总结:[concise takeaway]**
If Feishu integration is configured, append the summary to a Feishu document using the Feishu Open API. See references/feishu-sync.md for the API details.
small model is the best speed/quality tradeoff; medium may OOM on 8GB machinesGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin liu-wei-ai-douyin-video-summary