I open Claude Code every day. This repo bolts a LinkedIn content team onto it, and it costs nothing to start. It is called linkedin-skills, by a developer who goes by sergebulaev. MIT license. It drafts every post, comment and reply, then holds it for your approval before anything goes out. That last part is the reason it is worth your time.
01. Why this exists now
drafting stopped being the hard part
The README has one line that explains the whole project: "writing collapsed to the price of a chat subscription." Any model can now write a passable LinkedIn post. So the value moved somewhere else.
The author puts it as knowing what your market posted this week, keeping a live list of the people who matter, and showing up in the comments every day with real judgment. The draft is the easy 10 percent. This pack is an attempt to systematise the other 90.
The skill writes the hook. It cannot tell you whether the story is worth telling.
Part of the set
sergebulaev ships one of these per platform, all MIT, all the same shape. The full rundown with every source link is on the social media skills hub.
02. What you actually get
one install, no coding
The skills load into Claude Code or Codex and trigger when you ask for something LinkedIn-shaped. You never call them by name.
| Skill | What it does |
|---|---|
| Post Writer | Drafts a post from 20 hook formulas taken from posts that worked in 2026, plus a founder angle library |
| Comment Drafter | Drafts a comment on any post from its URL |
| Reply Handler | Drafts replies to comments, handling LinkedIn's two-level thread flattening correctly |
| Post Audit | Checks a draft against current algorithm rules and AI-detection patterns before it publishes |
| Humanizer | Strips AI vocabulary, reveal bridges and staccato fragments |
| Hook Extractor | Reverse-engineers the hook formula from a viral post and hands you the blank template |
| Content Planner | Builds a 7-day plan with daily topics, formats, hooks and posting times |
| Engagement Monitor | Tracks threads for author replies and pulls likers and commenters grouped by how well they fit your buyer |
| Profile Optimizer | Rewrites your headline, About, Featured and Experience sections |
| Employee Advocacy | Plans a team LinkedIn program with a 14-day launch and ROI tracking |
| Repurposer | Converts content from other platforms into native LinkedIn posts |
03. Install it
a plugin marketplace, no coding
It ships as a plugin. Add the marketplace, install the pack, and the skills are live in your next session.
# Claude Code (CLI, Desktop, Web, IDEs)
/plugin marketplace add sergebulaev/linkedin-skills
/plugin install linkedin-skills@linkedin-skills
# Codex CLI
codex plugin marketplace add sergebulaev/linkedin-skills
codex plugin add linkedin-skills@linkedin-skills
# any other agent
npx skills add sergebulaev/linkedin-skillsNothing else is required. The optional API keys in section 6 only matter if you want it to read live LinkedIn data or publish for you.
04. The loop: draft, audit, approve
the approve step is not a formality
The flow is always the same. You describe the post you want. Post Writer drafts it. Post Audit checks it against algorithm behaviour and AI tells. Humanizer strips the patterns Post Audit found. Then it stops and shows you the result. Nothing publishes until you say so.
If you skip the reading and paste whatever it hands you, you will sound like everyone else who did the same thing. The gate is the job.
05. The four skills that carry it
the rest are useful, these are the reason to install
Post Audit is the one I would keep if I could keep only one. It reads a draft the way a bored recruiter would and tells you which lines sound generated. Humanizer then does the rewrite, so the two run as a pair.
Hook Extractor is the quiet winner. You give it a post that did well, and it returns the reusable structure with the specifics stripped out. Over a few weeks you build your own library instead of guessing.
Engagement Monitor is where the "content engineering" idea shows up in practice. It watches a thread and pulls the people who engaged, sorted by how close they are to your actual buyer. That turns a like count into a short list of names worth a reply.
Profile Optimizer is a one-time job with a real payoff. Run it once on your headline and About section before you do anything else. Your profile is what every new reader checks after a good post.
06. The optional paid add-ons
all three have a free tier
The core pack is free forever. Three integrations extend it, and you only add the ones you need. Keys go in a .env file in the repo root.
| Service | What it adds | Cost |
|---|---|---|
| Apify | Reads post bodies, comments and engager data from live LinkedIn | 1 to 5 dollars per 1,000 results |
| Publora | Publishes straight to LinkedIn from the agent | 15 posts a month free, then paid |
| Pixfaro | Generates on-brand illustrations for a post | From 0.004 dollars per image |
You can run the whole thing with zero keys and copy each approved draft into LinkedIn yourself. That is how I would start.
07. The completely free setup
run it with zero paid keys
Every skill in this pack works without Publora, Pixfaro or Apify. With no keys it drops to manual mode: it still drafts and audits, then hands you text to paste yourself instead of publishing. A few prompts make that mode smooth, and you can wire in free automation on top if you want it.
| Paid piece | Free version |
|---|---|
| Publora, publishing | A clean copy-paste block, or a local Playwright script that logs in with your own browser session |
| Pixfaro, images | Generate in ChatGPT or anywhere else, hand the skill the file path. Or skip images |
| Apify, Audience Insights data | joeyism/linkedin_scraper (pip install linkedin-scraper), plus gurbaaz27/linkedin-comments-scraper for comments |
For LinkedIn, the data scrapers are joeyism/linkedin_scraper for profiles and posts and gurbaaz27/linkedin-comments-scraper for comments. Both sign in with a cookie, so make a throwaway LinkedIn account, log in once in a normal browser, and put its li_at cookie in .env.
Right after install, paste this into Claude Code in the plugin's folder to turn on free mode:
I will not use Publora, Pixfaro or Apify. Read every SKILL.md and the files
in lib/ (apify_client.py, publora_client.py, pixfaro_client.py). Make all
skills work with zero paid keys: publishing outputs a clean copy-paste
block, images print the prompt and then accept a local file path, data
fetch asks me to paste the content when no scraper is set up. Do not change
any function names or return shapes. Add FREE_MODE=1 to .env.example. Show
me a summary of every change.That alone is a working free setup. The rest is optional polish, each a one-paragraph prompt to Claude Code: swap the Apify calls in lib/apify_client.py for the scraper above, keeping the return shape and putting the new code in lib/free_scrapers.py so one import flips it back; rewrite lib/publora_client.py to post with Playwright from your saved browser session and stop before the final click unless you pass auto=True; make lib/pixfaro_client.py take a local image path instead of calling the API.
Day to day: the skill drafts and humanizes, then you paste the post yourself or let the Playwright step do it. Need an image, the skill prints a prompt, you make it elsewhere and give back the path. Audience Insights runs off the local data source.
Total cost, zero. Worth knowing: these scrapers are unofficial and against each platform's terms of service, they break whenever the platform changes its markup, and LinkedIn is quick to restrict accounts that scrape. Keep request volume low.
08. The founder layer
write for one reader, not the feed
Most LinkedIn advice optimises for reach. This pack ships a separate founder layer that does the opposite. It writes for a narrow, high-stakes audience: your next investor, your next hire, your next design partner.
The trade is deliberate. Fewer impressions, more trust with the ten people who can change your year. If you are building something and posting to be taken seriously rather than to go viral, this is the part to look at first.
09. The catch, in plain words
read this before you install
A skill pack does not give you taste. It will draft a hook in your voice, but it cannot judge whether the idea underneath is worth posting. That judgement stays with you, and the approve step is where you apply it.
Your voice also needs feeding. The skills match a voice you show them. Give them three or four of your own real posts to work from, not a one-line description of how you want to sound, or the output drifts back to default LinkedIn.
And the paid add-ons touch live data. Apify reads public LinkedIn at a cost per result, and Publora posts on your behalf. Read what each one does before you paste a key, the same as any integration.
10. Who should use it
the honest verdict
Use it if you already work in Claude Code or Codex and you post on LinkedIn, or keep meaning to. It removes the blank-editor problem and gives you an audit and a humanizer pass for free, which most people never run.
Skip it if you do not use an agent day to day. Installing a plugin marketplace to draft one post a month is more setup than it is worth, and a plain chat prompt will do.
There is a version of this for every other platform too. All of them, with source links, are on the social media skills hub.
The pack is on GitHub, it is MIT, and it takes ten minutes to try. Worst case, nothing changes. Best case, the blank editor stops being the thing you avoid.
Source: github.com/sergebulaev/linkedin-skills ↗// Free newsletter
I send out guides like this every week
Real setups, real sources, no hype. Drop your email and I'll send you the next one.