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

Video Ad Reverse Engineer

skill-creatify-ai-video-ad-reverse-engineer-video-ad-reverse-engineer · by creatify-ai

|

— No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add skill-creatify-ai-video-ad-reverse-engineer-video-ad-reverse-engineer

✓ 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 Used
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ 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-creatify-ai-video-ad-reverse-engineer-video-ad-reverse-engineer)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
○ 6mo 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 Ad Reverse Engineer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Video Ad Reverse Engineer

Deconstruct any video ad into a reusable creative template — extract the format, structure, hooks, and strategies that make it work.


How It Works

  1. Input: Provide a video ad file, URL, or series of screenshots
  2. Extract frames: Pull key frames at critical moments (hook, transitions, CTA)
  3. Analyze structure: Identify the ad format, pacing, and creative patterns
  4. Document template: Output a reusable template with timing, script structure, and visual direction
  5. Recreate: Use the template to create new ads in the same style

Frame Extraction

Use scripts/extract_frames.py to pull key frames from the video:

python scripts/extract_frames.py input_video.mp4 --output-dir frames/ --num-frames 12

More frames = more detail in the breakdown. Use 8-12 for standard ads, 15-20 for complex ones.


Analysis Framework

Step 1: Identify the Ad Format

Classify the ad into one of these primary formats (see references/ad-formats.md for full catalog):

| Format | Characteristics | Common Duration | |--------|----------------|-----------------| | UGC Talking Head | Single person speaking to camera | 15-60s | | Product Demo | Product in action, hands-on | 15-30s | | Before/After | Split or sequential transformation | 15-30s | | Testimonial Compilation | Multiple review clips | 30-60s | | Problem-Solution | Pain point → product introduction | 15-30s | | Listicle | "3 reasons why..." numbered format | 30-60s | | Unboxing | Package reveal and first impression | 15-45s | | Day-in-the-Life | Product woven into daily routine | 30-60s | | Comparison | Side-by-side against competitor | 15-30s | | Story Arc | Mini-narrative with characters | 30-60s | | Text-on-Screen | Animated text overlays, no presenter | 15-30s | | Mashup / Montage | Rapid cuts of multiple scenes | 15-30s |

Step 2: Analyze the Hook (0-3 seconds)

Identify the hook type (see references/hook-types.md for full catalog):

What to extract:

  • Exact first words spoken or displayed
  • Visual element in frame 1
  • Audio (music, sound effect, silence, voice)
  • Text overlay content and style
  • Hook category (pattern interrupt, question, bold claim, POV, stat, visual)

Step 3: Map the Scene Structure

For each scene/segment, document:

SCENE [number]
  Timestamp: [start] - [end] ([duration])
  Visual: [what's on screen]
  Audio: [voiceover text / music / SFX]
  Text overlay: [any on-screen text]
  Camera: [angle, movement, framing]
  Purpose: [hook / problem / agitate / solution / feature / proof / CTA]
  Transition: [how it connects to next scene — cut / dissolve / swipe / zoom]

Step 4: Extract the Script Pattern

Transcribe the audio and identify the script structure:

SCRIPT PATTERN
==============
Total word count: [X]
Words per second: [X]
Tone: [conversational / professional / urgent / humorous]

STRUCTURE:
  [0-3s] HOOK: [type] — "[exact words or description]"
  [3-Xs] SECTION 1: [purpose] — "[key message]"
  [X-Xs] SECTION 2: [purpose] — "[key message]"
  ...
  [X-end] CTA: [type] — "[exact words or description]"

NOTABLE TECHNIQUES:
  - [e.g., "Uses rhetorical questions to transition between sections"]
  - [e.g., "Repetition of key phrase 'in just 5 minutes'"]
  - [e.g., "Social proof embedded mid-script, not at the end"]

Step 5: Analyze Visual Strategy

Document the visual decisions:

VISUAL STRATEGY
===============
Aspect ratio: [9:16 / 16:9 / 1:1 / 4:5]
Color palette: [dominant colors, warm/cool, saturated/muted]
Lighting style: [natural / studio / dramatic / phone-camera]
Text overlays: [font style, color, position, frequency]
B-roll usage: [percentage of ad, types of shots]
Presenter: [age, gender, style, on-screen vs voiceover]
Brand elements: [when/where logo appears, brand colors, watermarks]
Subtitles/Captions: [style, position, auto vs designed]

Step 6: Document Pacing

PACING ANALYSIS
===============
Total duration: [X seconds]
Number of cuts/transitions: [X]
Average shot length: [X seconds]
Pacing pattern: [constant / accelerating / decelerating / variable]

Cut map:
  [0.0s] Scene start
  [2.5s] Cut — [type: hard cut / dissolve / swipe]
  [5.0s] Cut — ...
  ...

Energy curve:
  Start: [low / medium / high]
  Middle: [trajectory — building / maintaining / dipping]
  End: [low / medium / high]

Peak moment at: [timestamp] — [what happens]

Step 7: Produce the Reusable Template

Combine all analysis into a fill-in-the-blank template:

REUSABLE AD TEMPLATE
====================
Format: [identified format]
Duration: [X seconds]
Aspect Ratio: [X:X]

SCENE 1: HOOK ([0-Xs])
  Visual: [description of what to show]
  Audio: "[script template with [PRODUCT] placeholders]"
  Text: "[overlay template]"
  Camera: [direction]

SCENE 2: [PURPOSE] ([X-Xs])
  Visual: [description]
  Audio: "[script template]"
  Text: "[overlay template]"
  Camera: [direction]

...

FINAL SCENE: CTA ([X-end])
  Visual: [description]
  Audio: "[CTA template]"
  Text: "[overlay template]"

PRODUCTION NOTES:
  - Music: [genre/mood/tempo]
  - Pacing: [X cuts, average X seconds per shot]
  - Tone: [described tone]
  - Key creative decision: [what makes this ad unique]

Use the full template in references/output-template.md.


Recreate at Scale

Turn your extracted templates into new ads automatically:

Using Creatify Ad Clone

The most direct path — provide the original ad as a reference and your product, and the API recreates the style:

import requests

HEADERS = {
    "Content-Type": "application/json",
    "X-API-ID": "your-api-id",
    "X-API-KEY": "your-api-key",
}
BASE_URL = "https://api.creatify.ai/api"

# Step 1: Create a link for your product
link = requests.post(f"{BASE_URL}/links/", headers=HEADERS, json={
    "url": "https://your-product-url.com"
}).json()

# Step 2: Clone the reference ad with your product
clone = requests.post(f"{BASE_URL}/ads_clone/", headers=HEADERS, json={
    "link": link["id"],
    "video_url": "https://url-of-the-ad-you-reverse-engineered.mp4",
    "aspect_ratio": "9x16",
}).json()

# Step 3: Poll for completion
# Use polling pattern from video-ad-generator skill

Using Extracted Scripts with AI Avatars

Feed your extracted script structure into the avatar API:

# Take the script pattern you extracted and create avatar version
avatar_video = requests.post(f"{BASE_URL}/lipsyncs/", headers=HEADERS, json={
    "text": "Your adapted script based on extracted template",
    "creator": "persona-id-matching-original-demographics",
    "aspect_ratio": "9:16",
}).json()

Full Workflow

  1. Reverse-engineer competitor ad with this skill
  2. Extract the template (format, hook, script, pacing)
  3. Adapt template for your product
  4. Generate via video-ad-generator (URL to Video, Ad Clone)
  5. Test avatar versions via ai-avatar-video
  6. Evaluate results via ad-creative-evaluator

See Also

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.