linkedin-skills Turns Claude Code Into a LinkedIn Drafting Stack, and Its Own README Undercuts the Pitch
Watch on TikTok
The repo in this 42-second video is real, actively maintained, and more honest about what it cannot do than the video describing it. The tool on screen is sergebulaev/linkedin-skills, visible as a URL in the first frame under an infographic titled "11 skills for LinkedIn" with an "OPEN SOURCE MIT 2026" badge and four column headers: CREATE, ENGAGE, GROW, MEASURE. Later frames cut to the actual GitHub README table listing Post Writer, Comment Drafter, Reply Handler, Post Audit, Humanizer, Hook Extractor, Content Planner, and Engagement Monitor with their descriptions. Other frames show mockups rather than the product: a blue 7-day calendar labeled "7-DAY PLAN AUTO-BUILT," a beige card reading "DRAFT / DETECTOR SCAN / WAITING ON YOU" with Edit and Approve buttons, and a red-and-black audit table with Pass, Found, and Fixed columns. One frame is a genuine Claude Code prompt: "Ready to publish this post to your LinkedIn profile?" with options 1 Yes post it, 2 Let me edit it first, 3 Don't post, and "Opus 5 High" in the bottom right corner.
What is actually in the repo
The repository was created on 2026-04-14 and is MIT licensed. As of 2026-09-14 the GitHub API reports 2,294 stars, 401 forks, 15 contributors, and a v1.1.0 release published on 2026-09-13. The video says "almost nobody is talking about it yet," which is hard to square with 401 forks and a spot in the Claude Code plugin marketplace.
The skills/ directory holds twelve folders, each with a SKILL.md: comment-drafter, content-planner, employee-advocacy, engager-analytics, hook-extractor, humanizer, interviewer, post-writer, profile-optimizer, reply-handler, repurposer, thread-monitor. The video and the infographic both say 11, and the README now says 12. An Interviewer skill was added that builds a Story Bank of your roles, numbers, and turning points so the other skills stop asking you for a specific figure mid-draft.
The folder names do not map one-to-one to the README table. "Post Audit," which the video shows as its own row, is a sub-skill file at skills/linkedin-humanizer/sub-skills/post-audit.md. "Engagement Monitor" in the table covers two directories, engager-analytics and thread-monitor. Alongside the skills sit lib/ (six small Python modules), references/ (nine shared markdown files), and scripts/ (seven Python CLI checks and helpers).
Install is genuinely short. For Claude Code it is /plugin marketplace add sergebulaev/linkedin-skills followed by /plugin install linkedin-skills@linkedin-skills. Cloning the repo and opening it as your working directory also works, because the repo ships a .claude/skills/ directory of symlinks. There are separate paths documented for Codex CLI, claude.ai web, Claude Desktop, OpenClaw, Hermes Agent, and npx skills add.
The hook formulas: 20, not 21
The video says "21 different frameworks." The README says 20. references/hook-formulas.md is titled "20 LinkedIn Hook Formulas — 2026 Edition" and contains exactly F1 through F20, with no F21. The named ones the video flashes on screen are in there: F1 Platform Risk Anaphora, F2 R.I.P. Category Obituary, F3 Year-over-Year Pivot, F9 Curiosity-Gap Teaser, F11 Emotional Cold-Open, F17 Controlled A/B Anecdote, F18 False-Binary Dissolve. F17 through F20 are labeled the founder layer and pair with ten fill-in founder angles in references/founder-topics.md.
The voice rules in the README are specific enough to argue with, which is a good sign. Em dashes are capped at roughly one per 100 words rather than banned, on the stated reasoning that the character stopped being a tell in 2026 and the density is what reads as machine output. Posts target 900 to 1,300 characters, comments 200 to 350. The banned vocabulary list is leverage, fundamentally, streamline, harness, delve, unlock, foster. The video's claim that it "strips the dashes" is a simplification of a rule that deliberately keeps some.
The detector claim is the weakest part of the video
The video says every draft "scores it against five AI detectors before you ever see it." The repo says otherwise, repeatedly and in writing.
The Humanizer's SKILL.md frontmatter ends with "Not for beating AI detectors (no edit reliably does)." Line 135 instructs the model: "Never promise detector results. If the user asks 'will this pass GPTZero,' answer honestly: nobody can promise that, the score on a 200-word post is noise, and the sub-tool sub-skills/detector-tester.md exists to demonstrate the spread, not to certify a draft." Line 129 adds "do not report a detector score as the result."
The detector run is also not automatic. It is a standalone script, skills/linkedin-humanizer/scripts/test_detectors.py, invoked by hand. Running it against real services requires your own API keys for GPTZero, Originality.ai, ZeroGPT, Sapling, and Copyleaks, with Copyleaks needing both a key and an email. Those are the five detectors the video counts, and none of them are free. Without keys you get --demo, which the script's own docstring calls "offline canned scores." The SKILL.md flags this script as "the only code in this bundle that sends your text to third parties," which is a disclosure worth reading before you pipe a client draft into it.
The README's Humanizer row states the point plainly: the multi-detector tester "documents how much they disagree." Measuring detector disagreement is a reasonable thing to build. Presenting it as a pre-publication score is not what the code does.
The approval gate is a convention, not a lock
The video's strongest claim is that "nothing touches your feed without your approval" and "every single skill holds the output and waits on you." The mechanism is thinner than that sounds. The docstring at the top of lib/approval.py reads: "This file is a thin conventions layer, not runtime enforcement — skills should call render_approval_card to format the draft consistently and then stop until the user says go."
The instruction to stop lives in prompt text, so it is only as reliable as the model following it. What actually prevents accidental posting is that publishing is off by default. Without a Publora API key and a LinkedIn platform ID in .env, the skills have no path to LinkedIn at all and can only hand you text to paste. The Claude Code permission prompt shown in the video is the harness asking before a tool call, which is a real gate supplied by Claude Code rather than by this repo.
"Free" covers the repo, not the workflow the video describes
The skills bundle is MIT and costs nothing. The capabilities demonstrated mostly are not self-contained.
Reading LinkedIn data for the Comment Drafter, Reply Handler, Hook Extractor, and Engagement Monitor runs through Apify actors. Apify's free plan includes $5 in monthly platform credit, and the README puts the four actors it uses at $1 to $5 per 1,000 results. Publishing runs through Publora, whose free Starter plan allows 15 posts per month across 3 social accounts. Image generation is an optional Pixfaro key. Without any of these the skills still work, falling back to asking you to paste text in and copy text out, which is a sane default and also a much smaller claim than "Claude basically takes over your LinkedIn."
One more caveat on the research the repo leans on. The Humanizer cites specific figures, including a 92 to 95 percent catch rate on prompt-style humanizers and a claim that LinkedIn's slop-report button costs a flagged post about 40 percent of its views. The underlying papers it points to are real, including arXiv 2603.17522 ("Detecting the Machine: A Comprehensive Benchmark of AI-Generated Text Detectors Across Architectures, Domains, and Adversarial Conditions") and the Liang et al. paper on GPT detector bias against non-native English writers. I did not verify that the quoted percentages appear in those sources, and the 40 percent view-loss figure has no citation in the repo at all. Treat those numbers as the author's claims.
Key Takeaways
- The tool is github.com/sergebulaev/linkedin-skills, MIT licensed, created 2026-04-14, at 2,294 stars and 401 forks as of 2026-09-14, with v1.1.0 released 2026-09-13.
- The
skills/directory contains twelve SKILL.md folders, not the 11 shown in the video's infographic. Interviewer is the addition, and it builds a reusable Story Bank the other skills read. references/hook-formulas.mddefines 20 formulas numbered F1 to F20. The video's "21 frameworks" is off by one.- The five-detector scan is a manual script requiring paid API keys for GPTZero, Originality.ai, ZeroGPT, Sapling, and Copyleaks. It is not part of the default draft flow, and
SKILL.mdline 135 explicitly tells the model never to promise detector results. lib/approval.pycalls itself "a thin conventions layer, not runtime enforcement." The real safeguard against accidental posting is that publishing requires Publora credentials you have to add yourself.- Full-workflow use pulls in Apify ($5/month free credit, $1 to $5 per 1,000 results) and Publora (15 posts/month free). The repo is free; the pipeline it describes is not entirely.
- The same author ships sibling bundles for X, Instagram, YouTube, TikTok, Threads, and Facebook, all far smaller than this one (24 to 75 stars each).
Resources
- sergebulaev/linkedin-skills - the repo shown in the video, MIT licensed, with install paths for Claude Code, Codex, Claude Desktop, and OpenClaw
- references/hook-formulas.md - the full F1 to F20 hook formula catalog with examples and selection rules
- skills/linkedin-humanizer/SKILL.md - the humanizer's rules, tiers, and its explicit refusal to promise detector results
- scripts/test_detectors.py - the parallel detector script, including the
--demooffline mode - references/detector-list.md - endpoints, auth requirements, and accuracy notes for the five detectors
- lib/approval.py - the approval card helper that documents itself as convention rather than enforcement
- v1.1.0 release - the current release, published 2026-09-13
- Publora pricing - free Starter plan at 15 posts per month, paid plans billed per connected account
- Apify pricing - free plan with $5 monthly platform credit
- GPT detectors are biased against non-native English writers - Liang, Yuksekgonul, Mao, Wu, and Zou on detector false positives, one of the sources the humanizer leans on
Published September 14, 2026. Writeup generated from a favorited TikTok.