From linkedin-skills
Drafts 1-3 LinkedIn comments from post URLs using proven engagement patterns like first-commenter and data-first. Fetches context via Apify, suggests reactions, posts via Publora after approval.
npx claudepluginhub sergebulaev/linkedin-skills --plugin linkedin-skillsThis skill uses the workspace's default tool permissions.
Produce conversation-provoking comments on any LinkedIn post from a URL. The skill targets the patterns that actually got author replies in 2026 testing (Kevin Payne / Ivan Tsybaev patterns) and avoids the thesis-restatement patterns that die with zero engagement.
Drafts replies to LinkedIn comments from URLs, handles 2-level thread flattening to resolve parentComment URN, suggests reactions, and posts via Publora after approval. Use for thread continuations and re-engagements.
Generates high-engagement LinkedIn posts and content strategies using proven hooks, formats, algorithm signals, and writing rules.
Generates formatted LinkedIn posts from blog URLs, pasted articles, GitHub PRs, or project descriptions with hook and story arc. Optionally posts via Composio. Useful for professional announcements.
Share bugs, ideas, or general feedback.
Produce conversation-provoking comments on any LinkedIn post from a URL. The skill targets the patterns that actually got author replies in 2026 testing (Kevin Payne / Ivan Tsybaev patterns) and avoids the thesis-restatement patterns that die with zero engagement.
A LinkedIn post URL in any of the standard shapes (see the top-level SKILL.md URL table).
1-3 draft comment variants, each with:
LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, or ENTERTAINMENTThen waits for user approval. On "post", calls Publora to react + comment.
lib.url_parser.parse_linkedin_url to get post_urn and, if present, the post's activity ID.APIFY_TOKEN is set, call lib.ApifyClient.fetch_post(url) for the post body and fetch_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. If APIFY_TOKEN is not set, ask the user to paste the post text and (optionally) top comments.references/comment-templates.md that fit the post's topic. Fill them with user-voice phrasing.lib.approval.render_approval_card. Include: target URL, each variant, reaction suggestion, a one-line "why this template fits".lib.active_backend():
publora (PUBLORA_API_KEY set) → react to the post with the chosen reaction type, pause 8-15s, then post via lib.PubloraClient.create_comment (top-level, no parent_comment). Return the comment URN.manual (no backend configured — the default) → output the approved draft via lib.manual_mode_message(draft_text, target_url, kind="comment"). This gives the user a copy-paste block plus a one-time setup prompt for Publora (the preferred auto-post path). Do NOT attempt to post programmatically.diy (LINKEDIN_SKILLS_CUSTOM_POSTER set) → invoke the user's configured custom poster command with the draft text + target URL as arguments.references/comment-templates.md for full list)[Name] the [their-thesis] argument misses one piece.. [what-moved]. when [their-condition], the real differentiator is [specific-skill], not [their-focus].half the [population] I see now [behavior]. the [old-assumption] broke around [date]. [new-rule].when X the system does Y, when X' it does Y'. that's when [outcome] kicks in.the harder version of this question is..User: "Comment on this: https://www.linkedin.com/posts/dharmesh_activity-7448808898326654978-iW20"
Skill: [parses URL, fetches post, detects closing question "Seen this in your market?", drafts 3 variants]
Skill returns: T2 Answer-the-Closing-Question variant as primary pick, with T1 Missing-Piece as backup, reaction
INTEREST, one-line rationale, and approval prompt.
SKILL.md — this filereferences/comment-templates.md — the 7 templates with fill-in slots and real examplesreferences/voice-rules.md — the specific voice rules from user feedback memorieslinkedin-reply-handler — if you're replying to a comment (not posting top-level)linkedin-humanizer — for aggressive AI-tell scrubbinglinkedin-hook-extractor — if you want to use the author's own hook as the basis for your reply