// OPUSJAKE RESOURCE · CLAUDE SKILL
LINKEDIN AGENT
Eleven free Claude skills that run a LinkedIn account. Posts off 21 hook formulas, comments, replies, a profile score, the weekly plan, and a humanizer that strips the AI fingerprint out of every draft.
> boot opusjake_os
> resource: linkedin-agent
> version: v1.0 · 2026-09-07
> status: ready_
Eleven skills, one account. One writes your posts off 21 hook formulas. One comments on other people's posts. One handles the replies under yours. One scores your profile out of 100 and rewrites what lost points. One plans the week. And one strips the em dashes, the slop vocabulary, and the invisible characters out of every draft before you ever see it. Free, MIT, nothing to connect.
THE ELEVEN
Each one is a folder with a SKILL.md inside. Type the command, or just describe what you want and Claude picks.
| Command | The job |
|---|---|
/li-post |
One idea into a post. Three hook options, one full draft. |
/li-comment |
Comments on other people's posts. Nine types, never "Great post". |
/li-reply |
The thread under yours. Sorts every comment before writing. |
/li-profile |
Scores your profile out of 100, then rewrites what lost points. |
/li-plan |
The week. What to post, when, and the ten people to engage. |
/li-human |
The humanizer. Two scripts that actually run. |
/li-carousel |
Document posts. Slide copy plus the PDF to upload. |
/li-repurpose |
One video or newsletter into a week of posts. |
/li-dm |
The 200 character invite, the first message, two follow ups. |
/li-inbox |
Triage. Lead, recruiter, peer, ask, spam. |
/li-audit |
What you already posted, ranked by what actually worked. |
THE ONE THAT MATTERS FIRST
Not /li-post. Fill in voice.md first. It is a ten minute template that every other skill reads: who you write for, the words you use, the words you never use, the positions you hold, and the numbers you are allowed to publish. Paste three of your own posts into Claude and say "write my voice.md from these" and you are done in two minutes.
Skip it and all eleven skills write like everyone else's, which is the exact problem you installed them to fix.
INSTALL
Two lines. Paste this into Claude and it does the rest.
https://github.com/Jakeschincariol/linkedin-agent-skill
Install this skill, then confirm /li-post works.
BY HAND
git clone https://github.com/Jakeschincariol/\
linkedin-agent-skill.git
cp -r linkedin-agent-skill/skills/li-* ~/.claude/skills/
AS A PLUGIN
/plugin marketplace add Jakeschincariol/linkedin-agent-skill
/plugin install linkedin-agent
Project local instead of global: copy the same folders into your repo's .claude/skills/. No Claude Code at all? Paste any single SKILL.md at the top of a chat and it runs as a mode. You lose the two Python tools, which is most of the point of the humanizer, but the writing skills work.
Then copy templates/voice.md to ~/.claude/linkedin/voice.md and fill it in.
THE 21 HOOKS
Line one is the whole game. The feed cuts you off at roughly 140 characters on a phone, so the hook has to survive alone, with no second line to rescue it. These are the 21 shapes that work, and /li-post picks three for every idea instead of guessing at one.
| # | Formula | Example |
|---|---|---|
| 1 | Contrarian Take | Everyone says post daily. I posted 4x a week and beat every daily poster in my niche. |
| 2 | Number Reveal | I sent 400 cold DMs in 30 days. 11 replied. 2 became clients. |
| 3 | Mistake Confession | $18,000 is what not having a contract cost me last March. |
| 4 | Before / After | 18 months ago I wrote proposals at 2am. Today I send them in 6 minutes. |
| 5 | The List Promise | 7 things I wish someone had told me before I hired my first employee. |
| 6 | Insider Secret | After 9 years in agency sales, here is the part nobody puts in the job posting. |
| 7 | The Callout | If you are still writing your posts in the LinkedIn composer, stop. |
| 8 | Question Trap | Your best client asks for 40% off and hints they will leave. What do you do? |
| 9 | Story Cold Open | "We are going with someone cheaper." |
| 10 | The Receipt | 3 clients, 11 days, zero calls booked. Here is the exact sequence. |
| 11 | Myth Bust | The algorithm is not why your posts are dying. |
THE RULES UNDER THEM
One idea per hook. If it needs a comma splice, it is two posts. Line two is the payoff of line one, never setup for line three. Numbers beat adjectives every time. And if the hook works with somebody else's name on it, it is not your hook.
THE 21 HOOKS II
| # | Formula | Example |
|---|---|---|
| 12 | The Comparison | A $12,000 brand agency vs a $20 tool and a weekend. The weekend won. |
| 13 | Permission Slip | You are allowed to turn down work that pays well and makes you miserable. |
| 14 | Pattern Interrupt | I got fired. |
| 15 | The Warning | Your "quick call to align" is quietly costing you six hours a week. |
| 16 | Good vs Great | Good salespeople answer the question. Great ones ask why it was asked. |
| 17 | Time Anchor | Writing a week of posts used to take me 5 hours. It now takes 20 minutes. |
| 18 | The Unpopular Rule | I do not take discovery calls. Ever. |
| 19 | Curiosity Gap | The best hire I ever made failed the interview. |
| 20 | The Walk-Away | I fired my highest-paying client in January. Revenue is up 30%. |
| 21 | The Direct Value | Here is the exact 4-line email I used to reopen 3 dead deals. Steal it. |
WHAT SHIPS WITH EACH ONE
The repo carries all 21 as hooks.json, and each one has four fields, not one. The template. A filled example. What the formula is actually for. And the way it usually gets ruined, which is the field that saves you. Number 5 gets ruined by picking a number above 10. Number 19 gets ruined by never closing the gap. Number 3 gets ruined by confessing a fake mistake, because "I care too much" reads as a brag and kills the post.
THE HUMANIZER
/li-human ships two Python scripts with no dependencies. They run on your machine, on your text. Nothing is uploaded anywhere.
python3 humanize.py draft.txt --report
python3 detect.py draft.txt
python3 detect.py before.txt after.txt
THREE PASSES, IN ORDER
Invisible characters. Zero width spaces and joiners, word joiners, soft hyphens, byte order marks, Unicode tag characters, non breaking and narrow spaces. Your keyboard does not make these. They survive copy and paste, they are invisible in every editor you own, and they are the most mechanical thing in any generated text. Seventeen classes, all deleted, plus any remaining format character the script does not have a name for.
Typography. Em dash becomes a comma. En dash becomes a hyphen. Curly quotes become straight ones. The ellipsis becomes three dots. Then it cleans up the doubled punctuation that leaves behind, and promotes the comma splice to a full stop when the next word is a connective.
The lexicon. 113 stock words and phrases with plain English replacements. delve, leverage, robust, seamless, crucial, testament to, "in today's fast paced world", "let that sink in". Capitalisation is preserved and URLs are left untouched. It lives in slop.json and it is meant to be edited. If there is a word you actually use, delete the line.
WHAT IT REFUSES TO AUTO-FIX
Structural tells get flagged and handed back, not rewritten. "It's not just X, it's Y". Rule of three triads. The one word rhetorical question. Hashtag walls. "Thoughts?". Uniform sentence length and uniform bullet length.
Changing the shape of a sentence takes judgement, and a regex that tries it produces something worse than what it replaced. So that list is your work, and it is the part that moves the score.
THE FIVE CHECKS
detect.py scores five signals from 0 to 100. Higher is more human.
| Check | What it measures |
|---|---|
| BURSTINESS | Sentence length variation. Models write even. |
| SPECIFICITY | Numbers, names, concrete markers per 100 words. |
| SLOP DENSITY | Lexicon hits per 100 words. |
| FINGERPRINT | Invisible characters, em dashes, curly quotes per 1,000. |
| VOICE | Contractions, person, structural tells. |
The verdict weights the average at 60% and the single weakest check at 40%, because a detector only needs one signal to fire. A draft that is brilliant on four and dead on one is a draft that gets flagged.
RUN AGAINST A DELIBERATELY TERRIBLE DRAFT
BURSTINESS ##################...... 73.0
SPECIFICITY ######################## 100.0
SLOP DENSITY ........................ 0.0
FINGERPRINT ........................ 0.0
VOICE ########................ 33.3
------------------------------------------------
HUMAN SCORE ######.................. 24.8 FLAGGED
After humanize.py, with the flagged structures still unrewritten:
HUMAN SCORE #################....... 69.7 REVIEW
Forty five points from the three automatic passes. The last stretch to PASS is the part the script hands back to you on purpose.
THE PROFILE SCORE
/li-profile scores against twelve items worth 100 points, then rewrites in fix first order so you are not pasting six sections at once.
| Item | Points |
|---|---|
| Headline | 12 |
| About, first two lines | 10 |
| About body | 10 |
| Current role | 10 |
| Activity in the last 7 days | 10 |
| Featured section | 8 |
| Experience depth | 8 |
| Recommendations | 8 |
| Banner | 6 |
| Photo | 6 |
| Skills, top three | 6 |
| Contact and custom URL | 6 |
Most profiles score in the 30s and 40s on the first pass, and a generous score would be useless, so the skill is told to be blunt.
WHERE THE POINTS ACTUALLY GO
Two items are worth 22 points between them and take four seconds to read: the headline, and the first two lines of your about. Everything after line two of the about is behind "see more" on a phone, so for most readers those two lines are the entire about section.
An empty Featured section is eight points, and it is the only part of the page you fully control. A default blue banner is six more, and it is the clearest signal on the profile that nobody is home.
THE WEEK
/li-plan is the control room. Four posts beats seven. The fifth post of a week is almost always the weak one that drags the average down, and consistency is a floor, not a target.
WEEK OF SEP 8
MON engage only (20 min)
TUE 8:15am PROOF #17 the 5hr to 20min proposal rebuild
WED engage only
THU 8:00am OPINION #1 why we killed the discovery call
FRI 8:30am TEACH #21 the 4-line reopen email, given away
SUN 4:00pm STORY #9 "going with someone cheaper"
THE TEN PEOPLE
Five for reach, people with the audience you want, commented on before they hit 20 comments or nobody sees you. Three peers at your level, because that is the group that reciprocates. Two buyers, commented on for weeks before any DM ever happens.
Twenty minutes a day, before you post, not after.
ON POSTING TIMES
Tuesday to Thursday, 7:30 to 9:30am in your audience's timezone, is the working default. The skill will give you times, and it will also tell you the truth: the hour matters far less than whether line one is good. If you are tuning posting times before your hooks work, you are polishing the wrong thing.
WHAT IT WILL NOT DO
This is the part most tools leave out, so it goes here in full.
IT DOES NOT POST FOR YOU
There is no official API for posting to a personal LinkedIn profile without an approved partner app, and driving the site with a browser or a third party automation tool breaks LinkedIn's User Agreement and gets accounts restricted. So every skill ends the same way: a copy ready block, and you paste it.
That is not a limitation bolted on afterwards. It is why the approval gate is real instead of a checkbox.
THE FIVE CHECKS ARE LOCAL, NOT VENDOR APIS
They are heuristics modelled on the signals public detectors key on, and they run entirely on your machine. They are not GPTZero, Originality, Copyleaks, Winston or Turnitin. They do not call those services and they cannot promise those verdicts. Fixing what they measure tends to move those numbers, because they are measuring the same underlying things. That is the whole claim.
Nobody can honestly sell you "undetectable". Anybody who does is selling you something.
THE INVISIBLE PASS IS REAL AND IT IS NARROW
It removes the zero width and format characters that end up in generated text and survive a copy and paste. That is a genuine, checkable fingerprint, and you can watch the count in the report. It is not a claim about defeating a cryptographic watermarking scheme, and the repo does not make one.
NOTHING GETS INVENTED
No made up metrics, clients, revenue or outcomes go out under your name. If a draft needs a number you have not given it, it comes back with {{your number}} in it and a flag, every time.
GET IT
Free and MIT at github.com/Jakeschincariol/linkedin-agent-skill. Fork it, edit the lexicon, delete the skills you do not want, ship it.
// GET THE NEXT DROP
New resources go out to the list as they ship. One email, unsubscribe whenever.