24 Claude skills for agencies running LinkedIn for clients. 12 outreach, 12 content.
One public repo, MIT licensed. Install once, add a folder per client, and the same skills serve every account without the outputs blurring into each other.
Inside: the ICP derived from their closed-won deals rather than a kickoff workshop, the list grader that stops below a B, the humanizer you run before any draft reaches a client, the engagement session with six rules and a scoring rubric, and the diagnostic that stops at the first failing stage.
Plus the order to run them in per client, which is the part most agencies get wrong.
github.com/JackJProsp/agency-linkedin-skills
AI Driven, Personalized Outreach on LinkedIn: Prosp 💜
Section 1Install It, and Add Your First Client
Three commands to install. Two files per client after that.
Nothing else to configure.
Install
git clone https://github.com/JackJProsp/agency-linkedin-skills
cd agency-linkedin-skills
./install.sh
For every project rather than just this one:
./install.sh --global
That drops 24 skills into .claude/skills/ and creates a clients/ folder.
Add a client
mkdir -p clients/acme
cp templates/client-context.md clients/acme/
cp templates/voice.md clients/acme/
Two files per client. Every skill reads them before doing anything, which is what makes one install serve eight accounts without the outputs blurring into each other.
client-context.md carries the engagement, the ICP, the proof with permission, and the send budget.
voice.md needs three of their real posts pasted IN FULL. Not links, not summaries.
Three real posts demonstrate a voice. Three adjectives describe one, and a skill can only match what it can read. This is the single field that decides whether the drafts sound like the client or like software.
The field people leave blank is "other campaigns running on the same account". Limits are account-wide, so a skill that does not know what else is running will propose a volume that restricts the client's account.
Running it across eight clients
agency-linkedin-skills/
├── skills/ installed once, shared by every client
└── clients/
├── acme/
│ ├── client-context.md
│ ├── voice.md
│ ├── icp.md written by icp-from-closed-won
│ ├── prospects.csv
│ └── posts/
└── globex/
└── ...
Never share a voice.md between clients. Two accounts that sound like the same person is the fastest way to lose both.
Each client account has its own ceiling. Do not aggregate them, and do not assume a client's account has the same headroom as yours. A brand new account should start at 10 requests a day, not 20.
Fork it
The skills ship written for a generic B2B agency. Two things to replace before using them on a real client:
1. The objections. A forked skill full of generic objections is worse than no skill, because it produces confident answers to objections nobody raised.
2. The proof rules. Every skill pulls proof from the client context file. Make sure yours has a permission column, with YES, ANONYMISED and NO as the only values.
MIT licensed. Change what you like and ship your own version.
Section 2The 24 Skills
12 outreach, 12 content. Every one reads the two client files before doing anything.
The 12 outreach skills
| Skill | What it does |
|---|---|
icp-from-closed-won |
Derives the ICP from their deals, not a kickoff workshop |
list-builder |
Sources by intent, highest first |
competitor-engagers |
The highest-intent cold source there is |
signal-finder |
A dated, verifiable reason to contact them now |
fit-filter |
Keep, drop, unsure. Cheapest model. |
list-grader |
A to F. Below B, nothing sends. |
opener-writer |
Under 300 characters, one ask |
sequence-builder |
Four touches, node by node, inside the ceiling |
merge-prompt-writer |
Per-lead personalisation at send time |
voice-note-scripter |
Under 20 seconds, never sent alone |
reply-router |
Seven categories, escalates when unsure |
campaign-diagnostic |
Stops at the first failing stage |
The one that saves the most money: fit-filter, run on the cheapest model. It touches every row, so it is the highest-volume call in the library and has the least reasoning in it.
The one that prevents the most waste: list-grader. Below B it stops, which costs an afternoon. Sending against a C-grade list costs a month of a client's send budget.
The 12 content skills
| Skill | What it does |
|---|---|
profile-optimizer |
Nine checks, then the rewrite |
content-pillars |
Three topics, never themes |
hook-writer |
Five hooks per post, pick the true one |
post-writer |
Matches their real posts, not adjectives |
humanizer |
Strips the tells before the client sees it |
lead-magnet-post |
Three variants, three keywords, CTA built in |
carousel-builder |
One idea per slide, saves compound |
pov-extractor |
The contrarian position inside a transcript |
engagement-session |
25 minutes, six rules, scored |
comment-scorer |
Below 7 gets rewritten, not posted |
borrowed-reach |
Large posts, ranked by velocity not total |
growth-diagnostic |
Why the content is not growing |
Run humanizer on everything before the client sees it. A client who spots AI phrasing in a draft stops trusting the whole deliverable, and you do not get that back.
pov-extractor on call recordings is the underused one. Founders say things in conversation they would never write down, and the transcript is where the actual opinions are.
Section 3The 24 Skills (1)
12 outreach, 12 content. Every one reads the two client files before doing anything.
The 12 outreach skills
| Skill | What it does |
|---|---|
icp-from-closed-won |
Derives the ICP from their deals, not a kickoff workshop |
list-builder |
Sources by intent, highest first |
competitor-engagers |
The highest-intent cold source there is |
signal-finder |
A dated, verifiable reason to contact them now |
fit-filter |
Keep, drop, unsure. Cheapest model. |
list-grader |
A to F. Below B, nothing sends. |
opener-writer |
Under 300 characters, one ask |
sequence-builder |
Four touches, node by node, inside the ceiling |
merge-prompt-writer |
Per-lead personalisation at send time |
voice-note-scripter |
Under 20 seconds, never sent alone |
reply-router |
Seven categories, escalates when unsure |
campaign-diagnostic |
Stops at the first failing stage |
The one that saves the most money: fit-filter, run on the cheapest model. It touches every row, so it is the highest-volume call in the library and has the least reasoning in it.
The one that prevents the most waste: list-grader. Below B it stops, which costs an afternoon. Sending against a C-grade list costs a month of a client's send budget.
The 12 content skills
| Skill | What it does |
|---|---|
profile-optimizer |
Nine checks, then the rewrite |
content-pillars |
Three topics, never themes |
hook-writer |
Five hooks per post, pick the true one |
post-writer |
Matches their real posts, not adjectives |
humanizer |
Strips the tells before the client sees it |
lead-magnet-post |
Three variants, three keywords, CTA built in |
carousel-builder |
One idea per slide, saves compound |
pov-extractor |
The contrarian position inside a transcript |
engagement-session |
25 minutes, six rules, scored |
comment-scorer |
Below 7 gets rewritten, not posted |
borrowed-reach |
Large posts, ranked by velocity not total |
growth-diagnostic |
Why the content is not growing |
Run humanizer on everything before the client sees it. A client who spots AI phrasing in a draft stops trusting the whole deliverable, and you do not get that back.
pov-extractor on call recordings is the underused one. Founders say things in conversation they would never write down, and the transcript is where the actual opinions are.
Section 4How To Use It, Week By Week
The order is the part most agencies get wrong. Running outreach in week one works. It just works worse.
Week by week, per client
Week 1, day 1. profile-optimizer. Every connection request and every comment drives a profile visit, and a weak headline loses the accept there rather than in the message. No amount of sequence tuning fixes it afterwards.
Week 1 to 2. engagement-session and borrowed-reach, daily. No posting, no outreach. A post published into a feed where nobody recognises the client's name reaches only the followers you are trying to grow. Two weeks of substantive commenting on large posts in their pillars changes that, and it costs nothing but time.
Week 3. Content starts. content-pillars, then hook-writer, post-writer and humanizer on everything.
Week 3 onward. Outreach. icp-from-closed-won, then list-builder, fit-filter, list-grader, signal-finder, then the copy chain.
The difference between starting outreach in week one and week three is two weeks of free commenting you did not do.
The weekly loop
MON campaign-diagnostic + growth-diagnostic
One change each. Not three.
MON engagement-session
TUE post-writer, then humanizer. Publish.
TUE engagement-session
WED list-builder on new sources, then fit-filter, then list-grader
WED Below B, rebuild. Above B, signal-finder.
THU Second post. engagement-session.
THU Top up the campaign within the daily split.
FRI reply-router over the inbox
FRI Third post if the week has earned it.
DAILY borrowed-reach, five minutes, before anything else.
One change per week per client. Change three things and a lift tells you nothing about which one worked, which is the difference between a retainer you can defend and one you cannot.
Where the sending happens
These 24 skills produce specs, copy and lists. None of them sends anything, and that is deliberate. A model driving a browser session on a client's account produces activity from an unusual environment at machine pace, and the account is not yours to risk.
Prosp is the send half. Cloud-based so nothing depends on a machine staying open, a free dedicated residential proxy per connected account, and activity paced under the platform's thresholds.
For agency work specifically: 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, so they log into your brand rather than someone else's.
The unified inbox spans every connected account with filters for campaign, replied and unread, which is what makes reply-router a single daily pass rather than eight logins.
sequence-builder outputs a node list that maps one to one onto the builder. Actions: 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.
Pricing scales with the book: $79.99 per account at 1 to 5, $59.99 at 6 to 30, $39.99 at 31 plus, with roughly 23% off annually.