Pre-PMF, you know the pain cave: lots of "wow, this is amazing", nobody buys, so you build another feature.
But you don't need a GTM strategy. You need ONE customer who actually wants to buy, then another one just like them.
PULL Lab is an AI company OS that runs that loop with you, every week, using Rob Snyder's PULL framework and ai-rob skill:
-
You find who would be weird NOT to buy. Your case study gets sharper every week, in your buyers' own words.
-
Your learning compounds. Every week starts from what the last one proved.
Built with Rob Snyder and TalkToHumans.
Want to see it before you set it up? Read the sample week: a startup selling to bears, where the review catches a signup spike made of raccoons.
┌──────────────────────────────────────────┐
│ gtm/case-study.md │
│ who has PULL, and every past version │
└──────────────────────────────────────────┘
7. iterate ▲ │ 1. case study
│ ▼
6. /weekly-review 2. /lead-gen
AI Rob scores the week, find people showing the
names ONE bottleneck situation in public
▲ │
│ ▼
5. /deal-review 3. /outbound-setup
one file per person: context, import + draft a sequence,
PULL, usage, AI Rob's review you review and send
▲ │
└──────── 4. /call-prep ◄────────┘
prep with AI Rob, record,
debrief into a PULL sheet
- Case study. The one situation you're trying to serve, written as PULL in
gtm/case-study.md. It starts as a guess and gets sharper every week. - Leads.
/lead-genturns the case study into public signals and finds people showing them recently, warmest first: people engaging with your content, then people posting about the situation, then cold. - Outreach.
/outbound-setupimports the list and drafts a short sequence. You review and send every message. - Calls.
/call-prepbuilds a one-screen call script with AI Rob, updates it live as you paste the transcript, and debriefs. - Memory.
/deal-reviewkeeps one file per person indeals/: context, PULL, what they pay and use, a timeline, and AI Rob's dated deal reviews. Every call is also logged ingtm/sales.md. - Review.
/weekly-review, every Friday: outreach, calls, deals, activation and revenue go to AI Rob, which scores the week and names the one bottleneck. - Iterate. Fix the bottleneck, update the case study, repeat.
| Slot | Why | Required? | What I use | Also works |
|---|---|---|---|---|
| Agent | Runs the skills, reads your tools and keeps the files up to date | Yes | Claude Code or Claude Cowork | Codex, Cursor (they read AGENTS.md) |
| PULL brain | Judges every call and every week against the PULL framework: is there a real Project, can it wait, which options fail and why | Yes | AI Rob, delivered through the Skillfully MCP | — |
| Lead sourcing | Find people showing your case study's situation in public, right now: who engages with your posts, who posts about the situation and who comments on it, then cold leads by company and role | Optional | TalkToHumans MCP | Any web search or scraping tool |
| LinkedIn outreach | Import leads with the signals that found them, draft sequences, and see who accepted, replied and booked, per outreach angle | Optional | TalkToHumans MCP | A CSV and sending by hand |
| Call recording | Keep buyers' exact words. They're the evidence, and your memory of a call isn't | Optional | Granola MCP | Fathom, Fireflies, any transcript you paste |
| Billing | See who actually paid, trialed or churned. Only a purchase proves PULL | Optional | Stripe MCP | Paste your numbers |
| Product analytics | Understand signups, activation and retention, and what's actively used or not | Optional | Mixpanel MCP | PostHog MCP |
Every skill runs without the optional tools. It asks you for what it can't fetch and says so in the review.
pull-lab/
├── AGENTS.md # instructions for your agent (CLAUDE.md imports it)
├── context/ # company, founders, product: read before every task
├── gtm/ # AI Rob's memory: case study, pipeline, sales log, sales process, post-sales
├── deals/ # one file per person: context, PULL, account, timeline, AI Rob's reviews
├── evidence/ # public signals (posts, reviews, job ads) per buyer situation
├── outbound/ # signals and sourcing recipes
├── reviews/ # one weekly review per Friday
├── assets/ # README images
├── .claude/skills/ # weekly-review, call-prep, deal-review, lead-gen, outbound-setup
└── examples/honeypot/ # a complete sample week for a fictional startup. Delete when ready.
- Fork it, privately. Click Use this template → Create a new repository → Private. A regular fork of a public repo stays public, and your copy will hold your customers' words.
- Clone it locally.
git clone git@github.com:<you>/pull-lab.git
- Open the folder as a project in Claude Code or Claude Cowork (or Codex, if that's what you use).
- Connect the tools. AI Rob first (airobsnyder.com), then the MCPs from What you need that you don't have yet.
- Fill in
context/. Ask your agent: "Help me fill in context/". It will ask what you sell, your stage and your one goal with a date. - Run a first weekly review. Say "run my weekly review". AI Rob sets up its memory in
gtm/anddeals/, loads what your tools already know (past calls, customers, signups, revenue), helps you write the first version of your case study, and names where to start. Want to see a finished week first? Say "Run /weekly-review on examples/honeypot as a demo."
- Find leads. "Find leads" (
/lead-gen). - Start outreach. "Launch outreach for this list" (
/outbound-setup). You review and send. - Have calls, and record them. "Prep my call with Jane" before (
/call-prep), "review this call" after, and after every reply or email too (/deal-review). - Next Friday, run the weekly review. Apply the changes you agree with, and iterate on the bottleneck it names.
- Find product-market fit, after many iterations.
