video-content-analyzer
SKILL.md
Video Content Analyzer
Analyze short-form videos with Gemini AI to extract hooks, content structure, delivery style, and CTA strategies.
Prerequisites
GEMINI_API_KEYenvironment variablegoogle-genaiandrequestsPython packages
Usage
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input outliers.json \
--output video-analysis.json \
--platform instagram \
--max-videos 5
Parameters
| Arg | Description |
|---|---|
--input, -i |
Input JSON file with outlier posts (required) |
--output, -o |
Output JSON file for results (required) |
--platform, -p |
Platform: instagram, tiktok, or youtube (default: instagram) |
--max-videos, -n |
Max videos to analyze (default: 5) |
Input Format
Accepts outlier JSON from platform-specific research skills. Handles both formats:
- Direct list:
[{post1}, {post2}, ...] - Wrapped:
{"outliers": [{post1}, {post2}, ...]}
The script automatically maps platform-specific fields:
| Platform | Video URL Fields | Caption | Username |
|---|---|---|---|
videoUrl |
caption |
ownerUsername |
|
| TikTok | videoUrl, video_url, webVideoUrl |
text, desc |
authorUsername |
| YouTube | videoUrl, url |
title |
channelTitle |
TikTok Note: The Apify TikTok Scraper returns webVideoUrl (the TikTok page URL) rather than a direct video download URL. Gemini will attempt to analyze from this page URL.
Output
Returns JSON array with analysis for each video:
[
{
"post_id": "ABC123",
"username": "creator",
"url": "https://...",
"platform": "instagram",
"likes": 50000,
"comments": 1200,
"views": 500000,
"analysis": {
"hook": {
"technique": "pattern-interrupt",
"opening_line": "Stop scrolling if you...",
"attention_grab": "Creates urgency and targets specific audience",
"replicable_formula": "Stop scrolling if you [pain point]"
},
"content_structure": {
"format": "problem-solution",
"sections": [...],
"pacing": "fast",
"retention_techniques": ["pattern interrupts", "text overlays"]
},
"delivery_style": {
"speaking": "direct-to-camera",
"energy": "high-energy",
"text_overlays": true,
"visual_style": "quick cuts with b-roll"
},
"cta_strategy": {
"type": "follow",
"cta_text": "Follow for more tips",
"placement": "end"
},
"why_it_works": "..."
}
}
]
Hook Techniques
The analyzer identifies these hook types:
pattern-interrupt- Breaks expected patternsquestion- Opens with engaging questionbold-claim- Makes surprising statementstory-tease- Hints at compelling narrativevisual-shock- Striking visual openingcuriosity-gap- Creates information gapdirect-address- Speaks to specific audiencecontroversial-take- Polarizing opinionrelatable-pain- Targets common struggletransformation-preview- Shows before/after
Content Formats
problem-solution- Present problem, offer fixlisticle- Numbered tips/itemsstory- Narrative arctutorial- Step-by-step how-tobefore-after- Transformation revealday-in-life- Lifestyle contentreaction- Response to other contenthot-take- Opinion piecetool-demo- Product/tool showcase
Weekly Installs
227
Repository
bradautomates/h…-contentGitHub Stars
38
First Seen
Jan 28, 2026
Security Audits
Installed on
opencode212
gemini-cli209
codex205
cursor204
github-copilot200
kimi-cli192