reverse-engineer-marketing: Hand It a URL and Find Out How a Competitor Gets Customers
Give it a company's website, App Store or Google Play link, and this Skill has your AI agent run the open-source tool REM (Reverse Engineer Marketing) to dig through public material. It covers paid ads, organic traffic and SEO, social platforms and founders, plus how pricing, conversion paths and homepage selling points have changed over time. Every finding carries an evidence number. Anything it could not find is listed separately, and the result is a playbook you can follow step by step. The tool comes from dansugc/reverse-engineer-marketing. It is MIT licensed and currently at version 0.1.0.
When to use it
- The user asks "how does X get customers," "what ads is X running," "break down X's marketing," or "compare how these competitors each get users."
- The user wants to build a promotion plan for their own product based on a specific rival's playbook.
- The user wants to see what a rival has changed lately: ads launched or stopped, follower growth, whether the homepage selling point changed.
Not for: estimating market size, data that requires logging in, or investigating individuals.
Hard rules
- Public sources only: The tool reads public web pages and the public ad transparency libraries. It does not log into any account and does nothing to the target site beyond scanning it. Never bypass a login or paywall to "dig deeper."
- No data does not mean they don't do it: A channel counts as "none" only when its sources were checked and really came back empty. Everything else goes into an "Unknown" section with links for checking by hand.
- A tracking tag only shows intent or past use: Only what appears in the ad library counts as an active campaign.
- Never make up spend: If a source has no dollar figure, don't write one. Use the number of active ads and how long they have run as indirect signals.
- Ads that have run 60+ days count as winners: Put them first, and quote their opening copy exactly.
- Founders, TikTok accounts and "official" Reddit replies are inferences: State them as "likely," with a confidence level. Don't present low-confidence names as fact.
- Study the approach, don't copy the material: The report may quote a rival's ad copy for analysis, but never recommend that the user copy their videos, images or copy into their own ads.
- When a key is needed, have the user set the environment variable in the terminal themselves. Don't have the user paste the key into the chat, and don't echo it back.
Install
The tool needs Node.js 22 or newer. The npx reverse-engineer-marketing command in the README does not work yet. The package has not been published to npm (a lookup on 2026-11-12 returned 404), so install from source.
node -v # needs v22 or newer
command -v rem && echo "already installed" || {
git clone https://github.com/dansugc/reverse-engineer-marketing ~/tools/reverse-engineer-marketing
cd ~/tools/reverse-engineer-marketing && npm install && npm run build && npm link
}
rem doctor # shows which sources your existing keys unlock
Before installing, tell the user which repo you will clone and which directory it goes into, and wait for their OK. npm link installs the rem command globally. If you don't want a global install, run node ~/tools/reverse-engineer-marketing/dist/cli.js in place of rem.
To connect it as an MCP server (recommended: your AI agent writes the report itself, so no Anthropic API key is needed):
# Claude Code
claude mcp add reverse-engineer-marketing -- rem mcp
# Codex
codex mcp add reverse-engineer-marketing -- rem mcp
Restart your AI agent after adding it. If the user has a Scrape Creators key, they can add -e SCRAPECREATORS_API_KEY=... to that command themselves (Codex uses --env).
What each key unlocks
| Situation | What you can get | What you can't (goes under "Unknown") |
|---|---|---|
| No keys at all | Website, tracking tags (including those inside GTM containers), sitemap and SEO page families, AI crawler settings, Wayback Machine history of selling points, App Store and Google Play, Hacker News, Apple Search Ads for the EU | Meta, Google and LinkedIn ad libraries, social platform data, founder details, Reddit |
With SCRAPECREATORS_API_KEY |
Everything above, plus the three major ad libraries, TikTok/Instagram/YouTube/X/LinkedIn data, founders, Reddit and Product Hunt | A full run uses roughly 25 to 50 credits. Results are cached for 24 hours |
| Command-line report only | Also needs ANTHROPIC_API_KEY, or in rem web, pick a Claude Code or Codex subscription the user is already signed into |
— |
Workflow (MCP)
- Run
reverse_engineer_marketing({ url })to collect all the evidence in one go. It takes about 20 to 40 seconds. For accounts the website doesn't link to, pass them withhandles: { tiktok: "…" }. - Read the channel scorecard and evidence index it returns. The scorecard is computed by rules. Use it to explain the results, not to argue with them.
- Call
get_playbook()to get the analysis method and report template. If a channel matters a lot, fetch its playbook as well (paid-meta,seo-geo,organic-short-form,founder-led, and so on). - Call
get_evidence({ run_id, ids })to pull the items you plan to cite: the longest-running ads, the best-performing posts, SEO page families, founders and pricing. Useget_contentto get links to the original ads and videos. - Write the report from the template. Tag every fact with
[E#]and label inferences as "likely." - Run
validate_report({ run_id, markdown })to check citations and structure. If it fails, fix it before handing the report over. - When re-checking a rival, run the tool again first, then use
compare_runsto compare the two runs.
Without MCP, run rem <url> --json to get the same evidence pack, then read rem-reports/<domain>-<date>/evidence.json and write the report yourself.
Common commands
| Need | Command |
|---|---|
| See a sample first (no keys needed) | rem demo |
| Look up one company | rem linear.app (add --no-ai to collect evidence without writing a report, or --only paid,social,seo to check only some channels) |
| Local web interface | rem web, then open http://localhost:4321 |
| Compare with the last run | rem diff <domain> |
| Check your keys | rem doctor |
Known limits
- Apple Search Ads only shows the EU storefront.
- TikTok and X have no public ad library, so the tool can only report tracking tags and give links for manual searches. The Reddit ad library has been shut down.
- Ad counts come from the first few pages of a sample, so write "in the sample" in the report.
- Server-side tracking and email tools are invisible from the browser, so they always count as unknown.
Output format
# How <company> Gets Customers
**One-line verdict:** what the main engine is and what drives conversion
## Key points (3 to 5, each with [E#])
## Channel scorecard (channel | status | strength | what was seen | evidence)
## Growth engine (where traffic comes from → where it lands → how it converts → how it keeps users)
## Channel details (paid, organic content, SEO, community, founders)
## Unknown (what could not be checked, plus links for manual checks)
## Playbook to follow (5 to 10 steps, each with specific numbers tied to evidence)
In one line
Gather everything a rival has left in public, then let your AI agent judge only from that evidence. Companion case: Your Rival's Growth Playbook Is Hiding in Plain Sight.

Comments (0)
No comments yet. Start the conversation.