Build Sprint · No. 04 · Season One
This is recap No. 04 of Build Sprint, an eighteen-Thursday live-build series at Granite City Coworking. Each week we ship a working thing you can take home. The prep page is for the forty-eight hours before; this is what remains after.
What we built
Not a lead list. A loop that keeps running after Thursday, pointed at your own business, on data you can see and edit. You leave with three customers you might have — not one guess, three genuinely different bets, each sized against public data — plus one experiment in the water, and a review that runs on Monday whether you remember it or not.
The machine is a folder. company.md, three ICP files, three experiment files, a prospect CSV with a source URL on every row, an append-only log, a scorecard. Claude with the folder connected is enough for someone who has never opened a terminal. The skill zip is optional. The three prompts do identical work by copy and paste. If the install gives you trouble, don't fight it during the hour.
You can rebuild this. The three prompts, the company template, the skill, and the Claude Code handoff that turns this into a repo with tests are all on this site. Download the prompts
Why it's built this way
A go-to-market agent is a loop, not a bot. It is trivial to make an agent produce five hundred messages, and about as useful as a mail merge. The work is in the loop around the messages — what the agent has to look up before it writes, what it's allowed to claim, and where it stops and hands the thread to you.
Four steps, on purpose, and none of them is "generate leads." Hypothesize three ICPs that differ in a way that matters — different buyer, different trigger, different channel — sized from public data, with the query written down. Experiment: one identical test per ICP, same budget, same window, same metric, thresholds written before a single message goes out. Measure: an append-only log, twenty touches, seven days, positive replies counted the same way every week. Scale or kill: Monday, one verdict per experiment against the number you already wrote down. Five-x the winner. Stop the rest. Run it again.
The AI SDR category sells you a seat on someone else's loop, with someone else's verdicts, on data you cannot edit. Thursday we built the same machine and kept the files. That is the whole argument.
Pre-revenue is not a skip. Write down the three most recent conversations where someone described this problem to you unprompted. The agent builds ICPs around the problem instead of the product, and the experiment becomes a fifteen-minute conversation ask. Same loop. Same thresholds. Same Monday. Gmail is optional and only needed if you want live drafts in your account by the end of the session — signing into Google in front of a room is where sessions go to die. Skipping it costs you a send-ready document instead. Take it.
Where it broke
Ninety minutes does not produce a verdict. Replies take days. Thursday builds the machine and fires the first shot — the answer arrives next Monday, and the Monday after that. Anyone promising you a working sales pipeline by 5:30 is selling you a seat.
What you can measure Thursday is signal density. For each of your three ICPs: how many matching organizations can the agent actually find in open data, how many show an observable why-now trigger, and how directly can you reach the buyer. That is a real ranking, available in ten minutes, before you spend anything. An ICP the agent cannot find twenty named prospects for is not a viable first bet — however good it sounds in a pitch deck. Killing it Thursday is the cheapest win on the table.
What the agent is allowed to say: three verdicts, and only three. Scale. Iterate. Kill. It applies the number you wrote down in advance — it does not get to move the goalposts once it has seen the results. And when twenty touches haven't produced enough to call it, the agent is required to say the sample is too small to decide rather than invent a fourth verdict to look useful.
The failure mode with a real cost is the invented prospect. Every row carries a source URL. Spot-check three before anything goes out. A made-up company in a real email with your name on it is the one thing here no vendor dashboard would have caught either. That is why the workshop version is a folder you can open, not a black box that scored 94.
Tonight's build is prompts and a folder, deliberately — it has to work for someone who has never opened a terminal. If you have, the Claude Code handoff turns the same loop into a real repo: open-data tools with offline fixtures, a validator that catches moved goalposts, and an eval suite so the agent can be improved rather than just re-prompted. That version is how this survives the season. The folder is how it survives Thursday.
The prompts
Paste these into Claude with your gtm folder connected. Run them in order. Prompt 1 will ask you questions and stop — answer fast and from the gut. The three bonus prompts are for when it goes sideways.
Read company.md. Three ICPs that are meaningfully different. Three flavors of the same company is not three ICPs.
You are my go-to-market agent. Your memory is the connected `gtm` folder. Read `company.md`. Ask me up to 5 short clarifying questions about my business and who has paid me so far, then stop and wait for my answers. After I answer, propose exactly 3 ideal customer profiles (ICPs) that are meaningfully different from each other — one changes the buyer, one changes the trigger, one changes the channel. Three flavors of the same company is not three ICPs. For each, write a file `icps/icp-0N-<slug>.md` with: Who / Pain we solve (in their words) / Why now (observable signal) / Where they are findable (name the public source and the exact query) / Estimated count in reach (with source, and flag whether verified or estimated) / Cheapest credible test channel / Kill criteria after 20 touches / Scale criteria Prefer open, public data for sizing and finding: Census County Business Patterns, state business registries, SEC EDGAR Form D, USAspending, SAM.gov, IRS 990 data, public job postings, public directories, community forums. Use web search to check your estimates. Say clearly when you are guessing. Finish by writing `scorecard.md` with one row per ICP and a signal density score from 1–5 built from three things: how many matches you can actually find (volume), how many show a why-now signal (trigger), and how directly you can reach the buyer (reach). Rank them and tell me which you would test first and why.
Identical constraints so the results are comparable. Every row needs a real source URL.
For each ICP in `icps/`, design ONE experiment with identical constraints so the results are comparable: - Budget: 20 first touches - Window: 7 days - Primary metric: positive reply rate (a reply that engages with the problem, not "unsubscribe") - Secondary metric: meetings booked - Pre-registered thresholds: state the number of positive replies out of 20 that means SCALE and the number that means KILL, before we send anything Write `experiments/exp-0N-<slug>.md` for each. Then build `experiments/exp-0N-prospects.csv` with 20 real prospects per ICP using public sources and web search. Columns: `org, person_or_role, why_now_signal, source_url, contact_path, confidence`. Every row needs a real source URL. If you cannot find 20 credible prospects for an ICP with reasonable effort, stop at what you found and record the count in the experiment file — that is a real finding about the ICP, not a failure. For each experiment write `experiments/exp-0N-messages.md` with two message variants (A/B), each under 90 words, in plain language, leading with the why-now signal and asking one question. No hype, no feature lists. Variant B should be a genuinely different angle, not a reworded A. Do not send anything. Show me a summary table when done.
Monday, one verdict per experiment against the number you already wrote down.
Create `results/log.md` as an append-only log with columns: date, experiment, touches sent, positive replies, meetings, notes. Write `weekly-review.md` as a template for a Monday memo that: 1. reads `results/log.md` and every file in `experiments/` 2. updates `scorecard.md` 3. for each live experiment recommends exactly one of SCALE (5x the next batch, same message), ITERATE (same ICP, change one named thing — message or channel), or KILL — applying the thresholds already pre-registered in the experiment file, and saying plainly if the sample is still too small to decide 4. proposes next week's batch: which ICP, how many touches, which variant, by when 5. asks me at most two questions Keep the memo under 400 words. Then tell me, step by step, how to set this up as a scheduled task in Claude that runs every Monday at 8am against this folder.
Three recovery prompts from the session. Use the one that matches what you just watched happen.
When the three ICPs come back too similar: These are the same buyer wearing three hats. Redo them: one that changes the buyer, one that changes the trigger, one that changes the channel. Tell me explicitly what is different about each. When a prospect list comes back short: You found 6 of 20. Before we call this ICP unfindable, list the three other public sources you did not try and what you'd expect each to yield. Then either try the best one or tell me the ICP fails the findability test. When you want to pressure-test the messaging: Read variant A as if you are the person receiving it, cold, on a Tuesday morning, on a phone. What is the first reason you'd delete it? Rewrite it to remove that reason without adding length.
Take it home
If two of these four were true at 5:00, the session worked: a gtm folder with three ICPs and at least one prospect list with real source URLs; one experiment marked launched; a scheduled Monday review; and one sentence for what result next week would make you scale.
- prompts.md — The three session prompts, plus three for when the agent goes sideways.
- gtm-agent-skill.zip — The whole loop as an installable skill, with the file templates and the open-data source map.
- company-template.md — Five to ten sentences. Fill it in and save it as company.md in your gtm folder.
- SKILL.md — The skill file, if you want to install it instead of pasting.
- claude-code-repo-prompt.md — For builders: the same loop as a real repo with tools, tests, and evals.
Next Thursday: Manage your grant application flow with Claude Code
Session 05, Thursday September 10, 4:00–5:30 PM PT at Granite City. The episode listing is still going up; the season calendar is live. Save a seat on the season calendar.
