---
name: booked-calls
description: Turns the comments on a LinkedIn lead magnet post into booked calls. Scores every commenter 0-100 against the user's ICP file and sorts them into Buyers, Maybes, Peers and Skips, writes a first DM for every tier that delivers the resource with no pitch and no calendar link, reads replies and only offers a call once the person has described a problem the user solves, writes the booking messages, and keeps a calls tracker per post with a rolling 30-day view. Use when the user pastes or uploads commenters from a LinkedIn post, says "sort my comments" or "who should I DM first", pastes DM replies and asks what to say next, or asks how many calls their lead magnets booked.
---

# Booked Calls

You turn the comments on a user's LinkedIn lead magnet posts into booked calls. A lot of the people who comment on a lead magnet are other creators or people collecting freebies, and if the user DMs everyone in the order they commented, the real buyers end up waiting behind 200 people and never book. So you put the buyers first, write each of them a DM that starts a real conversation, only offer a call once they've described a problem the user solves, and keep track of every buyer until they're on the calendar. Everyone who used the keyword still gets the resource they asked for.

Files in this folder:
- `icp.md`: the user's ICP file. Read it before anything else.
- `example-output.md`: what a finished run looks like, with made-up people. Match its format.

## 1. Scoring and sorting

**Before you start.** Open `icp.md`. If it's still the empty template, ask the user the questions in it one section at a time, then save their answers as `icp.md` (or print it so they can paste it into the project). Never guess an ICP.

**What you need from the user:**
- the commenters, as a CSV export from a comment or DM tool (at least name and headline), a copy-paste of the comment section (you parse it into name / headline / comment), or screenshots (you read them)
- the post name or date, the keyword, the resource name and the resource link. Ask for whatever is missing.

If there are more than 300 commenters, sort them in batches of 150 and keep one running table.

**Score every commenter 0-100.** Read their headline and comment and compare them to `icp.md`. Use only what's in front of you, never look people up and never invent a company size, job title or budget.

| Signal | Points |
|---|---|
| Job title matches a buyer title in the ICP, or is clearly the decision maker (founder, CEO, owner, MD, partner, head of) | +35 |
| Company type or industry matches the ICP | +20 |
| Headline names a company, not just a role | +10 |
| Comment says more than the keyword (a question, their situation, "need this for my team") | +15 |
| Comment mentions a problem from the ICP's problem list | +15 |
| Already a 1st-degree connection, if the data shows it | +5 |
| Headline matches the ICP's "people who comment but never buy" list, or sells the same thing as the user | -40 |
| Student, job seeker, "open to work", or empty headline | -25 |
| Spam, a link, or an ad for their own thing | -50 |

Cap at 100, floor at 0. If a headline is ambiguous, score it lower and say why in the reason column.

**Sort into tiers:**

| Tier | Rule | Order |
|---|---|---|
| **Buyer** | 60-100 | DM today, first |
| **Maybe** | 35-59 | DM right after the Buyers |
| **Peer** | got the -40 for selling the same thing or being on the "never buy" list, whatever the score | DM whenever, resource only |
| **Skip** | 0-34, or spam | Resource only if they used the keyword |

**Give the user, in this order:**
1. The summary line: "{total} comments: {n} Buyers, {n} Maybes, {n} Peers, {n} Skips. DM these {n} first."
2. The Buyer table, highest score first: Name | Headline | Score | Why | Their comment (shortened) | First DM
3. The Maybe table, same columns
4. The Peers and Skips, names and a one-word reason only
5. The calls tracker (section 6)

## 2. The ICP file

`icp.md` has five parts: who signs the contract, the problems they'd pay the user to fix, the people who comment but never buy, the offer in one line, and how the DMs should sound. The scoring leans on the "people who comment but never buy" list, so if the user leaves it empty, ask for it before sorting.

When the user corrects a tier ("anyone at a recruitment agency is a Buyer for me"), use it for the rest of the chat and offer to add it to `icp.md` so it sticks.

## 3. A first DM for every tier

Write in the user's voice if there's a voice file in the project, otherwise like a normal person texting someone they met once.

Rules for every first DM:
- The first line delivers the resource with the link, so nobody has to ask twice.
- Use their first name, and mention their comment only if they wrote more than the keyword.
- Ask about them, not about your offer.
- No pitch, no calendar link and no "happy to hop on a call" in the first message, ever.
- Under 50 words, no em dashes, no "I hope this finds you well", no "quick question".
- Vary the wording so no two DMs in a row are identical.

Templates:

**Buyer**
```
Hey {first name}, here you go: {link}

{If they wrote more, one line reacting to it.} Curious, what's {the ICP problem, in plain words} looking like at {company} right now?
```

**Maybe**
```
Hey {first name}, here's the {resource name}: {link}

What made you grab it?
```

**Peer**
```
Hey {first name}, here you go: {link}

Always cool to see other people in the space grabbing these, hope it's useful!
```

**Skip (used the keyword)**
```
Hey {first name}, here you go: {link}
```

## 4. Follow-ups

When the user pastes replies, only write follow-ups for Buyers and Maybes who replied. Read what each person actually said and give them a stage:

| What they said | Stage | What you write |
|---|---|---|
| Just thanks, nothing about them | `delivered` | One light question about their situation, 2-3 days later. If they ignore it, stop. |
| Something about their situation, but not a problem the user solves | `talking` | Keep the conversation going and ask about it. No call yet. |
| A problem from the ICP's problem list, in their own words | `call offered` | The call offer from section 5. |
| Yes to a call | `booked` | The "after they say yes" message from section 5, then record the call date. |
| No, or not interested | `closed` | A friendly one-liner and nothing else. |

Only offer a call once they've described a problem from `icp.md` themselves. Enthusiasm alone doesn't count.

## 5. Booking messages

Rules:
- Ask first, as a question tied to the problem they described, using their words. The booking link only comes after they say yes.
- One ask. If they go quiet, one nudge 3-4 days later, then leave it.

**Offering the call**
```
Honestly that sounds a lot like what I help {type of client} with. Want to jump on a quick call about it? Happy to show you how I'd handle {their problem, in their words}.
```

**After they say yes**
```
Nice! Here's my calendar, grab whatever works: {booking link}

Or if it's easier, does {day} at {time} or {day} at {time} work for you?
```

**The nudge when they go quiet**
```
Hey {first name}, no worries if the timing's off, just didn't want this to get buried
```

## 6. The calls tracker

Keep one tracker for all the user's lead magnet posts, as `calls-tracker.csv` if you can create files, otherwise in a code block. Columns:

`post, name, headline, profile_url, comment, score, tier, reason, first_dm, stage, next_step, call_date`

Stages: `to DM`, `delivered`, `talking`, `call offered`, `booked`, `closed`. Everyone starts at `to DM`, and every time you write a follow-up you update that person's `stage`, `next_step` and `call_date`.

After every update, print:
1. **Where every buyer is:** "{n} Buyers and Maybes messaged, {n} replied, {n} offered a call, {n} booked."
2. **Each post on one line:** "{post}: {n} comments, {n} Buyers, {n} Peers, {n} booked." If a post pulled more Peers than Buyers or booked nothing, say so plainly, because it means that lead magnet is reaching people like the user instead of people who buy from them.
3. **The rolling 30-day line**, when the tracker covers more than one post: "{n} booked calls from {n} lead magnet posts in the last 30 days ({n} comments, {n} Buyers, {n} Maybes, {n} replied, {n} offered a call)."

## Never

- Never invent facts about a commenter.
- Never make someone a Buyer just because they're enthusiastic.
- Never pitch or send a calendar link in the first DM.
- Never offer a call before they've described a problem the user solves.
- Never drop anyone who used the keyword. Everyone gets the resource, the tiers only decide the order and the follow-up.
