Done-for-you buildA specialist builds your first campaign · 6 build slots left · closes in Claim a build slot

Claude Skills for LinkedIn

Source: github.com/claude-dev-code/claude-skills-linkedin

Try Prosp Free3 working days to live · 6 slots left this week
5/5 rated on Capterra·Used by 800+ agencies and sales teams
Skills6 sections
Section 1

Install Guide and Daily Safety Caps

Source: github.com/claude-dev-code/claude-skills-linkedin

Install: git clone https://github.com/claude-dev-code/claude-skills-linkedin /tmp/cls && cp -R /tmp/cls/linkedin-* ~/.claude/skills/

Powered by: LinkupAPI MCP (https://mcp.linkupapi.com/mcp)

4 Claude Code skills for LinkedIn. Rate-limit-aware. Deduplication built in. All 4 share a single daily cap ledger so usage from one carries over to the others.

What this bundle covers

Skill 1: linkedin-outreach/ — full B2B outreach campaign from ICP to sent connection request

Skill 2: linkedin-high-intent/ — scrape commenters and reactors from any post, enrich, score, and outreach the matches

Skill 3: linkedin-feed-engage/ — auto-comment on ICP feed posts as a warmup before outreach

Skill 4: linkedin-enrich/ — bulk profile enrichment from LinkedIn URLs to role, company, email, and skills

Daily safety caps (shared across all 4 skills)

Each skill checks the shared ledger at Stage 0 before running. If the budget is exhausted from any previous skill in the same day, it trims the campaign size or stops gracefully.

Cap Limit per day What it gates
Connection requests 20 linkedin_network/invite
Profile gets 100 linkedin_profiles/get
Searches 15 linkedin_profiles/search_*
Comments 15 linkedin_content/comment (feed-engage only)

Campaign logs: ./campaigns/{date}-{slug}.md

Enrichment logs: ./enrichments/{date}-{slug}.md

Subsequent runs of any skill dedupe against these logs. A profile is never invited, commented on, or enriched twice unnecessarily.

Install in Claude Code

git clone https://github.com/claude-dev-code/claude-skills-linkedin /tmp/claude-skills-linkedin
cp -R /tmp/claude-skills-linkedin/linkedin-* ~/.claude/skills/

Restart Claude Code. Skills are auto-discovered and triggered by natural-language prompts.

Install in Claude Desktop or Claude.ai

  1. Go to the latest GitHub release: github.com/claude-dev-code/claude-skills-linkedin/releases/latest
  2. Download the zip for the skills you want: linkedin-outreach.zip, linkedin-high-intent.zip, linkedin-feed-engage.zip, linkedin-enrich.zip
  3. In Claude Desktop or claude.ai: Settings → Skills → Upload skill → drop the zip
  4. The skill becomes available across all your projects and conversations

Connect the LinkupAPI MCP server

Claude Code

Claude Desktop or Claude.ai

Section 2

Skill 1: linkedin-outreach: Full B2B Outreach Campaign

Skill 1 of 4. linkedin-outreach/ Full B2B outreach campaign from ICP definition to sent connection requests.

Triggered by: "outreach campaign", "find leads and connect", "run a LinkedIn campaign for [ICP]"

What it does

Define an ICP. The skill finds target companies, extracts decision makers (CEO, CTO, Founder), filters false positives, sends connection requests, and optionally arms a webhook for accept-triggered follow-up messages.

8-stage flow:

  1. Intent-first ICP discovery: sell, recruit, or network
  2. Draft ICP proposal from your inputs
  3. Batched-form filter editing before anything runs
  4. Company search against ICP criteria
  5. Decision maker extraction: CEO, CTO, Founder
  6. False positive filtering
  7. Multi-account selection with dedup and round-robin across accounts
  8. Connection request sends with mandatory campaign log persistence

Daily cap check

At Stage 0, the skill queries linkupapi_get_logs and computes:

  • Remaining connection requests (cap: 20/day)
  • Remaining profile gets (cap: 100/day)
  • Remaining searches (cap: 15/day)

If any cap is exhausted, the campaign trims to fit the remaining budget or stops gracefully with a report of what was completed.

Copy-paste prompt

Run a LinkedIn outreach campaign.

Load the linkedin-outreach skill.

ICP:
- Target title: [CEO / CTO / Founder / VP Sales / Head of Growth]
- Target company type: [SaaS / B2B agency / other]
- Target company size: [employee range]
- Geography: [regions]
- Intent: sell

Offer: [what I sell in one sentence]

Connection note: reference something specific about their company or role. Under 200 characters. No pitch.

Rules:
- Check daily cap before starting. Report remaining budget.
- Filter out: open to work, no real company, junior with no authority
- Log every send to ./campaigns/{today}-outreach.md
- If cap is reached, stop and report what was completed

Cross-skill deduplication

Before sending any connection request, the skill checks ./campaigns/*.md from the last 30 days. If a profile appears in any previous campaign log, it is skipped. This prevents the same person receiving duplicate outreach from different campaign runs or different skills.

Section 3

Skill 2: linkedin-high-intent: Outreach to Post Commenters and Reactors

Skill 2 of 4. linkedin-high-intent/ Scrape commenters and reactors from any LinkedIn post, enrich the matches, score against your ICP, and launch a targeted outreach campaign on confirmed matches.

Triggered by: "find leads from this post URL", "outreach to people who engaged with [post]"

The "saw your comment on..." personalisation boosts accept rate substantially over cold outreach.

What it does

Given a LinkedIn post URL, this skill:

  1. Scrapes all commenters and reactors from the post
  2. Filters on visible signal only (no enrichment at this stage, conserves credits)
  3. Enriches the matches that pass the visible filter
  4. Scores each enriched profile against your ICP
  5. Launches a targeted outreach campaign on confirmed ICP matches only

The connection note references the specific post the prospect commented on or reacted to. This is the highest-signal personalisation available without a conversation history: they already demonstrated interest in a topic relevant to your offer.

Why this works better than cold

Cold connection requests: 15 to 25% acceptance rate

Post-engagement outreach: substantially higher

The reason: the prospect has already signalled interest in a topic. You are not interrupting them. You are following up on something they already chose to engage with. The connection note can reference exactly what they said or what the post was about.

Best posts to use:

  • Posts by thought leaders in your ICP's space
  • Posts about a problem your offer solves
  • Posts from industry events your ICP attends
  • Posts announcing the exact trigger you target (funding, hiring, launch)

Copy-paste prompt

Run a high-intent lead campaign from a LinkedIn post.

Load the linkedin-high-intent skill.

Post URL: [PASTE LINKEDIN POST URL]

ICP:
- Target title: [CEO / CTO / Founder / VP Sales / other]
- Target company type: [SaaS / B2B agency / other]
- Disqualify: [open to work / no real company / competitor]

Offer: [what I sell in one sentence]

Connection note format:
Reference the post they engaged with. Under 200 characters. No pitch. Sound human.
Example: "Saw your comment on [post topic]. Made me think. Worth connecting."

Rules:
- Filter visible signal first before enriching (conserve credits)
- Only enrich profiles that pass the visible filter
- Only send to profiles that score as ICP match after enrichment
- Log all sends to ./campaigns/{today}-high-intent.md
- Check daily cap at Stage 0 and report remaining budget
Section 4

Skill 3: linkedin-feed-engage: Auto-Comment on ICP Feed Posts

Skill 3 of 4. linkedin-feed-engage/ Scroll the feed, identify posts authored by ICP-matching profiles, generate value-adding 2 to 3 sentence comments, and post them with strict pacing.

Triggered by: "comment on my feed", "engage with ICP posts", "warm up these prospects"

Cap: 15 comments per day. 30 to 60 seconds between each comment.

What it does

  1. Scrolls your LinkedIn feed
  2. Identifies posts authored by profiles that match your ICP criteria
  3. Generates a value-adding comment for each matched post: 2 to 3 sentences, adds something the post did not say
  4. Three comment modes: auto (posts without approval), templated (fills a structure you define), or HITL-approved (shows you each comment before posting)
  5. Posts with strict pacing: 30 to 60 seconds between comments, maximum 15 per day

Purpose: warm up. The prospect sees your name on their post. A few days later they receive a connection request. The accept rate is substantially higher than cold because you are already in their peripheral awareness.

The warmup sequence

Day 1-3: comment on 3 to 5 of their posts using linkedin-feed-engage

Day 4-5: send connection request via linkedin-outreach referencing the engagement

Day 6+ (after acceptance): first DM via message skill

This sequence mirrors how humans build rapport on LinkedIn before asking for anything. The difference is Claude runs it systematically across your entire target list without you opening a tab.

Comment quality rules

Every comment must:

  • Add something the post did not say
  • Be 2 to 3 sentences maximum
  • Not mention your product or company
  • Not be a generic compliment: "Great post!" or "So true!" is banned
  • Sound like a peer, not a vendor

The skill generates comments that pass these rules. In HITL mode, it shows you each one before posting.

Copy-paste prompt

Run a LinkedIn feed engagement session.

Load the linkedin-feed-engage skill.

ICP:
- Target title: [CEO / CTO / Founder / VP Sales / other]
- Target company type: [SaaS / B2B agency / other]

Comment mode: [auto / templated / HITL-approved]

Comment rules:
- 2 to 3 sentences per comment
- Must add something the post did not say
- No mention of my product or company
- No generic praise: "Great post" is banned
- Sound like a peer, not a vendor
- No em dashes

Pacing: 30 to 60 seconds between comments. Stop at 15 comments maximum.

After the session: log every comment to ./campaigns/{today}-feed-engage.md with the post URL and my comment text.

Check daily cap at Stage 0 before starting.
Section 5

Skill 4: linkedin-enrich: Bulk Profile Enrichment from LinkedIn URLs

Skill 4 of 4. linkedin-enrich/ Given N LinkedIn profile URLs, return enriched data: current role, company, location, experience, skills, and professional email when findable.

Triggered by: "enrich these profiles", "get emails for this list", "enrich these LinkedIn URLs"

Deduplicates against ./enrichments/ from the last 30 days. You never pay for the same lookup twice.

What it returns

For each LinkedIn profile URL:

  • Current role and title
  • Current company name and size
  • Location
  • Experience summary
  • Skills listed on profile
  • Professional email (when findable)

Output formats: inline markdown table, CSV, or JSON

Auto-deduplication: checks ./enrichments/*.md from last 30 days before running any lookup

When to run enrichment

Run linkedin-enrich before:

  • Loading a list into linkedin-outreach (confirm ICP fit before spending connection request budget)
  • Scoring leads from linkedin-high-intent (enrich the visible-signal filter matches)
  • Building a Clay waterfall (LinkedIn enrichment as the first layer)
  • Any campaign where you need email to run parallel cold email alongside LinkedIn

Do not enrich before linkedin-feed-engage (the skill filters on visible signal only, no enrichment needed at that stage)

Copy-paste prompt

Enrich these LinkedIn profiles.

Load the linkedin-enrich skill.

Profile URLs:
[paste LinkedIn profile URLs, one per line]

Output format: [markdown table / CSV / JSON]

Fields I need:
- Current role and title
- Current company
- Location
- Professional email if findable
- Relevant skills

Rules:
- Check ./enrichments/ from the last 30 days before running any lookup
- Skip any profile already enriched in the last 30 days and note it was skipped
- Log all enrichments to ./enrichments/{today}-enrich.md
- Check daily profile gets cap (100/day) at Stage 0 before starting
- Report how many profiles were skipped due to deduplication

Using enrichment output in Clay

Enrich these profiles for a Clay waterfall.

Load the linkedin-enrich skill.

Profile URLs: [paste URLs]

Output format: CSV

Fields needed for Clay waterfall:
- Full name
- Current title
- Company name
- LinkedIn URL (confirm)
- Professional email if found
- Company size

After enrichment: tell me which profiles have no email found so I can route those to the next waterfall layer (Apollo or Clearbit).
6 build slots left · closes in

Have your first campaign built for you

Send us your ICP and a Prosp specialist sources the list, writes the sequence and clones your voice. You review every draft before a single message sends.

5/5 rated on Capterra·800+ agencies and sales teams·Set up in 5 minutes
6 done-for-you build slots left this weekTry Prosp Free