Every ad, funnel, and VSL you build stands on research. And here is the dirty secret: when you ask AI to "research a market", most of what comes back is invented from 2-year-old memory, formatted to look like a report. Tonight you install a research machine with rules that make inventing impossible: every claim carries a quote, a URL, and a date, or it says NOT EXECUTED. Free public sources only.

🚨 Your AI Is Inventing Your Research

Run any "research this market" prompt, then ask: how much of this was actually looked up, and how much did the model make up? The answer will scare you. The fix is not a better prompt. It is rules.

❌ Invented research (the default)

  • "Competitors typically charge $2,000-5,000" (source: vibes)
  • Avatar pains that sound right but nobody ever said
  • Confident numbers with no URL and no date
  • A beautiful report you cannot defend to a client

✅ Executed research (the Scout)

  • 10+ competitors with active ads COUNTED, promises quoted
  • 20+ avatar complaints quoted word for word, with links
  • Every claim: quote + URL + date, or "NOT EXECUTED"
  • An audit that fails the report if over 5% is invented
ABSOLUTE RULE 1
Data or declaration
Every item points to a literal quote + URL + date, or the module writes NOT EXECUTED with the reason. Filling a template without data fails the audit.
ABSOLUTE RULE 2
Memory is not a source
Anything from the model's memory gets tagged MEMORY and can only be a hypothesis to check. Never a finding.
ABSOLUTE RULE 3
"The others" before "different"
Nobody talks about your angle, gap, or mechanism before 10+ competitors are on the table with ads counted and promises quoted.

🗺️ The Machine: 8 Modules, All Free Sources

0
Context
Product, price, area, 5 seed competitors. Incomplete = STOP.
1
Competitors
10+ advertisers, ads counted, oldest ad dated, promise quoted. Always FIRST.
2
Pains + 2am worries
20+ complaints quoted word for word from reviews.
3
Solutions tried
What they already bought, and the quoted failure story.
4
Language bank
15+ phrases in the avatar's exact words. Goes into ads verbatim.
5
Proof + objections
What the niche uses as proof, what blocks the buy.
6
The gap
Desire x promise matrix. Empty cells = candidate gaps, proven both sides.
7
Mechanism + synthesis
One page. Every line cites a claim. No new research here.
📣
Meta Ad Library
Every active ad in the niche, no login needed.
FREE
⭐
Google Maps + Yelp reviews
1-star = pains. 5-star = desired outcome.
FREE
💬
Reddit + YouTube comments
Where the avatar admits what reviews won't say.
FREE
📈
Amazon + Google Trends
Related product reviews + demand timing.
FREE

Why competitors come first: an ad that has been running 90+ days is paid-for proof of what works. Ten of those teach you more than any brainstorm. Only AFTER you know what "the others" promise can you find what they missed.

1
Install the Market Scout skill
~2 min

The whole machine ships as one Claude Code skill: the 8 modules, the 3 rules, the Verifier, and the audit.

⬇ Download market-scout-skill.zip

$ mkdir -p ~/.claude/skills && unzip ~/Downloads/market-scout-skill.zip -d ~/.claude/skills
✅You should see: restart Claude Code and say "market scout". If it answers with the 3 absolute rules and asks for your context, you are installed.
2
Run your first scan
~30-45 min, mostly unattended

Fill the blanks, paste, let it work. The scan reads the Ad Library, mines the reviews, and builds the claims file while you watch.

THE FIRST SCAN · COPY ALLmarket scout: research this market. CONTEXT (module 0): - Client / offer: [e.g. "Acme Roofing, roof replacement and repair"] - Price range: [e.g. "$8,000-$25,000 per job"] - Area: [e.g. "Dallas-Fort Worth, USA"] - Avatar guess: [e.g. "homeowners 35-65, storm damage or aging roof"] - 5 competitors we already know: [list them] RUN: All 8 modules, in order, competitors first. Follow the 3 absolute rules: every claim quoted with URL and date, memory only as tagged hypothesis, no gap talk before 10 competitors are documented. Save everything to the market-scout folder. When modules finish, run the Verifier, then the audit, and show me AUDIT.md before the report.
✅You should see: a folder filling up: 00-context, modules/, claims.jsonl. Modules that could not meet minimums say NOT EXECUTED with a reason. That honesty is the feature, not a bug.
3
Read the audit before the report
~5 min

The report only ships if the numbers pass. This is what keeps your research honest for the whole life of the client:

≥ 90%
EXECUTED
modules backed by real data
≤ 5%
INVENTED
report lines with no claim id
0
MEMORY AS FINDINGS
untagged model memory in the report

The contradiction test: if the Verifier found ZERO contradictions between sources, the verification did not really run. Real markets always disagree with themselves somewhere. Ask for the contradictions, they are usually the most interesting finding in the whole report.

4
Feed the machine forward
forever

The scan is not a document, it is fuel. Every downstream class in this module drinks from it:

LANGUAGE BANK (mod 4)→5.25 ad angles + overlay copy, verbatim
PAINS (mod 2)→5.21 diagnosis funnel questions
PROOF + GAP + MECHANISM (mods 5-7)→5.23 VSL argument chain + objection handling
COMPETITORS (mod 1)→your benchmark: what "working" looks like before you spend

The pitch weapon: walk into a client call with 10 quoted competitor promises, 20 quoted customer complaints, and a gap proven from both sides. No agency in their inbox has ever shown them their own market like that. The research IS the close.

✅ Homework: One Niche, Fully Scouted

Progress 0 / 6 complete

🏷️ Tags

researchvoice-of-customercompetitorsad-librarymarket-gapmechanismclaude-code-skill