← Back to Skills Marketplace
baitoxkevin

Ad Creative Analysis

by baitoxkevin · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
532
Downloads
1
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install ad-creative-analysis
Description
Analyze ad creatives (images and videos) extracted from competitor research. Use when given a directory of ad images, video files, or transcripts to evaluate...
README (SKILL.md)

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

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

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

{
  "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
Usage Guidance
This skill appears internally consistent and low-risk, but take these precautions before installing or running it: (1) Only point the agent at directories you control and verify you have the right to analyze the creatives (copyright/terms may apply). (2) The skill assumes use of vision analysis — if your agent implements vision by uploading files to an external API, that will transmit the creatives off-device; confirm how image/video data is handled by your agent’s vision subsystem. (3) Avoid supplying directories that contain unrelated sensitive files or PII. (4) Because the agent can be invoked autonomously by default, consider limiting autonomous runs or reviewing outputs manually if you have concerns about repeated processing or sharing of competitive assets.
Capability Analysis
Type: OpenClaw Skill Name: ad-creative-analysis Version: 1.0.0 The skill bundle is classified as suspicious due to its instruction in `SKILL.md` to 'List all files in the directory' and read specific files from a user-provided directory path. While this file system access is plausibly needed for the stated purpose of analyzing ad creatives, it represents a risky capability. If the AI agent's execution environment lacks robust input sanitization or sandboxing, a malicious user could potentially exploit this to perform local file inclusion (LFI) or path traversal attacks, leading to unauthorized information disclosure or other system compromise. There is no clear evidence of intentional malicious behavior within the skill's instructions, but the inherent risk warrants a 'suspicious' classification.
Capability Assessment
Purpose & Capability
Name/description match the runtime instructions: the SKILL.md describes reading a directory of image/video files and producing per-creative JSON analyses using vision capabilities and a provided rubric. There are no unrelated environment variables, binaries, or config paths requested.
Instruction Scope
Instructions are scoped to listing and analyzing files in a provided directory and (optionally) reading plain-text transcripts; this is appropriate for the stated purpose. Note: analysis depends on the agent's vision capability and on reading user-supplied files — ensure the agent is granted access only to intended directories and that you have legal rights to analyze the creatives/transcripts.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing is written to disk or downloaded by the skill itself, minimizing install-time risk.
Credentials
The skill declares no required environment variables, credentials, or config paths. The data access it requests (local creative files and optional transcripts/metadata.json) is proportional to the analysis task.
Persistence & Privilege
always is false and the skill does not request persistent system changes or modification of other skills. Autonomous invocation is allowed (platform default) but not combined with other risky permissions.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ad-creative-analysis
  3. After installation, invoke the skill by name or use /ad-creative-analysis
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
ad-creative-analysis v1.0.0 - Initial release! Enables structured analysis of ad images and videos for quality, message clarity, and engagement potential. - Accepts a directory of ad creatives (with optional metadata) and outputs detailed, per-creative JSON analysis. - Assigns quantitative scores for images, scale scores for videos, and extracts hook text, emotion appeal, and CTA data. - Generates a cross-creative summary highlighting top performers, common patterns, and tailored recommendations. - Designed for competitor benchmarking, creative testing, and identifying high-potential ad elements.
Metadata
Slug ad-creative-analysis
Version 1.0.0
License
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 532 downloads so far.

How do I install Ad Creative Analysis?

Run "/install ad-creative-analysis" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ad Creative Analysis free?

Yes, Ad Creative Analysis is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Ad Creative Analysis support?

Ad Creative Analysis is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ad Creative Analysis?

It is built and maintained by baitoxkevin (@baitoxkevin); the current version is v1.0.0.

💬 Comments