{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ad-creative-analysis",
    "name": "Ad Creative Analysis",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/baitoxkevin/ad-creative-analysis",
    "canonicalUrl": "https://clawhub.ai/baitoxkevin/ad-creative-analysis",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ad-creative-analysis",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ad-creative-analysis",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/analysis-framework.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ad-creative-analysis"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ad-creative-analysis",
    "agentPageUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ad Creative Analysis",
        "body": "Analyze a directory of competitor or reference ad creatives. Produce a per-creative JSON analysis and a cross-creative pattern summary."
      },
      {
        "title": "Step 1 — Accept Inputs",
        "body": "Expect one of:\n\nA directory path containing image files (.jpg, .jpeg, .png, .webp, .gif) and/or video files (.mp4, .mov, .avi, .webm)\nAn optional metadata.json file in that directory with fields per filename: platform, spend, duration_days, impressions, format\n\nIf no path is given, ask the user: \"Please provide the directory path containing the ad creatives.\"\n\nList all files in the directory. Separate into image ads and video ads. Log the count of each before proceeding."
      },
      {
        "title": "Step 2 — Analyze Image Ads",
        "body": "For each image file, use vision/image analysis to evaluate the following."
      },
      {
        "title": "Design Evaluation",
        "body": "Assess these five dimensions:\n\nVisual hierarchy — Is the eye drawn to the right element first? Is there a clear focal point?\nColor usage — Does the palette create contrast, evoke emotion, and maintain brand coherence?\nText overlay readability — Is copy legible at a glance? Font size, contrast, placement?\nCTA prominence — Is the call-to-action visually distinct, clearly placed, and easy to act on?\nBrand consistency — Logo placement, color adherence, font alignment with brand identity."
      },
      {
        "title": "Image Scores (1-10 each)",
        "body": "attention_grab — How fast and strongly does the creative stop a scroll?\nmessage_clarity — How clearly is the core message communicated without needing context?\ncta_strength — How compelling and action-oriented is the CTA?"
      },
      {
        "title": "Image Extraction",
        "body": "Extract:\n\nprimary_message — The single core thing this ad is communicating (one sentence)\nemotion_appeal — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity\ntarget_audience — Inferred from visuals, copy, and context (e.g., \"women 25-35 interested in fitness\")\nhook_text — The first piece of copy the eye lands on (headline or main text)"
      },
      {
        "title": "Step 3 — Analyze Video Ads",
        "body": "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."
      },
      {
        "title": "Video Evaluation",
        "body": "Assess these four dimensions:\n\nHook quality (first 3 seconds) — Does it immediately create curiosity, shock, or recognition? Would someone stop scrolling?\nScript structure — Does it follow a logical persuasion arc (problem, solution, proof, CTA)?\nPacing — Is the editing rhythm appropriate for platform and audience? Not too slow or rushed?\nCTA placement — Is the call-to-action clear, timed well, and repeated if needed?"
      },
      {
        "title": "Video Scale Score (1-10)",
        "body": "Assign a single scale_score representing the ad's viral and engagement potential at scale:\n\n9-10: Exceptional hook, tight script, clear CTA. Likely to perform well at high spend.\n7-8: Strong fundamentals, minor weaknesses. Good candidate for testing.\n5-6: Average execution. Needs a stronger hook or clearer CTA before scaling.\n3-4: Core idea present but poor execution. Requires significant rework.\n1-2: Unlikely to perform. Fundamental issues with hook, message, or CTA.\n\nSee references/analysis-framework.md for detailed scale score rubric."
      },
      {
        "title": "Video Extraction",
        "body": "Extract:\n\nhook_text — Exact words spoken or shown in the first 3 seconds\nhook_type — One of: question, bold_claim, pain_point, curiosity_gap, social_proof, before_after, demonstration\nmain_message — The core value proposition stated in the ad\nemotion_appeal — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity\ncta_text — The exact CTA spoken or shown\ncta_timing — When the CTA appears (e.g., \"end\", \"middle\", \"repeated throughout\")"
      },
      {
        "title": "Step 4 — Universal Metadata (All Ad Types)",
        "body": "For every creative, regardless of type, record:\n\nfilename — The file name\nad_format — One of: single_image, carousel, video, story, reel\naspect_ratio — Detected or inferred (e.g., 1:1, 9:16, 16:9, 4:5)\ndimensions — Width x height in pixels if detectable\nad_objective — Inferred from content and CTA: awareness, consideration, or conversion\nplatform_fit — Which platforms this format and ratio suits best (e.g., [\"Instagram Feed\", \"Facebook Feed\"])"
      },
      {
        "title": "Step 5 — Output Per-Creative JSON",
        "body": "Output one JSON object per creative. Print all results together in a single JSON array."
      },
      {
        "title": "Image ad example structure",
        "body": "{\n  \"filename\": \"ad_001.jpg\",\n  \"type\": \"image\",\n  \"ad_format\": \"single_image\",\n  \"aspect_ratio\": \"1:1\",\n  \"dimensions\": \"1080x1080\",\n  \"ad_objective\": \"conversion\",\n  \"platform_fit\": [\"Instagram Feed\", \"Facebook Feed\"],\n  \"scores\": {\n    \"attention_grab\": 8,\n    \"message_clarity\": 7,\n    \"cta_strength\": 9\n  },\n  \"primary_message\": \"Lose 10kg in 30 days without giving up your favourite food\",\n  \"emotion_appeal\": \"aspiration\",\n  \"target_audience\": \"Women 28-45 who have tried dieting before\",\n  \"hook_text\": \"Still counting calories? There's a better way.\"\n}"
      },
      {
        "title": "Video ad example structure",
        "body": "{\n  \"filename\": \"ad_002.mp4\",\n  \"type\": \"video\",\n  \"ad_format\": \"video\",\n  \"aspect_ratio\": \"9:16\",\n  \"dimensions\": \"1080x1920\",\n  \"ad_objective\": \"consideration\",\n  \"platform_fit\": [\"TikTok\", \"Instagram Reels\", \"Facebook Reels\"],\n  \"scale_score\": 8,\n  \"hook_text\": \"I was $40,000 in debt until I found this\",\n  \"hook_type\": \"before_after\",\n  \"main_message\": \"This budgeting app helped me pay off debt in 18 months\",\n  \"emotion_appeal\": \"fear\",\n  \"cta_text\": \"Download free — link in bio\",\n  \"cta_timing\": \"end\"\n}"
      },
      {
        "title": "Step 6 — Generate Cross-Creative Summary",
        "body": "After analyzing all creatives, produce a summary object appended to the output. Include:\n\ntotal_analyzed — Count of creatives analyzed (split by type)\ntop_performers — Filenames of the top 3 creatives by score (images by average score, videos by scale score)\ndominant_emotion — Most frequently detected emotion appeal across all ads\ncommon_hooks — List of recurring hook patterns or phrases observed\ncta_patterns — Most common CTA structures seen (e.g., \"verb + free + urgency\")\ndominant_objective — Most common inferred ad objective\nformat_breakdown — Count per ad format\nrecommendations — 3-5 actionable observations for improving or scaling these creatives"
      },
      {
        "title": "Summary example structure",
        "body": "{\n  \"summary\": {\n    \"total_analyzed\": { \"images\": 5, \"videos\": 3 },\n    \"top_performers\": [\"ad_004.jpg\", \"ad_002.mp4\", \"ad_007.jpg\"],\n    \"dominant_emotion\": \"aspiration\",\n    \"common_hooks\": [\n      \"Question-based hook challenging a common belief\",\n      \"Before/after framing in first sentence\"\n    ],\n    \"cta_patterns\": [\n      \"Shop now + scarcity signal\",\n      \"Free trial + no credit card\"\n    ],\n    \"dominant_objective\": \"conversion\",\n    \"format_breakdown\": { \"single_image\": 4, \"video\": 3, \"carousel\": 1 },\n    \"recommendations\": [\n      \"Hooks are strong but CTAs lack urgency — test adding 'today only' or limited quantity\",\n      \"All videos open with talking head — test a demonstration hook for variety\",\n      \"Aspiration dominates — test a fear/pain angle to broaden audience response\"\n    ]\n  }\n}"
      },
      {
        "title": "Step 7 — Handle Missing or Unreadable Files",
        "body": "If a file cannot be analyzed (corrupted, unsupported format, too dark/blurry for vision):\n\nInclude the filename in the output with \"status\": \"unreadable\" and a brief \"reason\" field\nContinue analyzing remaining files, do not stop"
      },
      {
        "title": "Reference Material",
        "body": "Consult skills/ad-creative-analysis/references/analysis-framework.md for:\n\nDetailed scoring rubrics per metric\nAd psychology pattern definitions\nHook formula templates\nExtended example output"
      }
    ],
    "body": "Ad Creative Analysis\n\nAnalyze a directory of competitor or reference ad creatives. Produce a per-creative JSON analysis and a cross-creative pattern summary.\n\nStep 1 — Accept Inputs\n\nExpect one of:\n\nA directory path containing image files (.jpg, .jpeg, .png, .webp, .gif) and/or video files (.mp4, .mov, .avi, .webm)\nAn optional metadata.json file in that directory with fields per filename: platform, spend, duration_days, impressions, format\n\nIf no path is given, ask the user: \"Please provide the directory path containing the ad creatives.\"\n\nList all files in the directory. Separate into image ads and video ads. Log the count of each before proceeding.\n\nStep 2 — Analyze Image Ads\n\nFor each image file, use vision/image analysis to evaluate the following.\n\nDesign Evaluation\n\nAssess these five dimensions:\n\nVisual hierarchy — Is the eye drawn to the right element first? Is there a clear focal point?\nColor usage — Does the palette create contrast, evoke emotion, and maintain brand coherence?\nText overlay readability — Is copy legible at a glance? Font size, contrast, placement?\nCTA prominence — Is the call-to-action visually distinct, clearly placed, and easy to act on?\nBrand consistency — Logo placement, color adherence, font alignment with brand identity.\nImage Scores (1-10 each)\nattention_grab — How fast and strongly does the creative stop a scroll?\nmessage_clarity — How clearly is the core message communicated without needing context?\ncta_strength — How compelling and action-oriented is the CTA?\nImage Extraction\n\nExtract:\n\nprimary_message — The single core thing this ad is communicating (one sentence)\nemotion_appeal — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity\ntarget_audience — Inferred from visuals, copy, and context (e.g., \"women 25-35 interested in fitness\")\nhook_text — The first piece of copy the eye lands on (headline or main text)\nStep 3 — Analyze Video Ads\n\nFor 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.\n\nVideo Evaluation\n\nAssess these four dimensions:\n\nHook quality (first 3 seconds) — Does it immediately create curiosity, shock, or recognition? Would someone stop scrolling?\nScript structure — Does it follow a logical persuasion arc (problem, solution, proof, CTA)?\nPacing — Is the editing rhythm appropriate for platform and audience? Not too slow or rushed?\nCTA placement — Is the call-to-action clear, timed well, and repeated if needed?\nVideo Scale Score (1-10)\n\nAssign a single scale_score representing the ad's viral and engagement potential at scale:\n\n9-10: Exceptional hook, tight script, clear CTA. Likely to perform well at high spend.\n7-8: Strong fundamentals, minor weaknesses. Good candidate for testing.\n5-6: Average execution. Needs a stronger hook or clearer CTA before scaling.\n3-4: Core idea present but poor execution. Requires significant rework.\n1-2: Unlikely to perform. Fundamental issues with hook, message, or CTA.\n\nSee references/analysis-framework.md for detailed scale score rubric.\n\nVideo Extraction\n\nExtract:\n\nhook_text — Exact words spoken or shown in the first 3 seconds\nhook_type — One of: question, bold_claim, pain_point, curiosity_gap, social_proof, before_after, demonstration\nmain_message — The core value proposition stated in the ad\nemotion_appeal — One of: fear, aspiration, social_proof, urgency, curiosity, humor, trust, belonging, exclusivity\ncta_text — The exact CTA spoken or shown\ncta_timing — When the CTA appears (e.g., \"end\", \"middle\", \"repeated throughout\")\nStep 4 — Universal Metadata (All Ad Types)\n\nFor every creative, regardless of type, record:\n\nfilename — The file name\nad_format — One of: single_image, carousel, video, story, reel\naspect_ratio — Detected or inferred (e.g., 1:1, 9:16, 16:9, 4:5)\ndimensions — Width x height in pixels if detectable\nad_objective — Inferred from content and CTA: awareness, consideration, or conversion\nplatform_fit — Which platforms this format and ratio suits best (e.g., [\"Instagram Feed\", \"Facebook Feed\"])\nStep 5 — Output Per-Creative JSON\n\nOutput one JSON object per creative. Print all results together in a single JSON array.\n\nImage ad example structure\n{\n  \"filename\": \"ad_001.jpg\",\n  \"type\": \"image\",\n  \"ad_format\": \"single_image\",\n  \"aspect_ratio\": \"1:1\",\n  \"dimensions\": \"1080x1080\",\n  \"ad_objective\": \"conversion\",\n  \"platform_fit\": [\"Instagram Feed\", \"Facebook Feed\"],\n  \"scores\": {\n    \"attention_grab\": 8,\n    \"message_clarity\": 7,\n    \"cta_strength\": 9\n  },\n  \"primary_message\": \"Lose 10kg in 30 days without giving up your favourite food\",\n  \"emotion_appeal\": \"aspiration\",\n  \"target_audience\": \"Women 28-45 who have tried dieting before\",\n  \"hook_text\": \"Still counting calories? There's a better way.\"\n}\n\nVideo ad example structure\n{\n  \"filename\": \"ad_002.mp4\",\n  \"type\": \"video\",\n  \"ad_format\": \"video\",\n  \"aspect_ratio\": \"9:16\",\n  \"dimensions\": \"1080x1920\",\n  \"ad_objective\": \"consideration\",\n  \"platform_fit\": [\"TikTok\", \"Instagram Reels\", \"Facebook Reels\"],\n  \"scale_score\": 8,\n  \"hook_text\": \"I was $40,000 in debt until I found this\",\n  \"hook_type\": \"before_after\",\n  \"main_message\": \"This budgeting app helped me pay off debt in 18 months\",\n  \"emotion_appeal\": \"fear\",\n  \"cta_text\": \"Download free — link in bio\",\n  \"cta_timing\": \"end\"\n}\n\nStep 6 — Generate Cross-Creative Summary\n\nAfter analyzing all creatives, produce a summary object appended to the output. Include:\n\ntotal_analyzed — Count of creatives analyzed (split by type)\ntop_performers — Filenames of the top 3 creatives by score (images by average score, videos by scale score)\ndominant_emotion — Most frequently detected emotion appeal across all ads\ncommon_hooks — List of recurring hook patterns or phrases observed\ncta_patterns — Most common CTA structures seen (e.g., \"verb + free + urgency\")\ndominant_objective — Most common inferred ad objective\nformat_breakdown — Count per ad format\nrecommendations — 3-5 actionable observations for improving or scaling these creatives\nSummary example structure\n{\n  \"summary\": {\n    \"total_analyzed\": { \"images\": 5, \"videos\": 3 },\n    \"top_performers\": [\"ad_004.jpg\", \"ad_002.mp4\", \"ad_007.jpg\"],\n    \"dominant_emotion\": \"aspiration\",\n    \"common_hooks\": [\n      \"Question-based hook challenging a common belief\",\n      \"Before/after framing in first sentence\"\n    ],\n    \"cta_patterns\": [\n      \"Shop now + scarcity signal\",\n      \"Free trial + no credit card\"\n    ],\n    \"dominant_objective\": \"conversion\",\n    \"format_breakdown\": { \"single_image\": 4, \"video\": 3, \"carousel\": 1 },\n    \"recommendations\": [\n      \"Hooks are strong but CTAs lack urgency — test adding 'today only' or limited quantity\",\n      \"All videos open with talking head — test a demonstration hook for variety\",\n      \"Aspiration dominates — test a fear/pain angle to broaden audience response\"\n    ]\n  }\n}\n\nStep 7 — Handle Missing or Unreadable Files\n\nIf a file cannot be analyzed (corrupted, unsupported format, too dark/blurry for vision):\n\nInclude the filename in the output with \"status\": \"unreadable\" and a brief \"reason\" field\nContinue analyzing remaining files, do not stop\nReference Material\n\nConsult skills/ad-creative-analysis/references/analysis-framework.md for:\n\nDetailed scoring rubrics per metric\nAd psychology pattern definitions\nHook formula templates\nExtended example output"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/baitoxkevin/ad-creative-analysis",
    "publisherUrl": "https://clawhub.ai/baitoxkevin/ad-creative-analysis",
    "owner": "baitoxkevin",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ad-creative-analysis",
    "downloadUrl": "https://openagent3.xyz/downloads/ad-creative-analysis",
    "agentUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ad-creative-analysis/agent.md"
  }
}