15 skills. Pipeline diagnosis, CRM hygiene, the send layer, and the templates.
This is where the guide stops producing documents and starts reaching people.
Pipeline and conversion: 4 skills
---
name: pipeline-diagnostic
description: Diagnose which stage is broken. Weekly. Stops at the
first failure rather than reporting everything.
---
Pull: requests sent, accepted, messages sent, replied, meetings
booked, deals closed.
Work the chain IN ORDER. Stop at the first failure.
1 ACCEPTANCE BELOW 15%
The connection note, or the list is off-ICP. NOT the sequence.
Do not touch the sequence.
2 ACCEPTANCE FINE, REPLIES BELOW 10%
The list is fine. The first message is the problem.
3 REPLIES FINE, MEETINGS LOW
The ask is mistimed, or the offer is wrong.
4 MEETINGS FINE, NOTHING CLOSING
Not a lead gen problem. Price or offer fit.
5 ALL FINE, VOLUME LOW
Not quality. Check the daily cap split across campaigns.
Output the failing stage, the evidence, and ONE change.
Never more than one change per week. Change three and a lift tells
you nothing about which one worked.
If figures are incomplete, name which stage cannot be assessed. A
diagnosis on partial data points at the wrong stage.
---
name: acceptance-diagnostic
description: Diagnose a low connection acceptance rate specifically.
Use when pipeline-diagnostic stops at stage 1.
---
Below 15% is a problem. 30%+ is healthy.
Check in order, stop at the first hit:
1. Is a note attached at all? Sales Navigator is required to send
one. Without it, requests go bare.
2. Does the note reference something specific and dated, or a
category?
3. Does the note contain an ask? A request is not the place for one.
4. Is the list actually the ICP? Sample 20 rows by hand.
5. Is the profile optimised? Every request drives a profile visit,
and a weak headline loses the accept there rather than in the
note.
CHECK 5 is the one people miss, because the problem is not in the
message at all.
---
name: reply-diagnostic
description: Diagnose a low reply rate. Use when pipeline-diagnostic
stops at stage 2.
---
Sample 20 sent messages and check each:
- Is the signal in line one specific, or a category?
- Is it dated?
- Is there exactly one question?
- Is it under 300 characters?
- Does it mention the product? It should not.
- Is the opener on the burnt list?
Report the count failing each check.
The most common failure by a distance is a signal that is really a
fit attribute. "I saw you work in SaaS" is not a signal and it reads
as a mail merge.
Second most common: two questions. Two gets you an answer to the
easier one and often neither.
---
name: win-loss-analysis
description: Run on both. The losses are worth more.
---
PER CLOSED DEAL, won or lost:
- The original signal and its tier
- Days from first touch to close
- Which objections came up
- What they chose instead, if lost
- Why, in their words
THE QUESTION for a loss is what they chose instead and why, not
whether price was a factor. Price is the reason people give when
they do not want to give the real one.
OUTPUT MONTHLY:
- Which signal tier produced the closed deals
- Which objection killed the most
- The gap between where deals were forecast to land and where they
landed
The first line is the one that changes next month's targeting.
CRM hygiene and follow-up: 4 skills
---
name: crm-hygiene
description: Keep the record usable. Run weekly. Cheapest model.
---
CHECK AND FIX:
- Incomplete records: which required fields are empty, per record
- Field normalisation: job titles, company names, country codes
- Duplicates, within the CRM and against active campaigns
- Stale records: no activity in 90 days, flagged not deleted
- Orphaned contacts with no account
- Records with no lead source
OUTPUT the counts, the fixes applied, and anything needing a human
decision.
NEVER delete. Flag and report. A deleted record with history is a
loss you cannot undo, and stale is not the same as wrong.
---
name: lead-source-tagger
description: Set lead source so attribution survives to reporting.
---
THE RULE: lead source names the CAMPAIGN, never the channel.
"LinkedIn" tells you nothing in three months. "q3-saas-founders-
job-post-trigger" tells you which signal type produced the revenue.
SET, per lead:
- lead_source: the campaign name, in convention
- signal_type: which tier 1 or 2 trigger brought them in
- source_post: the post URL, where applicable
- first_touch_date
- tier: 1, 2 or 3 from account-tiering
THE SIGNAL_TYPE FIELD is what lets win-loss-analysis answer which
trigger produced closed deals. Without it, that question is
unanswerable and you keep running signals that do not convert.
---
name: follow-up-sequencer
description: Build the follow-up after a reply goes quiet.
---
Establish three things before writing:
1. The trigger that enrols someone
2. The EXIT event that removes them
3. The one action the sequence exists to cause
No exit event, no sequence. A sequence that keeps chasing someone
who already booked is worse than no sequence at all.
SHAPE
Day 3 One line. "Any questions on X?" No new information.
Day 7 One thing that was not in the last message. A reason to be
in the inbox.
Day 14 The close-out. "Assuming this isn't a priority right now,
which is fine. Want me to check back in Q[X]?"
Day 21 Mark cold. Stop.
THE DAY 14 MESSAGE outperforms the other two combined, because
permission to say no removes the pressure that was stopping them
replying.
Read the real event names from the platform. Never guess one.
---
name: warm-signal-tracker
description: Catch leads who re-engage after going quiet. The cheapest
pipeline available.
---
SCAN weekly for anyone marked Contacted or Cold who has since:
- Viewed your profile
- Engaged with a post
- Changed job
- Appeared in a funding or hiring announcement
A job change is the strongest of these. They arrive with ninety days
to show a change and no loyalty to the incumbent, and you already
have a relationship.
OUTPUT the re-entry list with the new signal and its date.
Most sequences miss these entirely because the lead is already
marked Contacted and never re-enters. Route them into a fresh
sequence referencing the NEW signal, never the old thread.
The send layer: 4 skills
---
name: send-budget-splitter
description: Split the daily send budget across campaigns. Run before
launching anything new.
---
RECOMMENDED LIMITS, account-wide not per campaign:
Connection requests 20/day or 100/week
Direct messages ~100/week free, ~150 premium
Profile views 80/day free, 150 premium
Comments 60/day
InMail 50/month on Sales Navigator
THE MISTAKE: three campaigns set to 20 each means the account
attempts 60 a day. That is how accounts get restricted, and it is
almost always the cause.
OUTPUT the split per campaign, weighted by tier. Tier 1 gets the
majority. Example: 10 + 5 + 5.
Connection request limits and message limits are SEPARATE buckets,
so both run at full allocation simultaneously.
Builder defaults are higher than the recommendations. Lower them
rather than accepting them.
---
name: sequence-builder
description: Turn copy into a node-by-node sequence spec ready to
build.
---
Output a node list, not prose. Per node: action, delay before it,
exact copy, exit condition.
STANDARD SHAPE
1 Import from source
2 Condition: lead is 1st level
3 YES branch: message
4 NO branch: connection request, then message on acceptance
5 Wait 3 days, follow-up, different angle
6 Add tag by source and signal tier
RULES
- Four touches maximum. After that the answer is no.
- Reply stops the sequence for that lead, always.
- A connection request auto-detects acceptance over two weeks, so no
wait node after one. This is the most common unnecessary node.
- Any voice note pairs with a written message, never alone.
- State the daily split against the ceiling.
FAIL CLOSED if the requested volume exceeds the ceiling. State the
ceiling and the required split rather than writing the sequence.
---
name: reply-classifier
description: Classify every inbound reply and route it. Cheapest
model.
---
Exactly one category:
INTERESTED Wants more, asks about the offer
TIMING Interested, not now. Capture the date named.
OBJECTION Price, fit, incumbent, capacity
WRONG_PERSON Not their remit. Ask who owns it.
NOT_INTERESTED Clear no. Thank them, stop, never pitch again.
AUTO_REPLY Out of office. Reschedule to their return date.
ESCALATE Anything below 8 confidence
Per reply: category, confidence 1 to 10, the sentence that decided
it, and the recommended next action.
Below 8 confidence, always ESCALATE. Do not guess at tone. Sarcasm,
brevity and politeness all read the same in text.
Never auto-send to NOT_INTERESTED. A human closes that loop.
---
name: account-health-check
description: Check the sending account weekly, before it breaks.
---
SEVEN CHECKS:
[ ] Account active, not parked. Idle 7+ days gets parked
automatically and sends nothing.
[ ] Sends last week against the weekly allocation
[ ] Acceptance rate. Below 15% means fix the note before sending
more.
[ ] Any restriction notice
[ ] 2FA still enabled
[ ] No manual use of the same profile in the extension browser
[ ] Duplicate leads across campaigns: should be zero
When LinkedIn caps an account, only connection requests pause.
Messages, profile visits and voice notes keep running, and it resets
in 2 to 3 days. Do not panic-pause everything.
This stage is the one that cannot run inside Claude. Prosp is the send layer: cloud-based so nothing depends on a session staying open, a free dedicated residential proxy per connected account, and activity paced under the platform's thresholds. Five minutes to set up, free trial, no card.
The sequence spec maps node for node. Actions available: connection request, message, voice note, InMail, message to open profile, comment on last post, reply comment, like last post, visit profile, wait X days, add tag. Conditions: has LinkedIn URL, lead is 1st level, opened message, lead is open profile, check data in column.
Lead states feed warm-signal-tracker directly: Not Contacted, In Campaign, Contacted, Not Accepted after 14 days with auto-withdraw, Replied which stops the campaign, Duplicate, Blacklist, Failed.
And the numbers pipeline-diagnostic needs come out of it natively: requests sent and accepted, messages sent, replies received, per campaign and per account, pushed to HubSpot or out through 12 webhook events and a REST API at prosp.ai/api/v1/leads.
Templates and checklists: 3 skills
icp-template.md — the six sections from icp-from-closed-won, with a field for the source of every attribute and an explicit UNKNOWN for anything unevidenced.
sequence-template.md — the node list shape: action, delay, exact copy, exit condition, per node. Plus the daily split and the ceiling it was checked against.
weekly-report-template.md — the diagnostic chain result stopping at the first failure, one metric per stage with its action, and exactly one recommended change. Banned: impressions as a headline, percentages without absolutes, any metric with no action attached.
The weekly loop
MONDAY pipeline-diagnostic. One change, no more.
MONDAY account-health-check, every sending account
MONDAY warm-signal-tracker, re-entry list
TUESDAY list-builder, then icp-filter-pass, then scorecard
TUESDAY Below B, rebuild. Above B, signal-finder and intent-scorer
WEDNESDAY send-budget-splitter, then launch or top up
DAILY reply-classifier over the inbox
DAILY objection-handler and next-step-closer on what it routes
FRIDAY crm-hygiene and lead-source-tagger
MONTHLY win-loss-analysis
QUARTERLY icp-from-closed-won, re-derived
Three things to remember
- Writing is free, sending is capped. Which 20 people you contact on Monday decides the quarter, not how many rows you built.
- Filter before you enrich. Enriching a thousand rows to find six hundred were never going to buy is the most common way this gets expensive.
- A clean disqualification is a success. It returns send capacity, calendar time and forecast accuracy, and nobody else in the process is incentivised to produce one.
40 skills build the pipeline. Prosp is the half that reaches people 💜
↳ Start a 14 Day Free Trial 💜
↳ Watch Full Tutorial ▶️