| name | video-content-analyzer |
| description | | Use when this capability is needed. |
Video Content Analyzer
Analyze short-form videos with Gemini AI to extract hooks, content structure, delivery style, and CTA strategies.
Prerequisites
GEMINI_API_KEY environment variable
google-genai and requests Python 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 |
|---|
| Instagram | 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": {
...
Hook Techniques
The analyzer identifies these hook types:
pattern-interrupt - Breaks expected patterns
question - Opens with engaging question
bold-claim - Makes surprising statement
story-tease - Hints at compelling narrative
visual-shock - Striking visual opening
curiosity-gap - Creates information gap
direct-address - Speaks to specific audience
controversial-take - Polarizing opinion
relatable-pain - Targets common struggle
transformation-preview - Shows before/after
Content Formats
problem-solution - Present problem, offer fix
listicle - Numbered tips/items
story - Narrative arc
tutorial - Step-by-step how-to
before-after - Transformation reveal
day-in-life - Lifestyle content
reaction - Response to other content
hot-take - Opinion piece
tool-demo - Product/tool showcase
Source: bradautomates/head-of-content — distributed by TomeVault.