# Video Analyze

> Use when someone asks to analyze, break down, reverse-engineer, or study any social media video — TikTok, Instagram Reel, YouTube, Reddit, X, or any URL. Also invoke on "/video-analyze [URL]". Runs the full watch-video pipeline (download, frame extraction, transcript) then produces a structured content intelligence report: format breakdown, topic & angle, hook template, timestamped storytelling s…

- **Type:** Skill
- **Install:** `agentstack add skill-mharis-code-videoanalyzer-videoanalyzer`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Mharis-code](https://agentstack.voostack.com/s/mharis-code)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Mharis-code](https://github.com/Mharis-code)
- **Source:** https://github.com/Mharis-code/videoanalyzer

## Install

```sh
agentstack add skill-mharis-code-videoanalyzer-videoanalyzer
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Video Content Analyzer

Watches any social media video and reverse-engineers it into a structured content intelligence report. Self-contained — all pipeline scripts are bundled in `scripts/`.

---

## Dependencies

Same as the watch-video pipeline:

- **yt-dlp** on PATH — video download
- **ffmpeg + ffprobe** on PATH — frame extraction
- **Python 3.9+**
- **Optional:** `GROQ_API_KEY` or `OPENAI_API_KEY` in `~/.config/watch/.env` for Whisper transcription on videos without captions

Run `python "__SKILL_SCRIPTS_PATH__/setup.py" --check` to verify.

---

## Step 1: Extract the URL

Check `$ARGUMENTS`. If a URL is present, use it directly. If empty or no URL detected, ask: "Paste the video URL to analyze."

Detect platform from the URL domain (tiktok.com, instagram.com, youtube.com, reddit.com, x.com/twitter.com, etc.).

---

## Step 2: Run the Pipeline

Run the bundled watch.py script:

```
python "__SKILL_SCRIPTS_PATH__/watch.py" ""
```

Capture the full stdout markdown report. It contains:
- Video metadata (title, uploader, duration, resolution)
- Frame paths with timestamps: `- \`\` (t=MM:SS)`
- Transcript segments (if available)
- Work directory path (needed for cleanup)

If the pipeline errors, surface the exact error message — do not proceed without frames.

---

## Step 3: Read All Frames

Read every frame path listed in the report using parallel Read tool calls (one call per frame). Align each frame to its `t=MM:SS` timestamp. Cross-reference with transcript lines at matching timestamps where available.

For long videos (>10 min, >80 frames): read all frames — the pipeline already capped the budget.

---

## Step 4: Produce the Analysis

Write the structured report in chat using the format below. Fill every section from what you actually see in the frames and transcript — do not invent content that isn't there. If a section can't be filled (e.g. no transcript for hook verbatim), note it as "not available — no transcript."

```markdown
# Video Content Analysis

**Source:** [URL]
**Creator:** [@handle or channel name]
**Platform:** [TikTok / Instagram / YouTube / Reddit / X / Other]
**Duration:** [mm:ss]
**Analyzed:** [today's date]

---

## Format Breakdown

- **Category:** [Educational → Tutorial / Listicle / Story / Commentary / Review / How-to / Mixed]
- **Flavor:** [One sentence: the specific execution style — e.g. "Screen-record walkthrough with talking-head PIP and on-screen text overlays"]
- **Why it works:** [The psychological or structural reason this format performs — e.g. "Visual proof (grids of viral videos) builds instant social proof while the voiceover delivers the teaching, reducing cognitive load"]

---

## Topic & Angle

- **Topic:** [Plain-language subject of the video]
- **Angle:** [The specific reframe or contrarian positioning — how is the creator making a familiar topic feel new or different?]
- **Common belief challenged:** ["Most people think..."]
- **Contrarian reality:** ["The truth is..."]

---

## Hook Analysis

- **Spoken hook:** [Verbatim first line or close paraphrase from the first 5-10 seconds — or "not available" if no transcript]
- **Hook category:** [Authority / Question / Pattern Interrupt / Shock / Promise / Story Open / Curiosity Gap]
- **Visual hook:** [What is shown on screen simultaneously — social proof grid, striking visual, text overlay, talking head, product demo, etc.]
- **Hook alignment:** [How the spoken and visual hooks reinforce each other — or conflict]
- **Swipeable madlib template:**
  > "[Category] like [specific example] is outperforming everything else. So here's the [adjective] [framework/system/tool] to [achieve result]."
  *(Adapt the madlib to match the actual hook style — authority, question, pattern interrupt, etc.)*

---

## Storytelling Structure

| # | Section | What Happens | Timestamp |
|---|---------|--------------|-----------|
| 1 | Hook & Promise | [describe] | 0:00–0:XX |
| 2 | [name] | [describe] | 0:XX–0:XX |
| 3 | [name] | [describe] | 0:XX–0:XX |
| 4 | [name] | [describe] | 0:XX–0:XX |
| 5 | [name] | [describe] | 0:XX–0:XX |
| 6 | [name] | [describe] | 0:XX–0:XX |
| 7 | Conclusion & CTA | [describe] | 0:XX–end |

*(Use fewer or more rows if the video has fewer or more distinct beats — 7 is the target, not a hard rule)*

**Key structural moves:** [Any non-obvious sequencing — e.g. "Lead magnet CTA placed mid-video at 0:23, not at the end — drives comment volume by creating urgency before the viewer has fully decided to stay"]

---

## CTA Analysis

- **Primary CTA:** [What the creator asks viewers to do — comment a word, follow, link in bio, DM, etc.]
- **CTA placement:** [Timestamp + whether it's early / mid / end — and why that placement is strategic]
- **Engagement mechanic:** [Comment bait / link in bio / DM trigger / follow hook / share bait / lead magnet]
- **Lead magnet:** [Yes — describe it / No]
- **CTA strength:** [How explicit and urgent the ask is — passive mention vs. hard ask vs. reciprocal offer]

---

## Visual & Production Notes

- **Setting:** [Talking head / Screen record / B-roll / Animation / Studio / Casual / Mixed]
- **On-screen text:** [How captions, lower-thirds, or text overlays are used — always on, key moments only, etc.]
- **Editing pace:** [Estimated cuts per minute — fast / medium / slow — and how this matches the content energy]
- **Social proof elements:** [Grids of viral videos, follower count reveals, screenshots of results, testimonials, etc.]
- **Production level:** [Minimal (phone + natural light) / Mid (mic + simple setup) / Polished (studio quality)]
- **Pattern interrupts:** [Any deliberate visual or audio breaks designed to re-engage a drifting viewer]

---

## Replication Playbook

The 3-5 most actionable things to copy from this video into your own content strategy:

- [Specific, concrete action — not generic advice. E.g. "Use an authority hook with a grid of 6 successful examples as the visual — it makes the claim credible before you say a word"]
- [...]
- [...]
- [...]
- [...]

---

## Raw Intelligence

- **Frames analyzed:** [N]
- **Transcript source:** [captions / whisper (groq) / whisper (openai) / none — frames only]
- **Work dir:** [path — will be deleted after save]
```

---

## Step 5: Save the File

Determine the creator slug: lowercase, hyphens, max 3 words from the handle or channel name.

Save to: `projects/content-creation-system/drafts/analysis/YYYY-MM-DD-[platform]-[creator-slug].md`

Create the `analysis/` folder if it doesn't exist.

Tell Haris the file path.

---

## Step 6: Clean Up

Delete the work directory printed in the pipeline footer:

```
Remove-Item -Recurse -Force ""
```

(Use PowerShell on Windows. Use `rm -rf` on Mac/Linux.)

---

## Hard Rules

- Never invent content that isn't in the frames or transcript. If a section can't be answered from what you see, say so.
- Hook verbatim requires a transcript — if none is available, describe what's visible and note the limitation.
- The Replication Playbook must be specific to this video, not generic content advice.
- No emojis. No em dashes. No corporate jargon.
- If the pipeline fails (yt-dlp error, ffmpeg error, etc.), show the exact error — do not proceed.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Mharis-code](https://github.com/Mharis-code)
- **Source:** [Mharis-code/videoanalyzer](https://github.com/Mharis-code/videoanalyzer)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mharis-code-videoanalyzer-videoanalyzer
- Seller: https://agentstack.voostack.com/s/mharis-code
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
