Competitor Ad Intel

Scrape competitor ad creative from Meta Ads Library and Google Ads Transparency, then break down hooks, offers, and visual patterns into a strategy doc.

Scrape competitor ad creative from Meta Ads Library and Google Ads Transparency, then break down hooks, offers, and visual patterns into a strategy doc. A media buyer charges $150/hr to do this manually and misses half the patterns. Run it weekly across 5 competitors for the cost of one freelance hour.

This is the whole blueprint, nothing held back: the model, the tools, the exact prompt, the source on disk, and the setup. Everything you need to run Competitor Ad Intel yourself is on this page, and it deploys in an afternoon.

See it running

Agents like Competitor Ad Intel run behind a metrics and analytics dashboard. Here is that pattern, live: every action stays visible and reviewable. Click into it.

crescendo.51ultron.com/kits/observability

What it does

Competitor Ad Intel handles the work end to end:

  • Pull active ad creative from Meta Ads Library and Google Ads Transparency
  • Identify long-running 'winner' ads for deep analysis
  • Extract hooks, offers, CTAs, and visual patterns at scale
  • Output a strategy doc with the gaps you can exploit this week

The anatomy

An agent is a composition, not a prompt: a model, the tools it is allowed to call, the integrations that give those tools reach, and the rules that keep it honest. Here is Competitor Ad Intel on one card.

Competitor Ad Intelblueprint
Model
claude-sonnet-4-6
Tools
scrape_meta_adsscrape_google_adsanalyze_creativebuild_intel_doc
Integrations
Browser UseZod
Guardrails
never copy ad copy verbatim, extract patterns, not creative.; flag ads running for 30+ days as "winners" and analyze them in detail

The instructions

Every run is governed by this prompt. It is short on purpose: enough to make Competitor Ad Intel reliable, not so much that it can misread itself. Copy it as a starting point for any agent you build.

Competitor Ad Intel
You are a competitive ad intelligence analyst. You reverse-engineer what is working in a competitor's paid acquisition. WORKFLOW: 1. Call scrape_meta_ads with the competitor's brand name to pull active ads from Meta Ads Library. 2. Call scrape_google_ads to pull from Google Ads Transparency Center. 3. Call analyze_creative on each ad to extract hook, offer, CTA, visual style, target persona. 4. Call build_intel_doc to consolidate into a strategy doc with patterns and gaps to exploit. RULES: - Never copy ad copy verbatim — extract patterns, not creative. - Flag ads running for 30+ days as "winners" and analyze them in detail. - Group ads by funnel stage (awareness, consideration, conversion) before analyzing. - Output the gaps in their strategy as a section the user can act on this week.

The source, on disk

Three files carry the whole agent: the definition with its tools, the environment it expects, and the setup. Walk them.

competitor-ad-intel/competitor-ad-intel.ts1.4 KB
1import { agent, tool } from "@agent-sdk"
2import { z } from "zod"
3
4const scrapeInput = z.object({
5 brand: z.string(),
6 region: z.string().default("US"),
7})
8
9const analyzeInput = z.object({
10 ads: z.array(z.any()).min(1),
11})
12
13export default agent({
14 model: "claude-sonnet-4-6",
15 permissionMode: "bypassPermissions",
16 maxTurns: 25,
17 systemPrompt: `...`, // see System Prompt section above
18 tools: {
19 scrape_meta_ads: tool({
20 description: "Pull active ads from Meta Ads Library",
21 inputSchema: scrapeInput,
22 execute: async ({ brand, region }) => {
23 // Browser Use → facebook.com/ads/library
24 },
25 }),
26 scrape_google_ads: tool({
27 description: "Pull from Google Ads Transparency Center",
28 inputSchema: scrapeInput,
29 execute: async ({ brand, region }) => {
30 // Browser Use → adstransparency.google.com
31 },
32 }),
33 analyze_creative: tool({
34 description: "Extract hook, offer, CTA, visual style, persona",
35 inputSchema: analyzeInput,
36 execute: async ({ ads }) => {
37 // returns array of structured creative breakdowns
38 },
39 }),
40 build_intel_doc: tool({
41 description: "Consolidate into actionable strategy doc",
42 inputSchema: z.object({ analyses: z.array(z.any()) }),
43 execute: async ({ analyses }) => {
44 // returns markdown doc with patterns + gaps
45 },
46 }),
47 },
48})

The business case

If you run an agency, Competitor Ad Intel is also a product. It sells into performance marketing teams, dtc brands, agencies, and the numbers work at very small scale.

$3,200

setup you can charge

$500/mo

monthly retainer

4

jobs off your plate

Ship it

The whole install is a handful of commands and the keys from the env file. Run the list, then point Competitor Ad Intel at real work.

Deploy checklist

0 of 4

That is the entire blueprint: one model, 4 tools, and a prompt. Built by hand it costs you an afternoon. Inside Ultron it costs you a sentence, because you can build this exact agent in the workforce and watch it run before you commit to anything.

Build Competitor Ad Intel in Ultron

1
Describe what you want

Start from this blueprint or your own words. Ultron reads the intent and picks the tools.

2
It builds the agent

The model, the tools, the prompt, the console. Assembled in front of you, nothing to wire.

3
Watch it run

Test it live in the chat, then put it to work. You review what it does, it does the rest.

Keep reading