All builds

The GTM Loop

13 agents, one shared brain, and the last step feeds the first. The full install: tools, connections, keys, and what breaks.

STACK
outboundagentssignalscallsscoreboardsetup

Your first 10 minutes

Before you install anything, see the scoring step work on your own market.

Pick 5 companies you already want to sell to. For each one, find one thing that changed there lately: a job ad, a new leader, a funding round, a tool they use got sold. Then paste this into Claude with your 5 companies under it:

text
I sell [what you sell] to [who you sell to].
For each company below, I give you one thing that changed there.
Ask three questions of each change:
1. Does it have a date?
2. Can we list who it hit?
3. Does my result fix it?
Answer each question yes or no, with the reason in one line.
Then mark the company KEEP if all three are yes, or WATCH if any one is no.
For every WATCH, say what would have to happen to make it a KEEP.

Companies:
1. [company] - [what changed, and the link where you saw it]
2.
3.
4.
5.

You know this worked when: you have a KEEP or WATCH next to all 5 companies, and you can say why for each one. The KEEPs are who you write to this week. The WATCHes you check again next week.

That is step 2 of the four steps below. The rest of this page is how to make it run every week.

What this is

Most AI sales setups are a straight line. Find people, write, send, done.

This is the loop version. Nine steps, an agent on each one, and a tenth step that takes what worked and feeds it back into step 1. Next month's research starts from this month's sales calls.

Two things are in here that the other builds in this vault leave out:

1. The whole install. Every account, every key, which connections to turn on inside Claude, and where a connection stops short so you have to call the tool's API directly.

2. What breaks, and the guard for each one. Most of these failures are quiet. Nothing errors. The numbers just come out wrong, or nothing sends, and it looks fine.

The four steps from the post

The post names four steps. Here is each one, the way we run it. The full build further down adds the install, the keys and the guards.

1. Sort the market into three groups. Every week, look for changes in three places.

  • What the market does to the buyer. A tool they rely on gets sold.
  • What the buyer is doing. A job ad for the problem you fix, a new leader, a funding round.
  • How their market is changing. A trend with no date and no names.

Never write to anyone over a trend alone. The trend shapes what you say. The first two groups pick who you write to.

2. Score every change before you write. Ask three questions of each change, and write the answers down so two people get the same score.

  • Does it have a date?
  • Can you list who it hit?
  • Does your result fix it?

A change that scores low goes on a watch list, and you check it again next week. Nothing gets thrown away. Move fast on a new leader. Most new leaders pick their tools and vendors in their first 60 to 90 days.

3. What happens to every reply. Each reply gets a tag before anyone answers it: interested, wants info, wrong person, or out of office. Each tag has one written answer, and the agent sends the answer that matches the tag. When the reply is an objection, sort it by what is behind it: trust, money, or another vendor. Keep one written answer per objection. The first time a new objection shows up, write its answer and add it, so the next reply finds it.

4. What feeds back. Every Monday, paste the week's objections and call scores into 11-weekly-loop-prompt.md. It pulls out the exact words buyers pushed back with and writes them into your business file. Step 1 starts from that file, so next week's first messages answer those doubts before anyone asks.

Where each one lives in the build: steps 1 and 2 are Steps 1 to 6, step 3 is Steps 7 and 8, step 4 is Step 10.

When you build the full loop

Everything from here down is the full build: all ten steps, the agents, every account, the files, and what breaks. You do not need it for your first 10 minutes. The links to other builds in this vault are next steps, not required.

The loop

Diagram
Drawing diagram…
StepThe agent's jobWhere the prompt lives
1 · Learn the marketWho buys this, how big, who you compete with. Every fact datedThe Eight Agents · agent 1
2 · Map the buyerThe words buyers use for their own problem, with the source for each quoteThe Eight Agents · agent 2
3 · Build the offerOne promise with every blank pinned, checked against what competitors are running right nowThe Eight Agents · agent 3, plus 03b-competitor-ads-prompt.md here
4 · Find who needs it nowOne dated reason to write to each company this week. No reason, no messageSignal Check and The Eight Agents · agent 6
5 · Build and check the listReal companies only, one person each, every address verifiedThe Eight Agents · agents 4 and 5
6 · Write and sendTwo touches from a script that already works, then stopThe Eight Agents · agent 7
7 · Answer every replyRead it, work out what they mean, send the answerThe Reply Desk
8 · Book the callTwo real times, booked for them, reminders that do not double upReply to Booked Call
9 · Run the callA brief before, a score after09-call-brief-prompt.md, 10-call-score-prompt.md here
10 · Feed it backCount the week properly. What clearly won goes everywhere that week. What you are not sure about changes on its own11-weekly-loop-prompt.md here

The order is the product. Step 10 is the one almost everyone skips. Without it you run the same loop with the same mistakes every month and call it consistency.

The 13 agents and the brain they share

Every agent below is a Claude skill: one folder with its instructions, its rules and its examples. None of them start from zero. Each one reads the brain first.

The brain is one folder of plain notes (Obsidian works well) that every agent can search: what buyers said on calls, which reasons for writing got replies, which offers booked calls, and what went wrong last time. Ours holds 1,237 notes with 3,955 links between them. Yours starts with one file about your business and grows every week.

#AgentWhat it doesRuns onReads first, from the brain
01Market ScoutLearns the market: what is changing, who is buying, in dated factsWeb search, Reddit, review sitesPast research on this market, so it only adds what is new
02Buyer MapperMaps the buyer in their own wordsClaudeBuyer quotes from past calls and replies
03Offer BuilderOne promise, one number, every blank pinnedClaudeWhich offers booked calls before, and which did not
04Signal HunterFinds who needs it this week: new hires, funding, new leadersJob boards, funding news, ApifyWhich reasons for writing got replies last month
05List BuilderOne right person per company, every email checkedApollo, MillionVerifierWho is already on a list or already said no
06ResearcherOne line on each person's week, from a public sourceWeb, ClaudeWhat a good line looked like on past sends
07Email WriterTwo touches, then stopSmartleadThe written templates that worked, line by line
08LinkedIn WriterConnect, then one message and one bumpHeyReachSame as the Email Writer
09Reply DeskLabels every reply and drafts the answer in SlackSlackHow each kind of reply was answered before
10BookerGets the call on the calendar, counts every reminderCalendlyWhat reminders already went out
11Call PrepA brief the morning of every callClaudeEvery past call with a buyer like this one
12Call CoachScores every call and writes the fix for next timeClaudeThe scoring rubric and your last scored calls
13Metrics AgentMeasures every step: people reached, replies, calls booked, call scores, which offer and which reason. Posts one table every MondayYour sending tools, calendar, call scoresLast week's numbers, to show the change

The loop closes through the Metrics Agent. It measures every other agent: which reason for writing got replies, which offer booked calls, how each call scored. It writes those numbers back into the brain every week. Next week, every agent above reads them before it moves.

What you need

Install in this order. Each one unlocks the next step.

#AccountUsed inFree or paidLink
1ClaudeEvery stepFree to start. Pro is $20 a monthhttps://claude.ai
2A free scraper (Scrapling)1, 2, 4, 5Freehttps://github.com/D4Vinci/Scrapling
3Serper (Google search API)1, 2, 4Free for the first 2,500 searcheshttps://serper.dev
4Apify2, 3, 4 (LinkedIn and ad-library reads)Pay per run, a few cents per companyhttps://apify.com
5Apollo (or the contact tool you already pay for)5Paid credits. People search itself costs no creditshttps://apollo.io
6MillionVerifier5100 free checks, then about $1.80 per 1,000https://millionverifier.com
7Smartlead (email)6, 7, 10Paidhttps://smartlead.ai
8HeyReach (LinkedIn)6, 7, 10Paid, per LinkedIn seathttps://heyreach.io
9Slack7, 8, 10Free works to starthttps://slack.com
10Calendly8, 10Paid plan for the APIhttps://calendly.com
11Whisper (call transcripts, runs on your computer)9Freehttps://github.com/openai/whisper
12A tracker (Airtable or a Google Sheet)7, 10Free workshttps://airtable.com
13Gemini and OpenAI API keys (backups for Claude)Any scripted stepGemini has a free tierhttps://aistudio.google.com

Note

You do not need all thirteen on day one. Steps 1, 2, 3 and 9 run on nothing but a Claude account. Start there. Add the paid tools when you reach the step that needs them.

The full detail for each account: what key to make, what permission it needs, which connection to switch on, and how you know it worked is in stack-install.md.

Get the files

Everything is in a public folder on GitHub. No account, no sign-up.

The folder: https://github.com/gary-chakraborty/gap-build-vault/tree/main/builds/gtm-loop

FileWhat it isWhat you do with it
stack-install.mdEvery account in order: the key, the permission, the connection, the checkFollow it top to bottom, one tool at a time
connections.mdWhich tools to connect inside Claude, and where a connection stops shortRead it before you trust any "nothing found"
failsafes.mdWhat breaks quietly at each step, and the guard for eachRead it before your first real send
03b-competitor-ads-prompt.mdReads what competitors are running and how long it has lastedRun it before you lock the offer
09-call-brief-prompt.mdA one-page brief before every sales callRun it the morning of the call
10-call-score-prompt.mdScores a recorded call and names where it slippedRun it within a day of the call
11-weekly-loop-prompt.mdTurns the week's numbers into next week's changes: clear wins go everywhere, anything unsure is tested on its ownRun it every Monday
llm_router_example.pyA small script: Claude first, then Gemini, then OpenAI, and it fails loudlyUse it for any step you automate
setup-checklist.mdThe install order and your first two weeksFollow it day one

Build it

Before step 1: one file about your business

Use the business block from The Eight Agents (claude-md-snippet.md) or The Context File. Fill every bracket. Every agent in the loop reads it first, and step 10 is the step that keeps it current.

You know this worked when: a new chat answers "what do I sell and who buys it" with your real offer and your real buyer.

Steps 1 to 6: research, offer, list, send

Run them from The Eight Agents and Signal Check, in order. Two additions from this build:

  1. Before you lock the offer, paste 03b-competitor-ads-prompt.md. It sorts competitor ads by how long they have been running. An ad live for 60 days or more, with 3 or more versions, is one that is paying for itself.
  2. Before you load anything into a sending tool, read the Smartlead and HeyReach sections of failsafes.md. Both tools can accept your list, report success, and send nothing.

You know this worked when: you can name, for every person on the send list, what changed at their company and when, and your sending tool shows real sends after the first hour.

Steps 7 and 8: reply and book

Set up The Reply Desk and Reply to Booked Call. Then wire the reply alert using the pattern in connections.md: reply → a small relay → Slack.

Watch out

If the part that reads and labels a reply fails, the alert must still post, marked "unlabelled". An alert that waits for a perfect label goes quiet for hours the day your AI credit runs out.

You know this worked when: you reply to your own test email and a Slack card shows up within a few minutes, with the draft answer already on it.

Step 9: the call

  1. The morning of the call, paste 09-call-brief-prompt.md with the person's name, company, the message they replied to, and their reply.
  2. Record the call (with permission). Transcribe it with Whisper.
  3. Paste the transcript into 10-call-score-prompt.md.

Tip

Use your best model once to write the scoring rubric. Then let a cheaper model score every call against it. The rubric holds the judgment. Re-running the most expensive model on every call costs more and scores no better.

You know this worked when: the score names one exact moment and gives you the line you should have said, not a general tip.

Step 10: feed it back

  1. Every Monday, count last week. Use the scoreboard script from Reply to Booked Call (weekly_scoreboard.py) or count by hand from the tools.
  2. Paste the numbers into 11-weekly-loop-prompt.md.
  3. Make the changes it gives you. Anything that clearly won goes everywhere that same week. Only a thing you are not sure about gets changed on its own, so you can tell what moved. Update your business file so step 1 starts from it.

Watch out

Count new people reached, never emails sent. Emails sent counts every follow-up again, so every rate looks about half its real size. And split replies by the reason you wrote to each person. A blended rate hides the one reason that is working.

You know this worked when: next week's list, offer or opening line is different because of something last week's numbers showed.

What breaks first

The five that come up most, from running this loop for real. Full list in failsafes.md.

What you seeWhat it really isThe guard
A research step comes back empty and calmA site blocked the read and the code hid itA block must raise an error. Empty and blocked must never look the same
A tool says the import worked. Nothing sendsMissing fields dropped silently, or no schedule was setRead the count back from the tool after every load. Check real sends after the first hour
A connection inside Claude says "no results"The connection cannot see that data. The tool still has itCheck the tool's own API before you believe "none"
The same person gets four messages in a dayEach tool counted only its own messagesCount what already went out across every tool before adding a touch
Rates look fine, calls do not comeYou are counting emails, not people, or blending every reason togetherPeople reached as the bottom number. Split by reason

What is not in here

Your scripts. The templates hold the shape. Your words come from step 2.

A done-for-you setup. This is the full map. Putting it in for you is a different thing.

Tell me how it went

No email needed, nothing to unsubscribe from.

Two minutes, three things: how you found this, whether it was useful, and what you want me to build next. https://form.jotform.com/262194392563059