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.

SkillWhat it does
Post WriterDrafts a post from 20 hook formulas taken from posts that worked in 2026, plus a founder angle library
Comment DrafterDrafts a comment on any post from its URL
Reply HandlerDrafts replies to comments, handling LinkedIn's two-level thread flattening correctly
Post AuditChecks a draft against current algorithm rules and AI-detection patterns before it publishes
HumanizerStrips AI vocabulary, reveal bridges and staccato fragments
Hook ExtractorReverse-engineers the hook formula from a viral post and hands you the blank template
Content PlannerBuilds a 7-day plan with daily topics, formats, hooks and posting times
Engagement MonitorTracks threads for author replies and pulls likers and commenters grouped by how well they fit your buyer
Profile OptimizerRewrites your headline, About, Featured and Experience sections
Employee AdvocacyPlans a team LinkedIn program with a 14-day launch and ROI tracking
RepurposerConverts 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-skills

Nothing 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.

YOUR IDEA DRAFT · AUDIT · HUMANIZE Claude Code runs the skills YOU APPROVE or send it back PUBLISHED
The skills draft and clean. You are the gate before it publishes.

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.

ServiceWhat it addsCost
ApifyReads post bodies, comments and engager data from live LinkedIn1 to 5 dollars per 1,000 results
PubloraPublishes straight to LinkedIn from the agent15 posts a month free, then paid
PixfaroGenerates on-brand illustrations for a postFrom 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 pieceFree version
Publora, publishingA clean copy-paste block, or a local Playwright script that logs in with your own browser session
Pixfaro, imagesGenerate in ChatGPT or anywhere else, hand the skill the file path. Or skip images
Apify, Audience Insights datajoeyism/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.