linkedin-skills is a collection of Claude Code and Codex skills for creating and managing LinkedIn content from a terminal. It helps users draft posts, comments, and replies, review their feeds, and plan a publishing cadence while requiring approval before publication. The catalogue entries are the project's skills, instructions, and plugin for using these workflows with coding agents.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sergebulaev/linkedin-skills --skill linkedin-hook-extractorgit clone --depth 1 https://github.com/sergebulaev/linkedin-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sergebulaev/linkedin-skills/linkedin-hook-extractor)<a href="https://agentmods.dev/skills/sergebulaev/linkedin-skills/linkedin-hook-extractor"><img src="https://agentmods.dev/badge/skills/sergebulaev/linkedin-skills/linkedin-hook-extractor.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.01063 |
| Opus 5 | $0.00051 | $0.00531 |
| Sonnet 5 | $0.00020 | $0.00213 |
| Haiku 4.5 | $0.00010 | $0.00106 |
Grade A, and why
linkedin-hook-extractor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
LinkedIn Hook Extractor
Paste a viral LinkedIn post URL. Get back: which hook formula it uses, the exact structure, why it worked, and a blank template mapped to your topic.
When to use
- User finds a viral post they want to study
- User wants to replicate a specific creator's pattern
- Before
linkedin-post-writerto seed a draft with a proven structure
Input
A LinkedIn post URL (any type: activity, share, ugcPost).
Output
- Formula identified (F1-F20 from
../../references/hook-formulas.md) with confidence score - Structural breakdown:
- Hook lines (first 210 chars)
- Body architecture (sections + what each does)
- Close pattern
- Reaction-triggering devices (numbers, named entities, vulnerabilities)
- Why it worked psychologically
- Blank template filled with slot markers matched to the original, ready for the user's voice
- Cautions: anything in the original post that would fail 2026 audit (em dashes above the cap, AI vocab, outdated tactics), plus the 2026 reach-note flags from
../../references/hook-formulas.md: a question as line 1, a "Here's what/how" or "Stop X, start Y" opener, a "The result?" / "Plot twist:" bridge, an unpaid curiosity gap, "comment X to get Y" bait, or announced candor with no dated fact. A viral source post may have used these; the template should not copy them.
Steps
- Parse URL.
lib.url_parser.parse_linkedin_url→post_urn. - Fetch post body. If
APIFY_TOKENis set, calllib.ApifyClient.fetch_post(url). Otherwise ask the user to paste the text. - Classify. Match against the 20 formulas using features:
- First 2 lines: anaphoric? question? confession? number-led?
- Body: numbered list? dated receipts? ledger? teardown?
- Close: mirror question? identity reframe? commitment?
- F11-F16 cues: in-medias-res emotional scene with no setup (F11 Emotional Cold-Open); "I don't know who needs to hear this" reassurance (F12 Permission Slip); fake-bad-news that resolves positive (F13 Bait-and-Switch); a roll-call of named people thanked (F14 Named Gratitude); "{jargon} explained to kids" glossary (F15 Explain-to-Kids); "outside I'm called X, at home none of it survives" (F16 Status-Strip).
- Score confidence. If multiple formulas fit, return top 2 with fit scores.
- Extract structure. Pull each logical section and label it by formula role.
- Generate blank template. Replace specifics with
{slot}markers that match the user's topic. - Audit the source. Flag any AI tells in the original so the user doesn't copy them.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed 5e6aa331d8bc
- 4d ago Changed · +18 lines e4b80e662e13
- 9d ago First seen · 63 lines · 102 tokens per session scan A 85424c7045b2
linkedin-hook-extractor is a skill published in the GitHub repository sergebulaev/linkedin-skills (1,302 stars, last pushed today), licensed MIT. It adds 102 tokens to every session and 1,063 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
linkedin-content-calendar-planner
Generate a 4-week LinkedIn content calendar tuned to the user's pillars, posting cadence, and audience. Returns a day-by-day plan with topic, format, hook angle, and CTA per post. Use when the user wants a system for the next month instead of inventing content every morning. Once the plan is confirmed it writes a…
linkedin-analytics-interpreter
Translate raw LinkedIn analytics (impressions, engagement rate, profile visits, follower growth, top posts) into a clear diagnosis : what is working, what is not, and 3 specific actions to take next month. Use when the user has numbers but does not know what they mean or what to do about them. Requires the Taplio MCP…
linkedin-audience-persona-builder
Build a sharp, post-ready persona of the user's target LinkedIn audience : role, pains, jobs to be done, vocabulary, aspirations, what content they consume, what objections they raise. Use when the user is starting on LinkedIn or when their content does not resonate (low comments, no DMs, traffic without conversion).…
linkedin-content-pillars-builder
Define 3 to 5 LinkedIn content pillars consistent with the user's positioning, plus 5 to 10 post topics for each pillar. Pillars are the recurring themes that make a creator recognizable. Use after the user has defined their niche, or when their content feels random and they want a system. Requires the Taplio MCP…
linkedin-niche-definer
Help the user define (or sharpen) their LinkedIn niche : audience, problem they solve, unique angle, and one-line positioning. The skill walks the user through a 7-question diagnostic, then synthesizes a positioning statement they can use across headline, About, and posts. Use when the user says "I do not know what to…
linkedin-post-performance-critic
Cold-read a LinkedIn post draft and audit it across 6 dimensions (hook, structure, scannability, specificity, CTA, voice). Returns a score per dimension, the 2 most important fixes, and a rewrite of the weakest section. Use BEFORE publishing, when the user wants a sanity check from a critic that does not love…