AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Video Analyze

skill-mharis-code-videoanalyzer-videoanalyzer · by Mharis-code

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…

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-mharis-code-videoanalyzer-videoanalyzer

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mharis-code-videoanalyzer-videoanalyzer)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Video Analyze? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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."

# 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.

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

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.