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-comment-draftergit 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-comment-drafter)<a href="https://agentmods.dev/skills/sergebulaev/linkedin-skills/linkedin-comment-drafter"><img src="https://agentmods.dev/badge/skills/sergebulaev/linkedin-skills/linkedin-comment-drafter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sergebulaev/linkedin-skills/linkedin-comment-drafter"><img src="https://agentmods.dev/badge/skills/sergebulaev/linkedin-skills/linkedin-comment-drafter.svg" alt="Reviewed on agentmods" width="80" 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.00097 | $0.02094 |
| Opus 5 | $0.00048 | $0.01047 |
| Sonnet 5 | $0.00019 | $0.00419 |
| Haiku 4.5 | $0.00010 | $0.00209 |
Grade A, and why
linkedin-comment-drafter 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 today.
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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
LinkedIn Comment Drafter
Produce conversation-provoking comments on any LinkedIn post from a URL. The skill targets the patterns that actually got author replies in 2026 testing and avoids the thesis-restatement patterns that die with zero engagement.
When to use
- User pastes a LinkedIn post URL and says "comment on this", "draft me a comment", "engage with this post"
- User wants to be among the first 3 commenters on a viral post
- User wants to reply to a closing question the author asked
- User wants to reshare/repost a post to their own feed, with or without a one-line take ("repost this with my thoughts", "reshare this")
Input
A LinkedIn post URL in any of the standard shapes (see the top-level SKILL.md URL table).
Output
1-3 draft comment variants, each with:
- 200-350 char body, 1-2 short paragraphs, em dashes capped (about one per 100 words), no hashtags
- Assigned reaction type:
LIKE,PRAISE,EMPATHY,INTEREST,APPRECIATION, orENTERTAINMENT - Pattern label (which of the 7 templates was used)
- Estimated engagement fit based on what the author typically responds to
Then waits for user approval. On "post", calls Publora to react + comment.
Steps
Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that linkedin-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.
- Parse the URL. Use
lib.url_parser.parse_linkedin_urlto getpost_urnand, if present, the post's activity ID. - Fetch the post body. If
APIFY_TOKENis set, calllib.ApifyClient.fetch_post(url)for the post body andfetch_post_comments(post_id=..., max_items=10)for the top existing comments (so your draft doesn't duplicate an existing take). Both actors are no-cookies and cost roughly $0.001 + $0.005 per call on the Apify free tier. IfAPIFY_TOKENis not set, ask the user to paste the post text and (optionally) top comments. - Detect the author's closing question. If the post ends with a "?" line, the Answer-the-Closing-Question template usually wins.
- Draft comment variants. Pick 2-3 templates from
references/comment-templates.mdthat fit the post's topic. Fill them with user-voice phrasing. - Run the humanizer pass. Scrub 2026 AI vocab by paragraph density, cap em dashes (about one per 100 words, never swap one for a period), fix only machine-flat rhythm without manufacturing variance, and add an odd-precision number with a named referent if missing. Canonical rules:
linkedin-humanizerV3. - Present drafts for approval using
lib.approval.render_approval_card. Include: target URL, each variant, reaction suggestion, a one-line "why this template fits". - On approval. Call
lib.publish(kind="comment", draft_text=<approved>, target_url=<post_url>, post_urn=<urn>, platform_id=<id>, reaction_type=<chosen>). The wrapper handles Publora / manual / diy routing.
What ships with it
3 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.
- today Changed 5abd91ec6d64
- 4d ago Changed 3d0e97f47bfd
- 6d ago Changed · +18 lines f6e87c96a5e9
- 10d ago First seen · 111 lines · 97 tokens per session scan A 2e32f19495c2
linkedin-comment-drafter is a skill published in the GitHub repository sergebulaev/linkedin-skills (1,489 stars, last pushed yesterday), licensed MIT. It adds 97 tokens to every session and 2,094 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-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-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-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-swipe-file-builder
Help the user assemble a personal swipe file of high-performing LinkedIn posts, organized by hook pattern, format, and angle. The skill defines the structure, asks for inputs, turns saved posts into a usable reference library, then drafts the user's own post for every reference in the file (reusing structure, not…
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).…