Linkedin Comment Drafter
/install linkedin-comment-drafter
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 (Kevin Payne / Ivan Tsybaev patterns) 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
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, no em dashes, 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
- Parse the URL. Use
lib.url_parser.parse_linkedin_urlto getpost_urnand, if present, the post's activity ID. - Fetch the post body. If HarvestAPI is available via
corporate-knowledge/personal/knowledge/tools/social_poster/src/harvest_client.py, pull the post text and top 3 existing comments (to avoid duplicate takes). If not, ask the user to paste the post text. - 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. Strip em dashes, AI vocab, uniform sentence rhythm. Add a specific number or named entity if missing.
- 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 — adapt to the active backend. Call
lib.active_backend():publora(PUBLORA_API_KEY set) → react to the post with the chosen reaction type, pause 8-15s, then post vialib.PubloraClient.create_comment(top-level, noparent_comment). Return the comment URN.manual(no backend configured — the default) → output the approved draft vialib.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.
Templates (see references/comment-templates.md for full list)
- T1 Missing-Piece (Kevin Payne pattern, highest hit rate):
[Name] the [their-thesis] argument misses one piece.. [what-moved]. when [their-condition], the real differentiator is [specific-skill], not [their-focus]. - T2 Answer-the-Closing-Question: direct answer + one concrete example + why it matters
- T3 Data-First:
half the [population] I see now [behavior]. the [old-assumption] broke around [date]. [new-rule]. - T4 Practitioner Observation:
when X the system does Y, when X' it does Y'. that's when [outcome] kicks in. - T5 Counter-with-Concession: agree on point 1, push back on point 2 with one rooted reason
- T6 Quotable-Reframe: one line under 12 words + expansion
- T7 Ask-a-Sharper-Question:
the harder version of this question is..
Hard rules
- 200-350 chars. Don't exceed.
- Always capitalize the author's name (e.g., "Dharmesh", not "dharmesh").
- No em dashes, no hashtags, no emoji unless the post itself uses them.
- No mention of the user's own product by name. Describe what they do instead.
- Never paste generic praise ("Great post!", "This.", "100%"). The skill refuses.
- Skip the comment if the post is sponsored, a generic listicle, or the author has already deleted it.
Example invocation
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.
Files in this skill
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 memories
Related skills
linkedin-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
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install linkedin-comment-drafter - 安装完成后,直接呼叫该 Skill 的名称或使用
/linkedin-comment-drafter触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Linkedin Comment Drafter 是什么?
Drafts 1-3 tailored, high-engagement LinkedIn comment options from a post URL using proven 2026 templates and awaits user approval before posting. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 76 次。
如何安装 Linkedin Comment Drafter?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install linkedin-comment-drafter」即可一键安装,无需额外配置。
Linkedin Comment Drafter 是免费的吗?
是的,Linkedin Comment Drafter 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Linkedin Comment Drafter 支持哪些平台?
Linkedin Comment Drafter 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Linkedin Comment Drafter?
由 Sergey Bulaev(@sergebulaev)开发并维护,当前版本 v1.0.0。