250 components for running LinkedIn end to end. 60 agents, 50 skills, 100 prompts, 30 workflows, 10 playbooks.
Agents hold a role and decide what to run. Skills do one task. Prompts are the copy-paste layer. Workflows run on a schedule. Playbooks sequence everything across days or weeks.
Inside: the context files every component reads, the six agent divisions, the five skill categories, every prompt written out, the daily weekly and monthly workflow set, and the ten playbooks that chain them.
Plus the send ceiling that governs all 250, stated once rather than repeated.
AI Driven, Personalized Outreach on LinkedIn: Prosp 💜
Section 1Setup: Three Context Files, One Ceiling, Five Layers
Three context files. Every one of the 250 components reads them before doing anything.
Build these first. Two hours once, and it is what stops 250 components each inventing their own version of your positioning.
The three files
context/
├── icp.md who you sell to, derived from closed-won
├── voice.md how you sound, from three real posts
└── proof.md what you can claim, with permission
icp.md
Exact job titles that actually signed, verbatim:
Size band with the highest win rate:
Three attributes correlating with fast closes:
Three correlating with long or lost deals:
The searchable filter string:
Who this is NOT for:
The gap between who we say we sell to and who bought:
voice.md
Three adjectives:
Two phrases we would never say:
Three posts that performed, pasted IN FULL:
What genuinely annoys us:
<never_use_these>
Claims we cannot evidence:
Numbers nobody approved:
</never_use_these>
proof.md
One row per result:
client | permission (YES / ANONYMISED / NO) | sector | size |
the problem | what we did | the number | timeframe | their quote
The three pasted posts in voice.md do more than the adjectives. Three real posts demonstrate a voice. Three adjectives describe one, and a component can only match what it can read.
The permission column in proof.md is not optional. Every component pulls proof from that one file, which is what stops any of them inventing a number or naming a client who never agreed.
The send ceiling, stated once
This governs all 250 components. It is stated here rather than repeated in each one.
| Action | Free | Premium / Sales Nav |
|---|---|---|
| Connection requests | 20/day, 100/week | 30 to 50/day |
| Direct messages | ~100/week | ~150/week |
| Profile views | 80/day | 150/day |
| Comments | 60/day | 60/day |
| InMail | n/a | 50/month |
Account-wide, not per campaign. Three campaigns set to 20 each means one account attempting 60 a day, and that is how accounts get restricted.
Request limits and message limits are separate buckets, so both run at full allocation simultaneously. When capped, only connection requests pause, and it resets in 2 to 3 days.
Comments are free. Sends are not. That single asymmetry decides the whole department. A 400-row list is five weeks of the entire budget, so the order you work it in matters more than the size.
What each layer is for
| Layer | Count | What it is | Lives in |
|---|---|---|---|
| Agents | 60 | Holds a role and decides which skills to run | .claude/agents/ |
| Skills | 50 | Does one task, well, repeatably | .claude/skills/ |
| Prompts | 100 | Copy-paste, no install needed | Anywhere |
| Workflows | 30 | Runs on a schedule, unattended | Scheduled tasks |
| Playbooks | 10 | Sequences the rest across days or weeks | .claude/skills/ |
Start with prompts. They need no install and they tell you whether the context files are good enough. If the prompts produce generic output, the problem is voice.md, not the prompt.
Then skills, then workflows, then agents. Agents last, because an agent that routes to skills you have not installed does nothing.
Playbooks whenever you want. They are readable on their own and they name the components they call.
Install
The skills and agents ship in two public repos, MIT licensed.
# 24 of the 50 skills, ready to run
git clone https://github.com/JackJProsp/agency-linkedin-skills
cd agency-linkedin-skills
./install.sh
# 7 more, plus the MCP config for reading LinkedIn
git clone https://github.com/JackJProsp/claude-linkedin-connector
cd claude-linkedin-connector
./install.sh
The remaining skills, all 60 agents, the workflows and the playbooks are written out in the pages that follow. Paste them into the same folders.
For a multi-client setup, add a folder per client and put a copy of the three context files in each. Never share a voice.md between clients. Two accounts that sound like the same person is the fastest way to lose both.
Effort routing
| Effort | What runs there | Why |
|---|---|---|
| Low | Filtering, scoring, reply classification, CRM hygiene, tagging | Classification across volume. One right answer per row. |
| Medium | Post drafts, openers, merge prompts, briefs, reports | Known artefact from known inputs |
| High | ICP derivation, sequence design, diagnostics, playbooks | Judgement, planning, diagnosis |
The filter pass on the cheapest model is the single biggest saving in the department. It touches every row, so it is the highest-volume call and has the least reasoning in it.
Sequence design at low effort is the most expensive mistake. A bad sequence costs more in wasted sends than the tokens ever saved.
Section 2The 60 LinkedIn Agents
Six divisions, ten agents each. An agent holds a role and decides which skills to run. A skill does one task.
Save to .claude/agents/. Each has a remit, a boundary on what it does not decide, and the skills it calls.
Division 1: Research, 10 agents
01 ICP Analyst
Owns who you sell to. Derives it from closed-won, re-derives
quarterly, and flags the gap between stated and actual.
Not their call: the offer, or the price band.
02 Persona Researcher
Owns what the buyer is measured on. Every field needs a source
or it is marked UNKNOWN.
03 Voice of Customer Miner
Owns the twelve verbatim phrases. Never paraphrases into
marketing language.
04 Competitor Analyst
Owns the honest difference, including where they are better.
Never characterises their team, pricing motive or roadmap.
05 Signal Scout
Owns the dated trigger per lead. Writes NONE rather than
stretching an attribute into intent.
06 Account Researcher
Owns the brief on a target account before anyone writes to it.
Fans out across site, content, hiring and reviews, then
synthesises once.
07 Committee Mapper
Owns who can say no. Economic buyer, champion, blocker,
technical evaluator. UNKNOWN is a valid answer.
08 Title Mapper
Owns the difference between the title you search and the title
that signs. Those are frequently not the same.
09 Market Watcher
Owns what the audience is currently arguing about. Ranks by
comment-to-reaction ratio, not total engagement.
10 Proof Librarian
Owns what can be claimed publicly. Maintains the permission
column and refuses any claim without a row.
Agent 10 is the one that protects you. Every other agent pulls proof from its file, which is why no agent in the department can invent a number.
Division 2: Content, 10 agents
11 Content Strategist
Owns the calendar. Kills ideas that serve no pillar.
Not their call: the voice, or whether a claim is defensible.
12 Pillar Architect
Owns the three repeatable topics. A fourth means one is not
working and nobody has admitted it.
13 Hook Writer
Owns lines one and two. Writes five per post and picks the one
that is true, not the one that is loudest.
14 Post Writer
Owns the body. Matches the three reference posts, never the
adjective list.
15 Humaniser
Owns the final pass. Numbers not all round, one genuine break
in the flow, no perfect parallelism, no em dashes.
16 Carousel Builder
Owns saveable content. One idea per slide, slide one carries
the whole promise.
17 POV Extractor
Owns the contrarian position inside a transcript. Founders say
things in conversation they would never write down.
18 Lead Magnet Writer
Owns the comment-CTA post. Three variants, three keywords, and
the delivery planned before posting.
19 Repurposer
Owns turning one long asset into a month. Nothing is written
from a blank page.
20 Editorial Planner
Owns four weeks visible at all times. One post a day maximum,
because same-day multiples suppress each other.
Division 3: Engagement, 10 agents
21 Engagement Lead
Owns the daily session. 25 minutes, six rules, every comment
scored before posting.
22 Borrowed Reach Finder
Owns the large-post list. Ranks by velocity, not total. A post
at 200 after an hour beats one at 600 after two days.
23 Comment Scorer
Owns quality. Below 7 gets rewritten, not posted. Target an
8.0 session average.
24 Structure Rotator
Owns variety. No two comments in a session share a shape.
Repetition is the second strongest tell after promotion.
25 High Intent Scanner
Owns the same-day signals. Five minutes every morning, before
anything else. A two-day-old recommendation request is late.
26 Reciprocity Tracker
Owns who engaged and was never reciprocated. The cheapest warm
list available and the one nobody schedules.
27 Community Watcher
Owns the groups and events where the ICP actually is.
28 Reply Commenter
Owns answering every comment on your own posts, publicly.
Keeps the post alive, which extends the import window.
29 Profile Optimiser
Owns the nine checks and the rewrite. Runs before any sending,
because every request drives a profile visit.
30 Social Selling Lead
Owns the two-week engagement phase before any DM in a warm
motion. The pitch never appears before touch three.
Agent 22's velocity rule is the one most people get wrong. Total reactions tells you a post already peaked. Velocity tells you it is still travelling.
Division 4: Outreach, 10 agents
31 List Builder
Owns sourcing. Post engagers first, search last. Someone who
commented has done something; someone matching a filter has not.
32 Filter Pass
Owns keep, drop, unsure. Runs on the cheapest model. Keeps
dropped.csv so the filter is auditable.
33 List Grader
Owns the gate. A to F across eight dimensions. Below B,
nothing sends.
34 Engager Scorer
Owns the order. Depth times fit, maximum 9. At 20 a day, the
order decides the quarter.
35 Account Tierer
Owns effort allocation. Tier 1 gets one-to-one, tier 3 gets a
template and whatever capacity is left.
36 Connection Note Writer
Owns the note. Under 200 characters, no ask, specific and
dated. Acceptance below 15% means this file, not the sequence.
37 Opener Writer
Owns message one. Under 300 characters, one ask, the signal
named specifically.
38 Sequence Builder
Owns the node list. Four touches maximum, no wait node after a
connection request, reply stops everything.
39 Merge Prompt Writer
Owns per-lead personalisation at send time. Only the opening
line varies; the ask stays identical so results are comparable.
40 Send Budget Splitter
Owns the daily allocation across campaigns. Refuses any volume
above the account ceiling.
Agents 38 to 40 produce specs rather than sends. Prosp is where the spec runs: the builder actions map one to one, and it imports commenters and likers straight from any post URL including future reactions, which is what agent 31 relies on.
Division 5: Conversation, 10 agents
41 Reply Classifier
Owns routing. Seven categories, confidence 1 to 10, escalates
below 8. Sarcasm and politeness read the same in text.
42 Register Matcher
Owns tone. Matches their length, punctuation and formality
before drafting. Mismatch is why warm threads cool.
43 One Question Filter
Owns brevity. Two questions gets an answer to the easier one.
Three gets nothing, because now it is work.
44 Objection Handler
Owns the five to ten real objections. Agree with the true
part, add one fact, ask one question.
45 Next Step Closer
Owns the ask. Decides IF before HOW, names the length and the
agenda, offers two concrete times.
46 Voice Note Scripter
Owns the 20-second script. Written for speech, one filler
word, never sent alone.
47 Timing Tracker
Owns the not-now replies. Captures the date they named and
diarises it rather than losing them.
48 Wrong Person Router
Owns the most valuable and most binned category. Asks who owns
it, feeds the answer back into the ICP.
49 Handoff Detector
Owns when a human takes over. Price, scope, timeline,
procurement, or any frustration: hand off same day.
50 Meeting Prepper
Owns the brief before the call. What we know, the five gaps
ranked, the two likely objections, the disqualifiers.
Agent 48 pays for itself. One corrected job title fed back into the ICP is worth more than the deal that prompted it.
Division 6: Reporting, 10 agents
51 Campaign Diagnostician
Owns the weekly read. Works the chain in order, stops at the
first failure, outputs ONE change.
52 Acceptance Diagnostician
Owns stage one. Note, list, or profile. Checks the profile
last and finds the problem there more often than expected.
53 Reply Diagnostician
Owns stage two. Samples 20 sent messages and counts which
checks each one failed.
54 Growth Diagnostician
Owns content performance. Reach, comments, delivery,
conversations, followers. Stops at the first failure.
55 Source Tagger
Owns attribution. Lead source names the CAMPAIGN, never the
channel. "LinkedIn" tells you nothing in three months.
56 CRM Hygienist
Owns the record. Flags, never deletes. Stale is not the same
as wrong.
57 Weekly Reporter
Owns what goes out. Every metric pairs with an action, every
percentage sits beside its absolute.
58 Win Loss Analyst
Owns closed deals, both kinds. The question for a loss is what
they chose instead, not whether price was a factor.
59 Account Health Checker
Owns the sending account. Seven checks weekly, before it
breaks rather than after.
60 Signal Attribution Analyst
Owns the monthly question: which signal tier produced the
booked meetings. That line changes next month's targeting.
Agents 51 to 53 need figures no CRM holds. Prosp supplies them per campaign and per account: requests sent and accepted, messages sent, replies received, pushed natively to HubSpot or out through 12 webhook events and a REST API.
Which ten to install first
Sixty agents is a triggering collision problem if you install them all at once.
01 ICP Analyst
10 Proof Librarian
29 Profile Optimiser
21 Engagement Lead
22 Borrowed Reach Finder
31 List Builder
33 List Grader
37 Opener Writer
41 Reply Classifier
51 Campaign Diagnostician
Those ten run a complete motion on their own. Add the rest as the gaps appear rather than in advance.
Section 3The 50 LinkedIn Skills
Five categories, ten each. A skill does one task. Save to .claude/skills/.
24 of these ship in the agency repo already. The rest are written out here.
Foundation, 10 skills
| Skill | What it does, and the rule that matters |
|---|---|
icp-from-closed-won |
Derives the ICP from deals. Fewer than 10 closed-won means say so, not guess. |
persona-builder |
What the buyer is measured on. Every field sourced or marked UNKNOWN. |
voice-of-customer |
Twelve verbatim phrases. Never paraphrased into marketing language. |
disqualifier-writer |
Who this is not for. This is what the filter filters on. |
proof-library-builder |
One row per result, with a permission column. No permission, no name. |
positioning-line |
The one sentence. If it repels nobody, it is too broad to build on. |
profile-optimizer |
Nine checks then the rewrite. Headline truncates at 60 characters on mobile. |
tam-sanity-check |
The send maths. Under four weeks of sending means the ICP is too narrow. |
title-mapper |
The title that signs, not the one you search. Frequently different. |
competitor-brief |
The honest difference, including where they are better. |
---
name: icp-from-closed-won
description: Derive an ICP from closed-won deals rather than a
workshop. Use before any list building or targeting.
---
Pull closed-won, last 12 months. Per deal: company size, industry,
buyer job title, deal size, days to close, and the trigger.
OUTPUT to context/icp.md:
1. Three attributes correlating with fast closes
2. Three correlating with long or lost deals
3. Exact job titles that actually signed, verbatim
4. Size band with the highest win rate
5. A searchable filter string built from point 3
6. The gap between the stated ICP and the actual one
7. Who this is explicitly NOT for
FAIL CLOSED with fewer than 10 deals. Report the count and stop.
FAIL CLOSED if the export has no job titles. Name the missing field.
Point 6 is the deliverable. A real buyer who is a different title
from the one on the website changes everything downstream.
List building, 10 skills
| Skill | What it does, and the rule that matters |
|---|---|
list-builder |
Sources ranked by intent. Post engagers first, search last. |
competitor-engagers |
Their commenters. Capture the post topic, not just the lead. |
job-post-trigger |
Hiring for the role you replace. Budget and need at once. |
funding-trigger |
30 to 90 days post-announcement. Reference what they said they would do with it, never the amount. |
event-attendee-import |
Attendees of a relevant event, with the event named in the opener. |
fit-filter |
Keep, drop, unsure, 12-word reason. Cheapest model. Keep dropped.csv. |
list-grader |
Eight dimensions, A to F. Below B nothing sends. |
engager-scorer |
Depth times fit, maximum 9. Sort descending. That order is the campaign. |
account-tiering |
Three tiers, three effort budgets. Tier 1 over 20% means the criteria are loose. |
duplicate-detector |
Within the list, against past campaigns, and across every active campaign. |
---
name: engager-scorer
description: Score post engagers so the send budget goes in the right
order. Cheapest model, lowest effort.
---
DEPTH x FIT, each 1 to 3, multiplied. Maximum 9.
DEPTH 1 reaction only
2 short comment
3 substantive comment, or engaged more than once
FIT 1 adjacent to the ICP
2 right role wrong company, or the reverse
3 exact match
6 to 9 contact this week
3 to 5 hold, watch for a second signal
1 to 2 no outreach. Keep the row, spend no send on it.
Add a score column, sort descending.
At 20 connection requests a day, account-wide, a 400-row list is
five weeks of the entire budget. The order decides the quarter, not
the size.
Content, 10 skills
| Skill | What it does, and the rule that matters |
|---|---|
content-pillars |
Three repeatable topics, never themes. A fourth means one is failing. |
hook-writer |
Five per post. Delete the body: if the hook still feels complete, rewrite it. |
post-writer |
Matches the three reference posts. One idea per line. |
humanizer |
Seven-point strip. Numbers not all round, one genuine break in the flow. |
lead-magnet-post |
Three variants, three keywords, CTA by connection state. |
carousel-builder |
8 to 12 slides. Slide one carries the whole promise. |
pov-extractor |
The one position they would defend under pushback. That is the post. |
repurposer |
One long asset into 10 to 12 standalone ideas. Never a blank page. |
editorial-calendar |
Four weeks visible. Status per row, pillar per slot. |
trend-research |
Ranks by comment-to-reaction ratio. High comments means a fight, and a fight is where attention is. |
---
name: humanizer
description: Strip the tells of AI-generated writing. The final pass
on every post before it publishes.
---
Write the body first, then the hook. A hook written first constrains
the body to fit it.
THEN STRIP:
- Numbers not all round. 85 to 11, not 85 to 9.
- No perfect parallelism in lists. One element differs in length
or form.
- One genuine break in the flow of thought, not an inserted
"anyway".
- Case studies carry one vague detail beside one hyper-specific
one. Real memory is uneven.
- Not every post resolves. One a week ends open.
- No em dashes anywhere.
- One idea per line, three lines maximum per paragraph.
FINAL TEST: could a competent person have written this in five
minutes? If it reads like it took a committee, that is what it
reads as.
Messaging, 10 skills
| Skill | What it does, and the rule that matters |
|---|---|
signal-finder |
Dated and verifiable, with the URL. No signal means NONE. |
connection-note-writer |
Under 200 characters, no ask. Sales Navigator required to send one. |
opener-writer |
Under 300 characters, one ask, signal named specifically. |
sequence-builder |
Four touches, no wait node after a connection request. |
merge-prompt-writer |
Only the opening line varies. Keep the ask identical. |
voice-note-scripter |
Under 20 seconds, roughly 50 words, never sent alone. |
message-self-check |
Seven checks, five must pass, or rewrite rather than send. |
reply-classifier |
Seven categories. Below 8 confidence, always escalate. |
objection-handler |
Agree with the true part, add one fact, ask one question. |
next-step-closer |
Decide IF before HOW. Tag after booking so the sequence stops. |
---
name: message-self-check
description: Check a drafted message before it sends. The last gate.
Run as a fresh reviewer, not as the writer.
---
SEVEN CHECKS. Five must pass.
[ ] Under 300 characters
[ ] One question only
[ ] References something specific and dated, not a category
[ ] No banned opener
[ ] No claim absent from context/proof.md
[ ] Register matches context/voice.md
[ ] No em dashes
Report pass or fail per check WITH the evidence. Never summarise as
"looks good".
Fewer than five passing means rewrite, not send. A message failing
three checks will not be rescued by the follow-up.
BANNED OPENERS, burnt:
"I came across your profile"
"I help [vertical] with [service]"
"Are you open to a quick chat"
"Quick question for you"
Engagement and diagnostics, 10 skills
| Skill | What it does, and the rule that matters |
|---|---|
engagement-session |
25 minutes, six rules, every comment scored before posting. |
comment-scorer |
Below 7 rewritten, not posted. Target an 8.0 session average. |
borrowed-reach |
Ranked by velocity, not total. 200 after an hour beats 600 after two days. |
high-intent-scanner |
Five minutes daily. Signals 1 and 2 are same-day or not at all. |
reciprocity-tracker |
Who engaged twice and was never acknowledged. Cheapest warm list there is. |
campaign-diagnostic |
Five stages in order, stop at the first failure, ONE change. |
acceptance-diagnostic |
Five checks. Check five is the profile, and it is the one people miss. |
growth-diagnostic |
Reach, comments, delivery, conversations, followers. Stage five is the profile again. |
source-tagger |
Lead source names the campaign and the signal type, never the channel. |
account-health-check |
Seven checks weekly. Idle 7+ days gets parked and sends nothing. |
---
name: campaign-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.
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 an outreach 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.
Stages 1 to 3 need figures no CRM holds. Prosp supplies them per campaign and per account, pushed natively to HubSpot or out through 12 webhook events including Message Replied and Connection Accepted.
Section 4The 100 LinkedIn Prompts
Ten categories, ten each. No install needed. Paste and run.
Start here. If the prompts produce generic output, the problem is context/voice.md, not the prompt.
ICP and targeting, 10
01 Pull my closed-won from the last 12 months and tell me the
three attributes that correlate with a fast close, with the
evidence. If I have fewer than 10 deals, say so and stop.
02 From this export, list the exact job titles that signed,
verbatim. Then list the titles I have been targeting. Show me
the gap.
03 Build the searchable filter string from the titles that
actually signed. Flag any title that reads right but never
signed.
04 Who is this explicitly not for? Give me six disqualifiers,
each with one line on why it fails.
05 Estimate how many companies match this filter. At 20
connection requests a day, how many weeks to work the whole
list? If it is under four, the ICP is too narrow.
06 Read these 20 headlines and return KEEP, DROP or UNSURE per
row with a 12-word reason. Do not guess on ambiguous ones.
07 Grade this list A to F across ICP fit, title accuracy,
affordability, completeness, deduplication, recency,
reachability and signal strength. Name the two lowest.
08 Split this list into three tiers with a different effort
budget each. If tier 1 is over 20% of the list, tell me the
criteria are too loose.
09 Map the buying committee at this company: economic buyer,
champion, blocker, technical evaluator. Mark UNKNOWN rather
than assigning the nearest title.
10 Compare my stated ICP against my last 20 closed-lost deals.
What do the losses have in common that the wins do not?
Signals and research, 10
11 Find one dated, verifiable reason to contact each of these
leads now. Record the date and the URL. If there is no
signal, write NONE rather than stretching an attribute.
12 Rank these signals into tier 1, 2 and 3 by how close they sit
to a budget decision, and tell me why each one lands there.
13 Search job boards for companies hiring [ROLE] within my ICP.
Quote the exact line in the posting that reveals the need.
14 Find companies that raised in the last 90 days in my ICP.
Tell me what they said they would spend it on, not the amount.
15 Score each lead: signal tier, engagement depth, ICP fit, and
recency of signal. Sum to 12. Sort descending.
16 Research this account across their site, their content, their
hiring and their reviews. Synthesise once, at the end.
17 What is my audience arguing about right now? Rank by
comment-to-reaction ratio, not total engagement. High
comments means tension.
18 Read this competitor's last 10 posts. What is the position
they hold that their audience pushes back on?
19 Find the twelve phrases my buyers actually use to describe
this problem. Quote them exactly. Never paraphrase into
marketing language.
20 This lead's signal is 90 days old. Is it still live? Tell me
what would need to be true, and how to check.
Prompt 17 is the one that changes a content calendar. Reactions mean agreement. Comments mean a fight, and a fight is where attention sits.
Profile, 10
21 Audit this profile against nine checks: proof, empty
adjectives, clarity, gaps, call to action, visual
consistency, mobile readability, searchability, contact
hygiene. PASS, WEAK or FAIL with evidence.
22 Write three headline options, each character-counted, each
flagged for where it truncates at 60 characters on mobile.
Never job-title-at-company.
23 Rewrite the About in four movements: hook, the problem they
solve, proof, one CTA. First person. Keywords in the first
two lines.
24 What should be pinned in Featured, and why that rather than
the alternatives?
25 Rewrite each Experience entry as action plus method plus
measurable outcome. If there is no outcome, ask me for one.
26 Cut the Skills section to 10 to 15 clusters that match the
terms my buyer actually searches.
27 Count the words in this profile that could describe anyone.
List them. Each one is a wasted line.
28 Does the banner say the same thing as the headline? If not,
tell me which one is wrong.
29 Read this profile as the buyer I am targeting. What would
stop you accepting a connection request from this person?
30 My acceptance rate is below 15%. Check the note, the list,
and the profile, in that order. Stop at the first failure.
Content, 10
31 Define three content pillars. Each must be a repeatable topic,
not a theme. If I cannot talk about one for twenty minutes
without notes, tell me it is not mine.
32 Write five hooks for this post. Then delete the body and tell
me which hooks still feel complete. Those are summaries, not
hooks.
33 Write this post matching the three reference posts in my
voice file. Not the adjective list. The actual posts.
34 Strip the AI tells from this draft: round numbers, perfect
parallelism, no break in the flow, everything resolving, em
dashes.
35 Turn this long asset into 10 to 12 standalone post ideas. One
idea per line. No idea that needs the others to make sense.
36 Build a carousel from this. 8 to 12 slides, one idea each.
Slide one carries the whole promise on its own.
37 Read this call transcript. Give me three claims my market
agrees with, two it disagrees with, and one I would defend
under pushback. The last one is the post.
38 Write a lead magnet post. Three variants, three different
keywords in the same family. Never numbered variants.
39 Which of my last 20 posts produced conversations rather than
reach? Tell me what those have in common.
40 Build a four-week calendar, three posts a week, one pillar
named per slot. Never two posts on the same day.
Engagement, 10
41 Find five posts published in the last six hours, already at
200+ reactions and climbing, on my pillar topics. Rank by
velocity, not total.
42 Write five comments for this session. No two share a
structure. At most two mention my own work. At least one is
outside my niche.
43 Score this comment 1 to 10. Below 7, rewrite it rather than
posting.
44 Rotate the structure: counterexample, specific number,
narrowing question, mild disagreement, extension, short
reaction. Which am I overusing this week?
45 Scan for same-day signals: someone in my ICP posting about
the problem I solve, or asking for a recommendation in my
category. Those are same-day or not at all.
46 Who has commented on my posts more than once and never been
acknowledged? That is my warmest list.
47 This comment got 40 replies. Read them and tell me what the
disagreement actually is.
48 Write a reply to every comment on this post. Vary the
structure. Never the same acknowledgement twice.
49 My reach is falling. Is it the content, or is it that I
stopped commenting before posting? Check the session log.
50 Find the three accounts whose posts my ICP reliably engages
with. Those comment sections are my list.
Openers and sequences, 10
51 Write a connection note under 200 characters. Specific,
dated, no ask. A request is not the place for one.
52 Write the opener: line one the signal dated and specific,
line two the inference, line three the question. Under 300
characters.
53 Write one opener per tier. Tier 1 leads with the signal, tier
2 with the observable problem, tier 3 with the segment
pattern and no personalisation claim I cannot back.
54 Check this message against the burnt openers: "I came across
your profile", "I help X with Y", "Are you open to a quick
chat", "Quick question".
55 Build the sequence as a node list. Action, delay, exact copy,
exit condition per node. Four touches maximum.
56 Convert this copy into merge prompts. Only the opening line
varies. State what to do when a variable is empty. Never
allow "Hi ,".
57 Script a voice note under 20 seconds, roughly 50 words.
Written for speech. One filler word, not two.
58 Run the seven checks on this message. Five must pass or I
rewrite. Report each with evidence, not a summary.
59 I want to send 60 a day across three campaigns. Tell me why
that is wrong and give me the correct split.
60 Write the close-out message for touch four. Permission to say
no, and a specific date to check back.
Prompt 60 produces more replies than the two touches before it combined, because permission to say no removes the pressure that was stopping them answering.
Replies and objections, 10
61 Classify this reply into exactly one of: interested, timing,
objection, wrong person, not interested, auto reply,
escalate. Give me confidence 1 to 10 and the sentence that
decided it.
62 Match their register before drafting. Length, punctuation,
capitalisation, formality, emoji. Show me what you matched.
63 Count the questions in this draft. If more than one, keep the
one whose answer changes what I do next and cut the rest.
64 This is an objection. Agree with the part that is true, add
one fact they do not know, ask one question that moves it
forward.
65 Should I ask for the meeting yet? Decide IF before HOW, and
tell me which condition is or is not met.
66 Write the ask: name the length, name the agenda, offer the
link and two concrete times. Never "let me know what works".
67 They said not now and named a month. Draft the diarised
follow-up and tell me when to send it.
68 Wrong person. Draft the message asking who owns it, and tell
me what to change in my ICP file when they answer.
69 They said "we already use [competitor]". That is information,
not rejection. What is the one question to ask?
70 Review this thread and tell me whether to keep going or stop.
If they have said no twice, say stop.
Lead magnets and delivery, 10
71 List what is literally inside this resource. Objects, counts,
sections. If I cannot list objects, tell me it is not
finished.
72 Write the CTA for mostly-connected and mostly-not-connected
audiences. Both versions.
73 Pick three keywords in the same semantic family. Never
numbered. Tell me why these three.
74 This post will pull 500 comments. At 20 connection requests a
day, how long to deliver to everyone? Give me the split.
75 Score these commenters depth times fit. Who gets the resource
this week and who waits?
76 Write the delivery message. Three lines: thanks, the link,
one question. Never pitch here.
77 Write the follow-up for people who never opened it. Name the
single most useful thing inside, specifically.
78 Which of my three post variants pulled? Tell me what that
says about the angle, not just the number.
79 Draft a public reply to each comment on this post. Vary them.
Public replies keep the post alive.
80 My magnet got 400 comments and no conversations. Diagnose it.
Start with whether the resource and the offer are related.
Prompt 80 catches the most common failure. A magnet unrelated to what you sell produces a large list you cannot convert, and it feels like success for about three weeks.
Reporting and diagnostics, 10
81 Work the diagnostic chain in order and stop at the first
failure. Do not report five stages when the first is broken.
82 My acceptance is 11%. Check in order: is a note attached, is
it specific, does it contain an ask, is the list the ICP, is
the profile optimised.
83 Sample 20 sent messages. Count how many failed each of the
seven checks. Tell me which check fails most.
84 Give me one change for this week. One. Not three.
85 Which signal tier produced the booked meetings this month?
That line changes next month's targeting.
86 Build the weekly report. Every metric pairs with an action.
Every percentage sits beside its absolute. No impressions as
a headline.
87 Set the lead source to the campaign name and the signal type,
never the channel. "LinkedIn" tells me nothing in three
months.
88 Run the seven account health checks. Is anything parked,
capped, or duplicated across campaigns?
89 Read these closed-lost deals. What did they choose instead,
and why? Price is the reason people give when they do not
want to give the real one.
90 Compare this month to last. Tell me what changed, and whether
it was the one thing I changed or something else.
Agency and multi-account, 10
91 Derive this client's ICP from their closed-won, not mine.
Show me the gap between who they say they sell to and who
signed.
92 Build this client's voice file. Three of their real posts,
pasted in full. Tell me if three is not enough to work from.
93 Check for overlap between two client lists. Same prospect,
two accounts, is a problem I need to see before sending.
94 This is a brand new client account. Give me the ramp: what
daily volume in week one, week two, week three.
95 Split the daily budget across this client's three campaigns.
Tier 1 gets the majority even though it is smallest.
96 Write the weekly client report. Categories not raw counts.
Interested versus timing versus objection.
97 Rank this client's objections by frequency across the last
five weeks. That ranking is a positioning insight.
98 Draft the handoff brief for this booked call: the signal, the
thread, their problem in their words, what I committed to.
99 Who presses send on this account? Give me the three options
and which belongs in a contract.
100 This client wants daily posts. Tell me why three a week is
the right answer and how to say it without sounding like
under-delivery.
Section 5The 30 LinkedIn Workflows
30 workflows on a schedule. Daily, weekly, monthly.
Build these last. Automate what already works manually, or you automate a broken process and it breaks faster.
Daily, 12 workflows
| Time | Workflow | What it does, and the stop condition |
|---|---|---|
| 07:00 | High intent scan | ICP posting about the problem, or asking for a recommendation. Same-day or not at all. Nothing found means one line, not a report. |
| 07:15 | Borrowed reach scan | Posts under six hours old, past 200 reactions, on a pillar topic. Ranked by velocity. |
| 08:00 | Daily post | Publishes today's scheduled post, then an auto-comment 20 minutes later. The gap is deliberate. |
| 09:00 | Engagement session | 25 minutes. 8 to 10 likes, 5 comments, each scored before posting. |
| 10:00 | DM prep | Drafts replies for human review. Never sends. |
| 11:00 | Reply classification | Every inbound sorted into seven categories. Below 8 confidence escalates. |
| 12:00 | Connection top-up | Fills the daily allocation from the score-sorted list. Refuses to exceed the cap. |
| 14:00 | Post engager import | Pulls new commenters and likers from active posts, including late reactions. |
| 15:00 | Comment reply pass | Public replies to every comment on your own posts. Keeps the post alive. |
| 16:00 | Reply to replies | Second pass on threads that moved during the day. |
| 17:00 | Tag and log | Writes lead source, signal type and tier against every new lead. |
| 18:00 | Cap check | Sends used against allocation. Flags anything approaching the ceiling. |
Start with three, not twelve. The 07:00 scan, the 09:00 session, and the 11:00 classification. Those three run a complete daily motion, and adding the rest before those are reliable just multiplies the failures.
The 20-minute gap in the 08:00 workflow is deliberate. The first comment on your own post lifts early engagement, and 20 minutes is late enough to read as a considered addition rather than a planted one.
Weekly, 12 workflows
| Day | Workflow | What it does, and the stop condition |
|---|---|---|
| Mon 08:00 | Campaign diagnostic | Five stages in order, stop at the first failure, output ONE change. |
| Mon 08:30 | Growth diagnostic | Reach, comments, delivery, conversations, followers. Stage five is the profile. |
| Mon 09:00 | Account health check | Seven checks. Parked, capped, restricted, 2FA, duplicates. |
| Mon 10:00 | Warm signal scan | Anyone marked Contacted or Cold who has since engaged, viewed, or changed job. |
| Tue 09:00 | List build | New rows from the week's best sources. Enrich nothing yet. |
| Tue 10:00 | Filter and grade | Keep, drop, unsure. Then A to F. Below B, rebuild rather than proceed. |
| Tue 11:00 | Signal pass | One dated trigger per surviving row, with the URL. |
| Wed 09:00 | Content batch | Next week's three posts, drafted and humanised, status DRAFT. |
| Wed 15:00 | Experiment audit | What changed last week, and whether the lift can be attributed to it. |
| Thu 09:00 | Sequence top-up | New rows into the campaign, within the split. |
| Fri 16:00 | Weekly report | Every metric paired with an action. Drafted, not sent. |
| Sat 17:00 | Next week planner | Calendar for the coming week. Pillar named per slot. |
One change per week, from Monday's diagnostic. Change three things and Wednesday's experiment audit tells you nothing, because there is no way to attribute the lift.
Monthly and quarterly, 6 workflows
| Cadence | Workflow | What it does |
|---|---|---|
| Monthly | Signal attribution | Which signal tier produced the booked meetings. The single line that changes next month's targeting. |
| Monthly | Win loss review | Both kinds. For losses, what they chose instead and why. |
| Monthly | Objection ranking | The five most frequent, ranked. A positioning insight as much as a sales one. |
| Monthly | CRM hygiene sweep | Incomplete records, normalisation, duplicates, orphans. Flags, never deletes. |
| Quarterly | ICP re-derivation | Against the last quarter's closed-won. If the winning title moved, everything downstream needs rebuilding. |
| Quarterly | Content refresh | Keep, refresh, consolidate or kill across the back catalogue. Five to ten pages, not the whole site. |
The monthly signal attribution is the highest-value workflow in the department and the one most likely to get skipped, because it produces one line rather than a dashboard.
The rules that keep 30 workflows readable
A quiet period produces one line, not a report. Any workflow that emits a full report every run regardless of findings gets ignored by week three. Build the nothing-found branch first.
Nothing auto-sends. Every workflow that touches a person drafts and routes. A human presses send.
Every workflow states what it could not assess. A diagnostic on partial data points at the wrong stage, which is worse than no diagnostic.
Errors notify with the full payload. A failed import you cannot replay is a lost list.
Where the sending workflows run
Seven of the thirty touch a real person: the connection top-up, the post engager import, the comment reply pass, the sequence top-up, the reply classification, the cap check and the account health check.
Prosp runs those. Cloud-based, so the schedule does not depend on a machine staying open, with a free dedicated residential proxy per connected account and activity paced under the platform's thresholds.
The import pulls commenters and likers from any post URL including future reactions, which is what makes the 14:00 daily import a setting rather than a task. The unified inbox spans every connected account, so the 11:00 classification runs over one queue.
Lead states drive the Monday warm signal scan directly: Not Contacted, In Campaign, Contacted, Not Accepted after 14 days with auto-withdraw, Replied which stops the campaign, Duplicate, Blacklist, Failed.
Section 6The 10 LinkedIn Playbooks
Ten playbooks. Where a skill does one task, a playbook sequences the rest across days or weeks.
Each names the components it calls and what exists at the end.
1. The first 30 days
WEEK 1, DAY 1
icp-from-closed-won, then profile-optimizer.
Nothing sends this week.
WEEK 1 TO 2
engagement-session and borrowed-reach, daily. That is all.
A post published into a feed where nobody recognises the name
reaches only the followers you are trying to grow.
WEEK 3
content-pillars, then post-writer and humanizer.
Three posts. One a day maximum.
WEEK 3 ONWARD
list-builder, fit-filter, list-grader, signal-finder.
Below B, rebuild rather than send.
Launch at 10 requests a day, not 20.
WEEK 4
Raise to 20 if acceptance is above 25%.
campaign-diagnostic. ONE change.
Running outreach in week one works. It just works worse, and the difference is two weeks of free commenting you did not do.
2. The lead magnet play
STEP 1 List what is literally inside. Objects, counts, sections.
If you cannot list objects, it is not finished.
STEP 2 lead-magnet-post. Three variants, three keywords.
STEP 3 Post one. Order the other two a week apart.
STEP 4 Import commenters and likers, future reactions on.
STEP 5 engager-scorer. Deliver to 6+ first.
STEP 6 Five nodes: import, 1st-level condition, message on YES,
connection request then message on NO, reply-comment.
STEP 7 Delivery message: thanks, link, one question. No pitch.
STEP 8 Follow up once at day four, naming the single most useful
thing inside.
Step 4 is where this compounds or collapses. A post pulling 500 comments is 500 people expecting a link against a 20 a day ceiling, which is five weeks. Plan it before posting.
3. The competitor harvest
1 Pick by audience overlap, not size. Top two only.
2 Commenters first, followers last.
3 CAPTURE THE POST TOPIC per lead, not just the lead.
4 Filter hard. Their employees, their customers, other
competitors. Expect 60% to drop.
5 Score depth times fit.
6 Opener leads with the TOPIC. Never the competitor.
7 Touch three differentiates, still without naming them.
Never name the competitor anywhere. It reads as surveillance and it gets screenshotted.
If a prospect asks how you found them, answer honestly and briefly. Evasion at that point is worse than the question.
4. The content engine
MONTH START
One long asset. The only original writing in the month.
THEN REPURPOSE
8 to 12 standalone posts, one idea each
4 to 6 comment-ready opinions for engagement sessions
1 carousel from the strongest section
WEEKLY
Mon campaign-diagnostic and growth-diagnostic. One change.
Tue Publish. engagement-session.
Wed Publish. engagement-session.
Fri Publish if the week has earned it. Log what performed.
QUARTERLY
Content refresh. Five to ten pieces, prioritised.
Never write channel content from a blank page. A missed day beats a thin post.
5. The warm engagement motion
For high-value accounts where a cold message would be wasted.
WEEKS 1 TO 2, NO MESSAGE AT ALL
3 substantive comments per person, spread across days
Each adds a perspective, a counterpoint or a number
At least one on a post with 200+ reactions
Never mention what you do. Not once.
Score every comment. Below 7 gets rewritten, not posted.
THEN
1 DM referencing the specific exchange, not the profile
2 Wait 4 days. Answer substantively, no pitch.
3 Wait 5 days. The relevance of what you do, one line.
4 Wait 7 days. Close-out.
The pitch does not appear until touch three. Earlier and the two weeks reads as a manoeuvre, which it then was.
This caps throughput long before the send ceiling does. Two weeks per prospect is the constraint, not 20 a day.
6. The job-post trigger play
The strongest budget signal available, and the least worked.
1 Search job boards for companies hiring the role your offer
replaces or supports, within the ICP.
2 Capture the exact line in the posting that reveals the manual
work or the gap. Verbatim.
3 Drop anything older than 45 days. Either it is filled or the
budget moved.
4 The hiring manager is usually the buyer. Where not visible,
run the committee mapper.
5 Opener line one QUOTES the posting, in quotation marks.
6 Line two names what that role will actually spend its week on.
7 Line three asks whether that is the bottleneck or a symptom.
A company posting for the role has budget allocated and an unmet need at the same time. Those two rarely coincide this visibly.
The quote is load-bearing. Paraphrasing loses the whole effect, because the point is that you read their actual posting.
7. The re-engagement play
The cheapest pipeline available and the one almost nobody runs.
SCAN WEEKLY for anyone marked Contacted or Cold who has since:
- Changed job
- Viewed your profile
- Engaged with a post
- Appeared in a funding or hiring announcement
A JOB CHANGE is the strongest. They arrive with ninety days to
show a change, no loyalty to the incumbent, and you already have
a relationship.
ROUTE into a fresh sequence referencing the NEW signal. Never the
old thread. "Following up on my message from March" is the worst
possible opener.
THREE SEGMENTS, three treatments:
Went quiet after a call reference the problem they named
Never replied at all treat as cold, new signal only
Said not now, named a date diarised, land two weeks before
Most systems miss these entirely, because the lead is already marked Contacted and never re-enters the sequence.
8. The multi-account agency play
PER CLIENT, THREE FILES
icp.md from THEIR closed-won, never yours
voice.md three of THEIR posts, pasted in full
proof.md their results, with a permission column
NEVER SHARE A VOICE FILE. Two accounts that sound like the same
person is the fastest way to lose both.
PER ACCOUNT, ITS OWN CEILING
New account starts at 10 a day, not 20
Build to 20 over the first fortnight
Never aggregate. Eight clients is eight budgets.
DEDUPLICATE ACROSS CLIENTS, not just within a list. Two clients
in adjacent niches will share prospects.
SETTLE WHO PRESSES SEND before the first reply arrives. You draft
and they approve, you send under their name with written
permission, or you hand off every reply. One of those goes in the
contract.
NEVER COMMIT to price, scope or timeline on their behalf.
The mechanics: Prosp runs one account per client profile, each created in its own browser session because cookies conflict, all managed from one workspace. White-label with your own domain plus a sub-workspace per client. The unified inbox spans every account with filters for campaign, replied and unread, which makes the daily reply pass one task rather than eight logins.
9. The diagnostic loop
EVERY MONDAY, IN ORDER, STOP AT THE FIRST FAILURE
1 ACCEPTANCE BELOW 15%
The note, or the list is off-ICP. Then check the profile.
Do not touch the sequence.
2 ACCEPTANCE FINE, REPLIES BELOW 10%
The first message. Sample 20 and count the failed checks.
3 REPLIES FINE, MEETINGS LOW
The ask is mistimed, or the offer is wrong.
4 MEETINGS FINE, NOTHING CLOSING
Not outreach. Price or offer fit.
5 ALL FINE, VOLUME LOW
The cap split across campaigns.
ONE CHANGE. Not three.
MONTHLY, ONE QUESTION:
Which signal tier produced the booked meetings?
The monthly question changes next month's targeting more than anything else in any report, and it is the one most likely to be skipped because it produces one line rather than a dashboard.
10. The 90-day build
All 250 components, in the order that survives contact.
DAYS 1 TO 7
The three context files. Two hours on voice.md specifically.
Run 10 prompts. If the output is generic, fix voice.md.
DAYS 8 TO 30
Playbook 1, the first 30 days.
Install the 10 starter skills only.
DAYS 31 TO 45
Add the three daily workflows: high intent, engagement
session, reply classification.
Add playbook 2, the lead magnet.
DAYS 46 TO 60
Add the weekly workflows. Monday diagnostic, Tuesday list
build, Wednesday content batch.
Add playbook 4, the content engine.
DAYS 61 TO 75
Install the 10 starter agents.
Add playbooks 3, 6 and 7.
DAYS 76 TO 90
Remaining workflows and agents, as gaps appear.
First quarterly ICP re-derivation.
Installing all 250 on day one produces a triggering collision problem you will spend a fortnight debugging, and none of it will be the work.
Three things to remember
- Build the three context files first. 250 components reading one set of files behave like a department. 250 reading nothing behave like 250 tools.
- Comments are free, sends are not. Which 20 people you contact on Monday decides the quarter, not how many rows you built.
- One change per week. Change three and a lift tells you nothing about which one worked, which is the difference between a system and a habit.
250 components write it. Prosp sends it 💜