linkedin-agent.pdf — opusjake_os RESOURCE

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

Retro illustration of a beige mechanical card sorter turning blank index cards into finished written cards, with discarded em dashes and curly quotes collecting in a side tray

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

STATUS · ONLINE · OPUSJAKE © OPUSJAKE // CRT V1