ad-creative-analysis

Analyze ad creatives (images and videos) extracted from competitor research. Use when given a directory of ad images, video files, or transcripts to evaluate ad quality, score visual and messaging effectiveness, assign a scale score for viral/engagement potential, and generate a cross-creative pattern summary. Triggered by requests like "analyze these ads", "score these creatives", "what hooks are competitors using", "evaluate the ad library", "give me a scale score", "analyze the ad folder", or "what's working in these ads".

3,891 stars

Best use case

ad-creative-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Analyze ad creatives (images and videos) extracted from competitor research. Use when given a directory of ad images, video files, or transcripts to evaluate ad quality, score visual and messaging effectiveness, assign a scale score for viral/engagement potential, and generate a cross-creative pattern summary. Triggered by requests like "analyze these ads", "score these creatives", "what hooks are competitors using", "evaluate the ad library", "give me a scale score", "analyze the ad folder", or "what's working in these ads".

Teams using ad-creative-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/ad-creative-analysis/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/baitoxkevin/ad-creative-analysis/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ad-creative-analysis/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ad-creative-analysis Compares

Feature / Agentad-creative-analysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Analyze ad creatives (images and videos) extracted from competitor research. Use when given a directory of ad images, video files, or transcripts to evaluate ad quality, score visual and messaging effectiveness, assign a scale score for viral/engagement potential, and generate a cross-creative pattern summary. Triggered by requests like "analyze these ads", "score these creatives", "what hooks are competitors using", "evaluate the ad library", "give me a scale score", "analyze the ad folder", or "what's working in these ads".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Ad Creative Analysis

Analyze a directory of competitor or reference ad creatives. Produce a per-creative JSON analysis and a cross-creative pattern summary.

## Step 1 — Accept Inputs

Expect one of:
- A directory path containing image files (`.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`) and/or video files (`.mp4`, `.mov`, `.avi`, `.webm`)
- An optional `metadata.json` file in that directory with fields per filename: `platform`, `spend`, `duration_days`, `impressions`, `format`

If no path is given, ask the user: "Please provide the directory path containing the ad creatives."

List all files in the directory. Separate into image ads and video ads. Log the count of each before proceeding.

## Step 2 — Analyze Image Ads

For each image file, use vision/image analysis to evaluate the following.

### Design Evaluation

Assess these five dimensions:

1. **Visual hierarchy** — Is the eye drawn to the right element first? Is there a clear focal point?
2. **Color usage** — Does the palette create contrast, evoke emotion, and maintain brand coherence?
3. **Text overlay readability** — Is copy legible at a glance? Font size, contrast, placement?
4. **CTA prominence** — Is the call-to-action visually distinct, clearly placed, and easy to act on?
5. **Brand consistency** — Logo placement, color adherence, font alignment with brand identity.

### Image Scores (1-10 each)

- `attention_grab` — How fast and strongly does the creative stop a scroll?
- `message_clarity` — How clearly is the core message communicated without needing context?
- `cta_strength` — How compelling and action-oriented is the CTA?

### Image Extraction

Extract:
- `primary_message` — The single core thing this ad is communicating (one sentence)
- `emotion_appeal` — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity
- `target_audience` — Inferred from visuals, copy, and context (e.g., "women 25-35 interested in fitness")
- `hook_text` — The first piece of copy the eye lands on (headline or main text)

## Step 3 — Analyze Video Ads

For each video file, analyze the video directly using vision. If a transcript file exists alongside the video (same filename, `.txt` or `.srt` extension), read and use it.

### Video Evaluation

Assess these four dimensions:

1. **Hook quality (first 3 seconds)** — Does it immediately create curiosity, shock, or recognition? Would someone stop scrolling?
2. **Script structure** — Does it follow a logical persuasion arc (problem, solution, proof, CTA)?
3. **Pacing** — Is the editing rhythm appropriate for platform and audience? Not too slow or rushed?
4. **CTA placement** — Is the call-to-action clear, timed well, and repeated if needed?

### Video Scale Score (1-10)

Assign a single `scale_score` representing the ad's viral and engagement potential at scale:

- **9-10**: Exceptional hook, tight script, clear CTA. Likely to perform well at high spend.
- **7-8**: Strong fundamentals, minor weaknesses. Good candidate for testing.
- **5-6**: Average execution. Needs a stronger hook or clearer CTA before scaling.
- **3-4**: Core idea present but poor execution. Requires significant rework.
- **1-2**: Unlikely to perform. Fundamental issues with hook, message, or CTA.

See `references/analysis-framework.md` for detailed scale score rubric.

### Video Extraction

Extract:
- `hook_text` — Exact words spoken or shown in the first 3 seconds
- `hook_type` — One of: question, bold_claim, pain_point, curiosity_gap, social_proof, before_after, demonstration
- `main_message` — The core value proposition stated in the ad
- `emotion_appeal` — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity
- `cta_text` — The exact CTA spoken or shown
- `cta_timing` — When the CTA appears (e.g., "end", "middle", "repeated throughout")

## Step 4 — Universal Metadata (All Ad Types)

For every creative, regardless of type, record:

- `filename` — The file name
- `ad_format` — One of: single_image, carousel, video, story, reel
- `aspect_ratio` — Detected or inferred (e.g., `1:1`, `9:16`, `16:9`, `4:5`)
- `dimensions` — Width x height in pixels if detectable
- `ad_objective` — Inferred from content and CTA: `awareness`, `consideration`, or `conversion`
- `platform_fit` — Which platforms this format and ratio suits best (e.g., `["Instagram Feed", "Facebook Feed"]`)

## Step 5 — Output Per-Creative JSON

Output one JSON object per creative. Print all results together in a single JSON array.

### Image ad example structure

```json
{
  "filename": "ad_001.jpg",
  "type": "image",
  "ad_format": "single_image",
  "aspect_ratio": "1:1",
  "dimensions": "1080x1080",
  "ad_objective": "conversion",
  "platform_fit": ["Instagram Feed", "Facebook Feed"],
  "scores": {
    "attention_grab": 8,
    "message_clarity": 7,
    "cta_strength": 9
  },
  "primary_message": "Lose 10kg in 30 days without giving up your favourite food",
  "emotion_appeal": "aspiration",
  "target_audience": "Women 28-45 who have tried dieting before",
  "hook_text": "Still counting calories? There's a better way."
}
```

### Video ad example structure

```json
{
  "filename": "ad_002.mp4",
  "type": "video",
  "ad_format": "video",
  "aspect_ratio": "9:16",
  "dimensions": "1080x1920",
  "ad_objective": "consideration",
  "platform_fit": ["TikTok", "Instagram Reels", "Facebook Reels"],
  "scale_score": 8,
  "hook_text": "I was $40,000 in debt until I found this",
  "hook_type": "before_after",
  "main_message": "This budgeting app helped me pay off debt in 18 months",
  "emotion_appeal": "fear",
  "cta_text": "Download free — link in bio",
  "cta_timing": "end"
}
```

## Step 6 — Generate Cross-Creative Summary

After analyzing all creatives, produce a `summary` object appended to the output. Include:

- `total_analyzed` — Count of creatives analyzed (split by type)
- `top_performers` — Filenames of the top 3 creatives by score (images by average score, videos by scale score)
- `dominant_emotion` — Most frequently detected emotion appeal across all ads
- `common_hooks` — List of recurring hook patterns or phrases observed
- `cta_patterns` — Most common CTA structures seen (e.g., "verb + free + urgency")
- `dominant_objective` — Most common inferred ad objective
- `format_breakdown` — Count per ad format
- `recommendations` — 3-5 actionable observations for improving or scaling these creatives

### Summary example structure

```json
{
  "summary": {
    "total_analyzed": { "images": 5, "videos": 3 },
    "top_performers": ["ad_004.jpg", "ad_002.mp4", "ad_007.jpg"],
    "dominant_emotion": "aspiration",
    "common_hooks": [
      "Question-based hook challenging a common belief",
      "Before/after framing in first sentence"
    ],
    "cta_patterns": [
      "Shop now + scarcity signal",
      "Free trial + no credit card"
    ],
    "dominant_objective": "conversion",
    "format_breakdown": { "single_image": 4, "video": 3, "carousel": 1 },
    "recommendations": [
      "Hooks are strong but CTAs lack urgency — test adding 'today only' or limited quantity",
      "All videos open with talking head — test a demonstration hook for variety",
      "Aspiration dominates — test a fear/pain angle to broaden audience response"
    ]
  }
}
```

## Step 7 — Handle Missing or Unreadable Files

If a file cannot be analyzed (corrupted, unsupported format, too dark/blurry for vision):
- Include the filename in the output with `"status": "unreadable"` and a brief `"reason"` field
- Continue analyzing remaining files, do not stop

## Reference Material

Consult `skills/ad-creative-analysis/references/analysis-framework.md` for:
- Detailed scoring rubrics per metric
- Ad psychology pattern definitions
- Hook formula templates
- Extended example output

Related Skills

Margin Analysis & Profit Optimization

3891
from openclaw/skills

Analyze gross, operating, and net margins by product line, customer segment, and channel. Identify margin erosion patterns and build pricing power.

Business Analysis

Investment Analysis & Portfolio Management Engine

3891
from openclaw/skills

Complete investment analysis, portfolio construction, risk management, and trade execution methodology. Works across stocks, crypto, ETFs, bonds, and alternatives. Zero dependencies — pure agent skill.

Finance & Investing

FP&A Command Center — Financial Planning & Analysis Engine

3891
from openclaw/skills

You are a senior FP&A professional. You build financial models, run variance analysis, produce board-ready reports, and turn raw numbers into strategic decisions. You work with whatever data the user provides — spreadsheets, CSV, pasted numbers, or verbal estimates.

Finance & Analytics

data-analysis-partner

3891
from openclaw/skills

智能数据分析 Skill,输入 CSV/Excel 文件和分析需求,输出带交互式 ECharts 图表的 HTML 自包含分析报告

Data & Research

onchain-contract-token-analysis

3891
from openclaw/skills

Analyze smart contracts, token mechanics, permissions, fee flows, upgradeability, market risks, and likely attack surfaces for onchain projects. Use when reviewing ERC-20s, launchpads, vaults, staking systems, LP fee routing, ownership controls, proxy setups, or suspicious token behavior.

Security

resume-analysis

3891
from openclaw/skills

简历分析 skill。用于诊断整份简历的完整性、清晰度、岗位相关性、成果表达和结构质量。当用户说“分析简历”“看看我的简历”“简历诊断”时使用。

Workflow & Productivity

contradiction-analysis

3891
from openclaw/skills

触发:当问题复杂、存在多个冲突因素、优先级不清,或你不知道应该先解决什么时调用;常见信号包括 trade-off、瓶颈、根因不明、主次不清、多个问题互相牵制。 English: Trigger when a problem contains competing forces, unclear priorities, or no obvious entry point. Use this skill to identify contradictions, isolate the principal contradiction, classify its nature, and choose the right response.

survey-analysis

3891
from openclaw/skills

AI-powered survey response analysis. Analyzes open-ended survey responses, clusters themes, detects sentiment, and generates actionable insights. Uses BERTopic + GPT-4o-mini.

ths-advanced-analysis

3891
from openclaw/skills

基于 thsdk 进行高级股票分析:分钟K线(1m/5m/15m/30m/60m/120m)、板块/指数行情(主要指数/申万行业/概念板块成分股)、多股票批量对比(表格+归一化走势图+相关性热力图)、盘口深度、大单流向、集合竞价异动、日内分时、历史分时。当用户提到"分钟K线"、"日内走势"、"盘口"、"大单"、"竞价异动"、"板块行情"、"行业排名"、"概念板块"、"成分股"、"对比多只股票"、"批量分析"、"涨幅对比"、"相关性"、"港股"、"美股"、"外汇"、"期货"、"资讯"、"快讯",或者需要同时查看2只以上股票、关注短线交易、量化研究时,必须使用此skill。

Creative Genius Skill

3891
from openclaw/skills

**Version:** 1.0.0

Amazon Listing Optimizer — Free Listing Analysis & Keyword Research

3891
from openclaw/skills

**Free alternative to Helium 10 ($97/mo) and Jungle Scout ($49/mo).**

swotpal-swot-analysis

3891
from openclaw/skills

Professional SWOT analysis and competitive comparison powered by SWOTPal.com