LinkedIn Auto-Commenter

VerifiedSafe

Strict standards for an automated LinkedIn commenter: conversational tone, daily caps, headful stealth requirements, and data immutability.

Sby Skills Guide Bot
ProductivityIntermediate
007/26/2026
Claude Code
#linkedin#automation#comments#stealth#social-media

Recommended for

Our review

Automates LinkedIn commenting with a natural tone and anti-detection constraints (headful browser, random delays, banned phrases avoidance).

Strengths

  • Enforces human-like behavior (typing speed, random delays) to avoid detection.
  • Imposes a daily cap (20 comments/UTC) and duplicate prevention across sessions.
  • Persistent browser profile avoids repeated manual logins.

Limitations

  • Requires an initial manual LinkedIn login.
  • Stealth techniques may become outdated as LinkedIn updates its detection mechanisms.
  • Does not support replying to existing comments or handling very recent posts.
When to use it

To consistently and discreetly post relevant comments on LinkedIn without manual effort, e.g., for a marketing or networking campaign.

When not to use it

If you need to comment more than 20 times per day or engage in real-time conversations, as the limits and delays make the process too slow.

Security analysis

Safe
Quality score87/100

This skill is a static document outlining project standards and constraints for a LinkedIn auto-commenter. It contains no executable instructions, destructive commands, data exfiltration methods, or obfuscated payloads. It merely references internal files and libraries without instructing the agent to run or modify them in a risky way.

No concerns found

Examples

Comment on latest industry post
Run the LinkedIn auto-commenter to leave a thoughtful comment on the latest post from my feed about AI in healthcare, following all stealth and quality rules.
Schedule 5 comments today
Use the LinkedIn auto-commenter to post 5 comments today, spaced at least 15 seconds apart, on posts about remote work trends. Make sure each comment references a specific detail from the post and adds value.
Check daily cap and comment if under limit
Check if the LinkedIn auto-commenter has remaining daily comments (under 20) and if so, comment on the post at https://www.linkedin.com/posts/example-post with a natural, conversational response that does not start with a compliment.

LinkedIn Auto-Commenter — Project Standards

Comment Quality

Tone

  • Conversational and direct — write like a knowledgeable peer, not a marketing department
  • 2–4 sentences per comment
  • Use contractions naturally (it's, I'm, that's, we've, etc.)
  • Reference specific details from the post — generic comments are not acceptable
  • Add value: a question, a relevant experience, a constructive perspective

Prohibited Content

  • Never start a comment with a compliment about the post ("Great post!", "So insightful!")
  • Never include any phrase from src/ai/banned_phrases.py
  • Never reveal AI, automated, or generated origins
  • No corporate buzzwords: leverage, synergy, paradigm shift, game-changer, etc.

Operational Limits

Daily Cap

  • Hard limit: 20 comments per UTC day
  • Enforced by RateLimiter.assert_can_post() before every comment attempt
  • DailyLimitExceededError is raised — do not bypass or catch and ignore

Timing

  • Minimum delay between comments: 15 seconds
  • Maximum delay between comments: 45 seconds
  • Typing speed: 55–80 WPM with +/-30% per-character jitter

Architecture Constraints

Stealth Requirements

  • Browser must run headful (headless=False) — LinkedIn detects headless via GPU/font fingerprinting
  • stealth_async(context) must be called AFTER launch_persistent_context() returns
  • Use STEALTH_BROWSER_ARGS from browser_factory.py — do not modify without testing

Data Immutability

  • All models use frozen=True (@dataclass(frozen=True) or Pydantic frozen=True)
  • Never mutate model instances — create new ones instead

Duplicate Prevention

  • ActivityLog.was_commented(post_url) is checked before adding any post to the scrape results
  • Do not comment on the same post URL twice across sessions

Persistent Session

  • Browser profile stored at data/browser_profile/ (gitignored)
  • First run: log into LinkedIn manually in the opened browser
  • Subsequent runs: session is restored automatically — no re-login needed

File Organization

  • Max 800 lines per file, target 200–400 lines
  • One concern per module — no mega-files
  • All error handling must be explicit — never swallow exceptions silently
Related skills