Jakeschincariol/linkedin-agent-skill
Eleven free Claude skills that run a LinkedIn account: posts off 21 hook formulas, comments, replies, profile score, weekly plan, and a humanizer that strips the AI fingerprint and scores the draft before it goes out.
What it is
LinkedIn‑agent‑skill is a collection of Claude “skills” (prompt‑templates plus a couple of tiny Python utilities) that help you write and manage LinkedIn content without ever sending anything to LinkedIn automatically. The repo ships eleven commands such as /li‑post, /li‑comment, /li‑profile, etc. Each command generates a draft (post, comment, reply, profile rewrite, weekly plan, carousel slides, DM sequence, inbox triage, audit, …) and then runs a humanizer that cleans invisible characters, normalises typography, replaces over‑used corporate‑speak, and scores the draft on five heuristics (burstiness, specificity, slop density, fingerprint, voice). The final output is a copy‑ready block that you manually paste into LinkedIn – the tool never uses the LinkedIn API.
How to get it running
- Claude installation – copy the
li‑*skill folders into~/.claude/skills/(or the repo‑local.claude/skills/). In Claude you can also paste the repo URL to install the skill directly. - Optional plugin – the repo can be added via Claude’s plugin marketplace (
/plugin marketplace add …). - Humanizer scripts – two Python 3 scripts (
humanize.pyanddetect.py) live inskills/li‑human/. They have no external dependencies; just run them on a draft file to clean it and see the five‑check scores. - Voice profile – fill
templates/voice.md(or~/.claude/linkedin/voice.md) with examples of your own writing so the generated drafts match your personal tone.
Core features (the eleven commands)
| Command | Purpose |
|---|---|
/li‑post |
Turn a single idea into three hook options (from 21 formulas) and a full draft, then human‑filter it. |
/li‑comment |
Generate a context‑aware comment (nine styles) for someone else’s post – never a generic “Great post!”. |
/li‑reply |
Organise and answer comments on your own post, classifying them (lead, substance, peer, support, noise) and drafting replies in that order. |
/li‑profile |
Score your LinkedIn profile on a 12‑point rubric (out of 100) and produce a rewrite that fixes the lowest‑scoring items first. |
/li‑plan |
Produce a weekly posting plan, including timing and a list of ten people to engage with, saved as ~/.claude/linkedin/plan.md. |
/li‑human |
The humanizer: removes zero‑width characters, normalises punctuation, replaces “slop” buzzwords, and runs the five‑check detector. |
/li‑carousel |
Build a document‑style carousel post: slide‑by‑slide copy, an eye‑catching cover, and a ready‑to‑upload PDF. |
/li‑repurpose |
Convert a video, newsletter, or transcript into a week’s worth of standalone LinkedIn posts. |
/li‑dm |
Draft a 200‑character connection note, an opening message, and two follow‑up messages for outreach. |
/li‑inbox |
Triage incoming LinkedIn messages into categories (lead, recruiter, peer, ask, spam) and highlight language that may give away automation. |
/li‑audit |
Analyse already‑published posts, ranking them by engagement rate and reach (not just impressions). |
The “humanizer” in detail
- Cleaning passes –
humanize.pystrips invisible Unicode characters, converts em‑dashes to commas, curly quotes to straight quotes, etc. - Lexicon replacement – a JSON file (
slop.json) lists 113 over‑used corporate terms and their plain‑English alternatives; you can edit it. - Detection –
detect.pyscores a draft on five heuristics (burstiness, specificity, slop density, fingerprint, voice). The final human score is a weighted blend (60 % average, 40 % worst‑case check) to surface drafts that still look AI‑generated.
Limitations & legal notes
- No automatic posting – the tool deliberately stops short of using LinkedIn’s API (which is unavailable for personal profiles) and instead gives you a copy‑ready block to paste manually. This avoids violating LinkedIn’s User Agreement.
- Local heuristics only – the five checks are simple rule‑based metrics, not integrations with commercial AI‑detector services. Scores are indicative, not guarantees of “undetectability”.
- Python scripts are dependency‑free but require a local Python 3 interpreter.
- Voice profile required – without a filled
voice.mdthe generated text falls back to a generic style.
Who built it
Created by Jake Schincariol (see opusjake.ai). The full write‑up is linked in the README.
License
MIT – you’re free to fork, modify, and redistribute.
Related
- Project
- Project
- Project
- Project