Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Linkedin Comment Drafter

v1.0.0

Drafts 1-3 tailored, high-engagement LinkedIn comment options from a post URL using proven 2026 templates and awaits user approval before posting.

0· 68·0 current·0 all-time
bySergey Bulaev@sergebulaev

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for sergebulaev/linkedin-comment-drafter.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Linkedin Comment Drafter" (sergebulaev/linkedin-comment-drafter) from ClawHub.
Skill page: https://clawhub.ai/sergebulaev/linkedin-comment-drafter
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install linkedin-comment-drafter

ClawHub CLI

Package manager switcher

npx clawhub@latest install linkedin-comment-drafter
Security Scan
Capability signals
CryptoCan make purchasesRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The declared purpose (draft LinkedIn comments and optionally post them) aligns with the SKILL.md steps (parse URL, draft templates, present for approval, post). However the SKILL.md expects integration points (Publora, a custom poster, and an internal HarvestAPI path) that are not declared in the registry metadata (no required env vars or config paths). Mentioning these backends is plausible for the stated purpose, but the skill should have declared any credentials/config it expects.
!
Instruction Scope
Instructions ask the agent to parse LinkedIn URLs, fetch post text and top-3 comments (via an internal HarvestAPI path if available), and call library helpers (lib.url_parser, lib.approval.render_approval_card, lib.PubloraClient.create_comment, lib.active_backend()). These references go beyond pure drafting: they expect access to internal libraries and to programmatic posting. The fallback to asking the user for post text reduces risk, but the unqualified use of internal paths and posting libraries is a scope creep / transparency issue.
Install Mechanism
Instruction-only skill with no install spec or downloadable code. That minimizes disk-write/installer risk.
!
Credentials
Registry lists no required env vars, but SKILL.md refers to PUBLORA_API_KEY and LINKEDIN_SKILLS_CUSTOM_POSTER (and expects lib.PubloraClient when PUBLORA_API_KEY is set). It also references an internal HarvestAPI module path. Requesting posting credentials and pointing to corporate modules without declaring them is inconsistent and could lead to credential misuse if granted inadvertently.
Persistence & Privilege
The skill is not always-enabled and is user-invocable; autonomous invocation is allowed (platform default). If posting credentials (e.g., PUBLORA_API_KEY) are provided, the agent could perform network actions to react and post — so granting posting credentials increases potential impact. The skill itself does not request persistent install or system-wide changes.
What to consider before installing
Key things to check before installing or enabling this skill: - Confirm how posting is performed: ask the publisher what 'Publora' is, where posts go, and whether the skill will ever post without an explicit, per-use approval. The SKILL.md refers to PUBLORA_API_KEY but the registry metadata does not declare it — don't provide credentials until you verify the backend and its privacy/security policies. - Verify the existence and provenance of the referenced libraries (lib.url_parser, lib.PubloraClient, lib.approval, and the HarvestAPI path). These look like internal helpers; if they aren't present the skill should fall back to manual mode only. - Prefer to run this skill in manual mode (copy-paste drafts) until you can inspect the code that implements the Publora/custom-poster backends. Ensure any custom poster command you configure is safe and sanitized (it will receive the draft text and target URL as args). - Be cautious about the HarvestAPI/internal path: it suggests the skill can access corporate/personal knowledge stores if available. Understand what data would be read and whether that access is permitted. - Ask the publisher for source code or a homepage. Instruction-only skills can be helpful but when they reference unspecified credentials and internal modules, that inconsistency should be resolved before granting any secrets or allowing automated posting.

Like a lobster shell, security has layers — review code before you run it.

latestvk97f2nvdd6sjjxymczv9rrazbh84vqxklinkedinvk97f2nvdd6sjjxymczv9rrazbh84vqxkmarketingvk97f2nvdd6sjjxymczv9rrazbh84vqxksocial-mediavk97f2nvdd6sjjxymczv9rrazbh84vqxk
68downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

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, or ENTERTAINMENT
  • 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

  1. Parse the URL. Use lib.url_parser.parse_linkedin_url to get post_urn and, if present, the post's activity ID.
  2. 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.
  3. Detect the author's closing question. If the post ends with a "?" line, the Answer-the-Closing-Question template usually wins.
  4. Draft comment variants. Pick 2-3 templates from references/comment-templates.md that fit the post's topic. Fill them with user-voice phrasing.
  5. Run the humanizer pass. Strip em dashes, AI vocab, uniform sentence rhythm. Add a specific number or named entity if missing.
  6. Present drafts for approval using lib.approval.render_approval_card. Include: target URL, each variant, reaction suggestion, a one-line "why this template fits".
  7. 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 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.

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 file
  • references/comment-templates.md — the 7 templates with fill-in slots and real examples
  • references/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 scrubbing
  • linkedin-hook-extractor — if you want to use the author's own hook as the basis for your reply

Comments

Loading comments...