GTM Reverse Engineer
Claude Code skill that turns any company’s public go-to-market signals into an evidence-graded playbook you can run.
Paste a company. Get what seems to work, what to copy, what to skip, and a 90-day plan — with sources, not vibes.
Keywords: competitor GTM analysis, growth teardown, AI playbook, Claude Code skill, channel audit, ads research, startup GTM
What you get (outcomes)
| Outcome | You walk away with |
|---|---|
| Clarity | How they appear to acquire users (B2C / B2B / both) |
| Proof | Sources graded A–D (not random AI fanfic) |
| Action | Copy / adapt / skip calls + 90-day plan |
| Honesty | “What we did not cover” on every channel |
| Modules | Full pack or only ads / only X / only community… |
YOUR INPUT
company URL or name
+ modules (or "full")
|
v
+----------------------------------+
| GTM REVERSE ENGINEER |
| detect tools → lock company |
| gather → scorecards → analyze |
| verify claims → write playbook |
+----------------------------------+
|
v
OUTPUT FOLDER
outputs/gtm-playbook-<company>/
meta · evidence · analysis
verification · playbook
What it is not
- Not “stolen secrets” or private dashboards
- Not audited revenue/ARR as fact (company claims stay labeled)
- Not equal depth for every company (thin public data → thin pack, said out loud)
- Not locked to one demo brand (works for any company you name)
Install
Requirements
- Claude Code
- Optional but useful: web search skill,
curl - Optional: browser bridge / Kimi only if you want login-walled depth (Instagram, etc.)
One-time install
# from this repo root
mkdir -p ~/.claude/skills
cp -a . ~/.claude/skills/gtm-reverse-engineer
Or clone:
git clone https://github.com/ndpvt-web/gtm-reverse-engineer.git ~/.claude/skills/gtm-reverse-engineer
Check it loaded
- Restart Claude Code (or open a new session)
- Skill name:
gtm-reverse-engineer - You can also say: “use gtm reverse engineer on …”
Quick start
Full playbook
/gtm-reverse-engineer https://example.com modules=full depth=standard
One channel only
/gtm-reverse-engineer https://example.com modules=ads
/gtm-reverse-engineer Acme Corp modules=social_x
/gtm-reverse-engineer https://example.com modules=community
Fast thin pack
/gtm-reverse-engineer https://example.com modules=quick
Natural language works too:
- “GTM reverse engineer Notion — full in-depth playbook”
- “Only Instagram + ads GTM for brand X”
- “Competitor growth teardown for https://…”
3 examples
1) Full competitor pack (founder)
Use gtm-reverse-engineer on https://linear.app modules=full depth=standard
You get
- Company lock + timeline / funding claims (graded)
- Pricing, jobs, social samples, ads, community, SEO, interviews (as available)
- Analysis: positioning, B2C/B2B, funnel, hidden signals
- Verification: claim audit + “what not to trust”
- Playbook: 90-day plan + what not to copy
Folder
outputs/gtm-playbook-linear-app/
2) Ads-only teardown (growth)
/gtm-reverse-engineer https://example.com modules=entity,ads depth=standard
You get
- Entity lock
- Ad library pass + creative angles
- Completeness contract (sample size, gaps, blockers)
- Light analysis focused on paid — no fake ROAS
3) X + community pulse (researcher)
/gtm-reverse-engineer "Figma" modules=entity,social_x,community depth=quick
You get
- Handle lock
- X sample + Reddit/community objections
- Scorecards that say sample, not “all posts ever”
How a run works
┌─────────────┐ ┌──────────────┐ ┌────────────────┐
│ 0. Parse │ → │ 1. Detect │ → │ 2. Entity lock │
│ target + │ │ collectors │ │ (no guessing) │
│ modules │ │ (web first) │ │ │
└─────────────┘ └──────────────┘ └───────┬────────┘
│
v
┌──────────────────────────────────────────┐
│ 3. GATHER (modular, parallel) │
│ pricing · jobs · X · LI · IG · ads · │
│ community · SEO · YouTube · press … │
│ each module ends with Completeness │
│ Contract (what we covered / missed) │
└───────────────────┬──────────────────────┘
│
v
┌──────────────────────────────────────────┐
│ 4. Scorecard rollup + validate (hard QA) │
└───────────────────┬──────────────────────┘
│
┌───────────────────────┼───────────────────────┐
v v v
┌────────────┐ ┌────────────┐ ┌────────────┐
│ 5. Analyze │ │ 6. Verify │ │ 7. Playbook│
│ (if enough │ │ claims + │ │ copy/adapt │
│ evidence) │ │ adversarial│ │ /skip +90d │
└────────────┘ └────────────┘ └────────────┘
Modules (pick any)
| Module | What it collects / does |
|---|---|
entity |
Who they are (site, handles, lock file) |
press_funding |
Press + funding claims (graded) |
product_pricing |
Pricing, packaging, enterprise pages |
jobs |
Hiring as GTM signal |
social_x |
X / Twitter |
social_linkedin |
|
social_instagram |
|
ads |
Ad libraries + creative angles |
community |
Reddit / community sentiment |
seo_distribution |
Content, PH, affiliates, distribution |
youtube_interviews |
Talks + transcripts when possible |
analyze |
Structured analysis |
verify |
Claim audit + adversarial review |
playbook |
Operator playbook chapters |
Presets
| Preset | Meaning |
|---|---|
quick |
entity + pricing + press + analyze + verify |
standard / full |
all gather + analyze + verify + playbook |
depth=max |
same modules, harder try (still web-first) |
Output map
outputs/gtm-playbook-<slug>/
├── 00-meta/ # run config, sources, confidence, completeness
├── 01-entity/ # company lock, timeline, funding claims
├── 02-raw-evidence/ # channel raw packs
├── 03-analysis/ # what the signals mean
├── 04-playbook/ # what you should do
└── 05-verification/ # what might be wrong / overclaimed
Start reading
00-meta/README.md04-playbook/(if full run)05-verification/before you bet money
Tools it uses (auto)
Always try first
• web search skill (if installed)
• curl / public pages
• public archives (e.g. X syndication)
• YouTube captions (if available)
Only if present + confirmed
• browser bridge (logged-in user session)
• Kimi webbridge (optional; never required)
Never required
• Kimi
• paid data APIs
# see what this machine can do
python3 ~/.claude/skills/gtm-reverse-engineer/scripts/detect_collectors.py
Completeness (built-in honesty)
Every gather channel ends with a Completeness Contract:
- how many items captured
- date span
- method (
web/archive/browser/mixed) - what was not covered
claimed_complete: falseby default
So the pack cannot quietly pretend “we scraped all of Instagram.”
Scripts
# create empty run folder
python3 ~/.claude/skills/gtm-reverse-engineer/scripts/init_run.py \
--target "https://example.com" \
--modules standard \
--out-parent outputs
# QA gate after gather / at end
python3 ~/.claude/skills/gtm-reverse-engineer/scripts/validate_run.py \
--run-dir outputs/gtm-playbook-example-com \
--phase post_gather
Tips for best results
- Prefer company URL over a vague name (faster entity lock)
- Say modules when you only need one channel (cheaper, faster)
- Read verification before copying paid or enterprise motions
- Thin public companies → expect thin packs (that is a feature)
Repo layout
.
├── README.md ← you are here
├── SKILL.md ← Claude Code skill entry
├── scripts/ ← detect · init · validate
├── references/ ← modules · contracts · templates
├── workflows/ ← how full / modular runs compose
└── assets/ ← docs-only pointers
FAQ
Does it work offline / without browser?
Yes. Web-only is a full path.
Can I run only LinkedIn?
Yes: modules=entity,social_linkedin
Will it invent competitor ARR?
It must grade and label claims. Playbook should not treat unaudited ARR as truth.
Is example company data hardcoded?
No. Target always comes from you.
License
MIT — see LICENSE if present; otherwise free to use and fork for your own GTM research.
SEO one-liner
gtm-reverse-engineer — Claude Code skill for competitor GTM analysis: modular channel teardowns (ads, X, Instagram, LinkedIn, community, SEO, jobs, pricing), evidence grades, completeness contracts, and a copy/adapt/skip playbook for any company.
No comments yet
Be the first to share your take.