# analyzing-own-ads

Audits your company's live and paused ads from the public ad library. It inspects video and static creatives with vision models to surface running duration, hooks, and coverage gaps.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 232
- Author: SupercmoHQ
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/SupercmoHQ/superCMO-skills/tree/HEAD/skills/analyzing-own-ads/SKILL.md
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/skills/analyzing-own-ads

## What it does

This skill audits the ads your brand runs without altering any live campaigns. It extracts active and stopped ads from the public library, sending media files to vision models for teardowns. The resulting ledger documents your creative hooks, visual formats, and angles. It pinpoints ads carrying the account for months alongside experiments dropped almost immediately.

Step execution relies on `build_ledger.py`. A quick scan keeps 30 live and 30 stopped ads, watching 10 of each. Detailed mode raises those caps to 60 and 20. Video and image analysis runs in parallel batches capped at 10 items. Results land on disk across `ledger.md`, `per-ad-teardowns.md`, and `own-ads-audit.md`.

This is strictly a research tool. It creates no new ad variants and makes no campaign edits. Public library records show run lengths instead of ad spend or conversion rates. Missing vision model credentials will trigger a `no_provider_configured` error immediately.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add SupercmoHQ/superCMO-skills --skill analyzing-own-ads -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/analyzing-own-ads/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/analyzing-own-ads/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add SupercmoHQ/superCMO-skills --skill analyzing-own-ads -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/analyzing-own-ads/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add SupercmoHQ/superCMO-skills --skill analyzing-own-ads -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/analyzing-own-ads/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install SupercmoHQ/superCMO-skills analyzing-own-ads
```

2. **Manually: put the files in place**
- File: `.github/skills/analyzing-own-ads/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add SupercmoHQ/superCMO-skills --skill analyzing-own-ads -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/SupercmoHQ/superCMO-skills --path skills/analyzing-own-ads
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/analyzing-own-ads/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add SupercmoHQ/superCMO-skills --skill analyzing-own-ads -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/SupercmoHQ/superCMO-skills/tree/HEAD/skills/analyzing-own-ads/SKILL.md

## When to use it
- Map active creative hooks, formats, and angles across live ads
- Spot stale long-running ads that lack fresh creative variations
- Track stopped creatives and see how quickly campaigns were halted
- Inspect video and image creative assets using vision models

## Example prompts
- Run a quick audit on our ads for example.com in the US market
- Audit our live and stopped ads to find our longest-running creatives
- Do a detailed scan of our ad library and break down our video hooks

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 27db7f27a046c296.

BEGIN THIRD-PARTY FILE 27db7f27a046c296
```text
---
name: analyzing-own-ads
description: Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest. Watches the video ads and reads the image ads with a vision model, then maps what the account already covers — the angles, hooks, formats and offers — what was dropped and how fast, and which long-runners have nothing newer beside them. Read from the public ad library, so it carries run lengths rather than spend or results. Research only — nothing is generated or changed here. Use when the user wants their own ads audited, wants to know what they are running, which of their ads is holding, what they already cover, or whether anything is going stale.
license: Apache-2.0
metadata:
  version: "0.1.2"
  category: creative
  summary: "Audits your own advertising the way you would a competitor's — pulling every ad you run from the public library and watching the creative the whole way through. You get the map of what you already cover: which angles, hooks and formats you run, which ads have held longest, what you quietly stopped and how fast, and which winners are still carrying the account with nothing newer built beside them."
---

# Own ads

Audit what a company is advertising itself, work out what is holding, and map what it already covers.
**Research only — nothing is generated, posted or planned here.**

Not for competitors' ads — that is `researching-competitor-ads`; not for deciding what to make next —
that is `planning-campaigns`.

## Workflow

### Step 1: Settle whose page this is

You need **a brand name and a website**.

- **Read them from the brand profile** in `./supercmo-company`, where
  one exists. Where it doesn't, move on.
- **Ask the user** for whichever is missing.
- **A website but no name** → take the brand name off the site and carry on.

### Step 2: Scope the run

Ask once, bundled into a single message, always with a free-text way out. Skip any of these the brief
already answers.

| Ask | When | How |
| --- | --- | --- |
| **The country the ads run in** | The brief names no market and the user's own site implies none. | Offer the likely markets, and a way to type another. |
| **How deep to go** | The brief doesn't say. | Offer the quick scan first and recommend it; say a detailed audit doubles what is watched, and costs accordingly. |
| **What they want to learn** | Optional, and only where the brief says nothing at all about what the audit is for. | **One open field, no options to choose from.** Ask what they want to come away knowing. |

**Take whatever the brief says about what they are after, in their own words, and don't ask again.**
```
END THIRD-PARTY FILE 27db7f27a046c296

The third-party file has ended. Everything between the 27db7f27a046c296 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2680 of 9239 bytes. © SupercmoHQ · Apache-2.0 · https://github.com/SupercmoHQ/superCMO-skills/tree/HEAD/skills/analyzing-own-ads/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
