video-content-analysis
Skill1 starsChanged 3 months agoMITView on GitHub
Status: Three-tier fallback video content analysis Dependencies: yt-dlp (proxy required), kimi_search, kimi_fetch Tags: #content-analysis #video #tech-pulse #youtube #bilibili Output language: Respond automatically in the user's conversation language. Prerequisite: Proxy configured on the server Proxy Configuration: Triggered automatically when L1 fails. Search the following sources: When both L1 and L2 fail. Extract text content from the video page: title, description, comments, etc. User action: Drop a video link Automatic execution: Video content monitoring cron:
In this repository56 other files it gives its agents.
- C31-1stSkill
- C31-adopt-projectSkill
- C31-brainstormSkill
- C31-coding-disciplineSkill
- C31-compound-refreshSkill
- C31-compoundSkill
- C31-context-engineeringSkill
- C31-curatorSkill
- c31-daily-intelSkill
- C31-debugSkill
- c31-devSkill
- C31-grillSkill
- C31-lfgSkill
- C31-planSkill
- C31-researchSkill
- C31-specSkill
- C31-stormSkill
- C31-strategySkill
- C31-workflow-bug-reproductionSkill
- C31-workSkill
- rl-workflowSkill
- C31-cvideoSkill
- c31-loopSkill
- c31-sxsSkill
- teachSkill
- agent-reachSkill
- kimiimSkill
- skillhub-preferenceSkill
- c31-communitySkill
- c31-growSkill
- c31-gutcheckSkill
- c31-marketSkill
- c31-mvpSkill
- c31-priceSkill
- c31-processSkill
- c31-sellSkill
- c31-validateSkill
- c31-valuesSkill
- growth-hackerSkill
- c31-improve-codebase-architectureSkill
- C31-multi-reviewSkill
- C31-review-adversarialSkill
- C31-review-architectureSkill
- C31-review-securitySkill
- C31-reviewSkill
- c31-wizardSkill
- external-privacy-guardSkill
- find-skillsSkill
- gsd-map-codebaseSkill
- gsd-new-projectSkill
- gsd-progressSkill
- gsd-quickSkill
- gsd-shipSkill
- humanize-aiSkill
- time-awarenessSkill
- worker-safetySkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 59
Triggered automatically when L1 fails: Search the following sources:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Content Analysis
Status: Three-tier fallback video content analysis Dependencies: yt-dlp (proxy required), kimi_search, kimi_fetch Tags: #content-analysis #video #tech-pulse #youtube #bilibili
Three-Tier Fallback Strategy
L1: yt-dlp direct subtitle extraction (most accurate, requires proxy)
L2: Search third-party transcripts (Lilys.ai, Glasp, YouTube auto-captions, note sites)
L3: web_fetch page metadata (title, description — lightest option)Multilingual Triggers
| Language | Trigger phrases |
| EN | video-content-analysis |
| ZH | 视频分析, 内容分析 |
| JA | 動画分析, コンテンツ分析 |
Output language: Respond automatically in the user's conversation language.
L1: yt-dlp Direct Extraction (Most Accurate)
Prerequisite: Proxy configured on the server
# Extract subtitles
yt-dlp --write-sub --skip-download --sub-langs en,zh-CN,zh-TW,auto "URL"
# Extract metadata + subtitle list
yt-dlp --dump-json --skip-download "URL" | jq '{title, uploader, duration, upload_date, subtitle_languages: (.subtitles | keys)}'
# Extract audio + Whisper transcription (fallback)
yt-dlp --extract-audio --audio-format mp3 -o "audio.%(ext)s" "URL"Proxy Configuration:
# Temporary proxy (single command)
export http_proxy="socks5://user:pass@host:port"
export https_proxy="socks5://user:pass@host:port"
yt-dlp --write-sub --skip-download "URL"
# Or use yt-dlp's built-in proxy flag
yt-dlp --proxy "socks5://user:pass@host:port" --write-sub --skip-download "URL"L2: Third-Party Transcript Search (Fallback)
Triggered automatically when L1 fails. Search the following sources:
Search Query Templates
# YouTube video
site:lilys.ai "youtube.com/watch?v=VIDEO_ID"
site:lilys.ai "youtu.be/VIDEO_ID"
VIDEO_TITLE "transcript" "summary"
VIDEO_TITLE "文字稿" "笔记"
# Bilibili video
site:lilys.ai "bilibili.com/video/BV"
site:bilibili.com "BV" "字幕"
"BVxxxxx" "transcript"
# General
"VIDEO_TITLE" "字幕" "完整"
"VIDEO_TITLE" "transcript" "full"Known Third-Party Transcript Sources
| Platform | URL Pattern | Quality | Coverage |
| Lilys.ai | lilys.ai/notes/ID | ⭐⭐⭐ | Popular videos |
| Glasp | glasp.co/... | ⭐⭐⭐ | Popular videos |
| YouTube auto-captions | YouTube built-in | ⭐⭐ | All videos |
| Note sites / blogs | Various blogs | ⭐⭐ | Popular videos |
| Bilibili auto-captions | Bilibili built-in | ⭐⭐ | Some videos |
Extracting Transcripts
# Lilys.ai page extraction
kimi_fetch "https://lilys.ai/notes/ID" | grep -A 10 -B 2 "transcript\|字幕\|文字稿"
# General: search then kimi_fetch the target page
kimi_search "VIDEO_TITLE transcript site:lilys.ai"L3: Page Metadata Extraction (Final Fallback)
When both L1 and L2 fail. Extract text content from the video page: title, description, comments, etc.
# YouTube page
kimi_fetch "https://youtube.com/watch?v=VIDEO_ID" | head -200
# Bilibili page
kimi_fetch "https://www.bilibili.com/video/BVxxxxx" | head -200
# Extract structured information
kimi_fetch "URL" | grep -E "title|description|comment|字幕|transcript" | head -20One-Click Analysis Flow
User action: Drop a video link
Automatic execution:
- Identify platform (YouTube / Bilibili / other)
- Try L1: yt-dlp → success → output subtitles + summary
- L1 fails → Try L2: search third-party transcripts → success → output transcript + summary
- L2 fails → Try L3: web_fetch page → output metadata + description summary
- Generate final summary: title, core content, timestamped key points, personal assessment
Integration with Tech Pulse
Video content monitoring cron:
# Daily scan of specified YouTube/Bilibili channels for new videos
# Extract subtitles → keyword matching → push summary if hit
channels_to_monitor:
- youtube_channel: "UCxxxxx" # AI/tech channel
- youtube_channel: "UCxxxxx" # Investment channel
- bilibili_user: "UIDxxxxx" # Bilibili creator
keywords: ["AI", "LLM", "投资", "量化", "策略", "OpenClaw"]Proxy Configuration (Pending User Setup)
Current status: Server proxy not configured — L1 unavailable
After configuration:
# 1. Configure system proxy
export http_proxy="socks5://USER:PASS@HOST:PORT"
export https_proxy="socks5://USER:PASS@HOST:PORT"
# 2. Test
curl -s --max-time 10 ipinfo.io
# 3. Test yt-dlp
yt-dlp --proxy "socks5://USER:PASS@HOST:PORT" --print title "https://youtube.com/watch?v=dQw4w9WgXcQ"
# 4. Write to persistent config (~/.bashrc or systemd environment)
echo 'export http_proxy="socks5://USER:PASS@HOST:PORT"' >> ~/.bashrc
echo 'export https_proxy="socks5://USER:PASS@HOST:PORT"' >> ~/.bashrcv1.0 - 2026-06-07 | Three-tier fallback: yt-dlp → third-party transcripts → page metadata
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

