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

  1. 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.
  2. Optional plugin – the repo can be added via Claude’s plugin marketplace (/plugin marketplace add …).
  3. Humanizer scripts – two Python 3 scripts (humanize.py and detect.py) live in skills/li‑human/. They have no external dependencies; just run them on a draft file to clean it and see the five‑check scores.
  4. 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 passeshumanize.py strips 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.
  • Detectiondetect.py scores 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.md the 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