Automated summary
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.
To consistently and discreetly post relevant comments on LinkedIn without manual effort, e.g., for a marketing or networking campaign.
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
SafeThis 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
How this analysis is madeExamples
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.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 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
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/linkedin-auto-commenter-ms1aw3fi/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/linkedin-auto-commenter-ms1aw3fi' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/linkedin-auto-commenter-ms1aw3fi/download' --output '.skill-downloads/linkedin-auto-commenter-ms1aw3fi/SKILL.md.part' && mv '.skill-downloads/linkedin-auto-commenter-ms1aw3fi/SKILL.md.part' '.skill-downloads/linkedin-auto-commenter-ms1aw3fi/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/linkedin-auto-commenter-ms1aw3fi/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.