Home / All Skills / Content & Media Creation / auto-commenter
Content & Media Creation · rokpiy/auto-commenter

auto-commenter

A skill for writing natural and valuable comments on Reddit communities. Includes the complete workflow from subreddit exploration, comment writing, review, posting, to tracking.

L5 Restricted · Isolated sandbox & strict auditV2 Human-AuditedCredential / SessionExecute CommandInstall DepsNetwork AccessWrite FileDual-pass Audit
Author rokpiyGitHub rokpiy/auto-commenter ↗Stars 585License MIT(仓库根 LICENSE 文件;GitHub API spdx=MIT)Commit e7fdda137e
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

The entire skill contains zero custom code: all capabilities are composed of Playwright MCP browser tools and procedural instructions in SKILL.md. The only 'runtime' in the repository is the MCP server declared in .mcp/settings.json.

.mcp/settings.json
{ "playwright": { "command": "npx", "args": [ "@playwright/mcp@latest" ] } }
How it works: It registers @playwright/mcp as an available tool server for the host, granting the agent browser navigation/snapshot/click/type capabilities. The skill content merely defines invocation specifications (browser_navigate / browser_snapshot / browser_click / browser_type / browser_wait_for). There are no .py/.js scripts in the repository; all files are markdown/json/png.

The main workflow is a hardcoded 8-step state machine: Check today's tracking file → Select subreddit → Browse new posts to select a target → Deep read post and existing comments → Write comment → 16-point personalization review loop → Post comment → Qualify leads + log activity.

.claude/skills/reddit-commenter/SKILL.md
1. Check today's date file in tracking/reddit/ folder → File name: YYYY-MM-DD.md (e.g., 2026-01-12.md) → If file doesn't exist, create new one referencing template.md
Step boundaries are explicitly numbered (Step 1..Step 8), connecting to leads/reddit.md and tracking/reddit/[date].md at Step 7 and Step 8 respectively, forming an auditable closed loop.

Quotas and pacing are hardcoded in the documentation: 3 comments per subreddit per day, at least 5-10 minutes between comments in the same subreddit, a total batch mode quota of 24 comments (8×3), and defined procedures for rate limits and expired sessions.

.claude/skills/reddit-commenter/BATCH.md
- Total 24 (8 subreddits × 3) - Subtract today's written comments - Remaining quota = 24 - Today's written comments
BATCH.md also specifies '[4] Move to next subreddit (wait 5-15 minutes)' and an error table: 'Rate limit detected → Wait 30 min then resume', 'Login session expired → Stop batch, notify user'. This is a typical approach of embedding 'anti-ban pacing' directly into prompts rather than using a code-level rate limiter.

Achieving 'human-like writing' relies on a 16-item personalization checklist + 8 sentence pattern templates + mandatory length distribution quotas, rather than unconstrained model generation.

.claude/skills/reddit-commenter/resources/personalization_reddit.md
### Length Distribution (Required) For daily activity (e.g., 24 comments): - **Short (1-2 sentences)**: Minimum 30% = 7-8 - **Medium (3-5 sentences)**: About 50% = 12 - **Long (6+ sentences)**: Maximum 20% = 4-5
Item 14 on the checklist is 'AI detection prevention', with a dedicated section listing AI tone patterns to avoid (uniform length, ending every post with a question, overly serious technical analysis on meme posts). Before posting, there is also a self-check requiring 'viewing the last 10 comments side-by-side'.

Content authenticity is grounded in two hard constraints: the original post must be read thoroughly (judging by keywords alone is prohibited), and if a comment references the poster's website, the agent must actually visit it via the browser before writing feedback.

.claude/skills/reddit-commenter/SKILL.md
• Visit actual site with browser_navigate(provided link) • Check UI/UX with browser_snapshot() • Write feedback based ONLY on what you actually saw • Absolutely NO speculative feedback on things you didn't see
Echoed in item 6 of Cautions in the same file: '⚠️ Step 3 Required: NEVER write comment without analyzing post content. Judging only by keywords can cause serious errors'.

Commercial intent is built-in: Step 7 evaluates posters as high/medium/low relevant leads based on 'Lead Selection Criteria' in leads/reddit.md and logs them into a lead sheet; resources/product.md provides product messaging templates (value proposition, pain points, competitor comparisons, natural promotional phrasing).

leads/reddit.md
## Lead Selection Criteria ### High Relevance - Directly mentions your product category - Complains about problems your product solves
The README explicitly states its position as marketing automation: 'A marketing automation framework using Claude Skills and Playwright MCP for authentic community engagement.' + '- **Identifies leads** automatically based on your product fit'.

Token discipline is codified into the skill: MCP calls pass minimal instructions, direct URL navigation is used instead of element clicking, and screenshots are strictly prohibited (accessibility trees are used for snapshots).

.claude/skills/reddit-commenter/SKILL.md
**⚠️ No screenshots**: Do NOT use `browser_take_screenshot`. Always use only `browser_snapshot` for page verification (accessibility tree is sufficient and doesn't save files)
Supporting resources are referenced step-by-step ('| `resources/personalization_reddit.md` | Step 5 (review) |', noting '→ Reference only at relevant Step, don't read in advance'), using file references instead of dumping all rules into context.

2Core Capabilities

01Post comments on Reddit using an authenticated browser session (Single-post mode: select post → deep read → write → review → post → log)
02Batch mode: run continuously across subreddits based on remaining quota, including progress reporting and termination conditions
03Style replication: 16-item checklist + 8 sentence templates + length distribution quotas to ensure comments sound authentic to the user
04Anti-AI detection: explicitly lists and prohibits AI tone patterns (uniform length, ending every post with a question, excessive enthusiasm, corporate jargon)
05Dynamic response strategies based on post type (lighthearted reply for humor, solutions for help requests, opinions for discussions) without rigid templates
06Q&A intent classification (experience/method/opinion/troubleshooting) and website validation requirements
07Deduplication and repeat prevention: prohibits commenting on the same post twice in a day, verified against the URL list in the daily tracking file
08Activity logging and lead capture (tracking/reddit/YYYY-MM-DD.md, leads/reddit.md, including full comment text and permalinks)

3External Dependencies

KindDependency / Endpoint
package@playwright/mcp
networkReddit(列帖与导航)
networkReddit(rising 列表)
network帖子内 OP 提供的外部站点(被要求真访问以给出实证反馈)
packageclaude(npm,^0.1.1)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Isolated environment, per-use explicit authorization
For Administrators
Strict authorization, full audit, compliance signoff
Evidence & Triggers (File Paths & Excerpts)
  • 本地凭据 / 浏览器配置: Reads user login cookies/sessions/keychains: Implicit: Playwright MCP operates with a persistent local browser profile, reusing the Reddit login state (browser cookies/session); SETUP.md
  • scripts/: Executes local scripts or commands: The repository contains no scripts (entire repo consists of md/json/png); runtime requires the host to launch the MCP server: npx @playwright/mcp@latest (.mcp/settings.json)
  • scripts/ 或 SKILL.md: Declares dynamic installation of external language package dependencies
  • 网络端点: Declares external network access: https://www.reddit.com/r/{subreddit}/new|rising/ (listing posts)
  • 本地工作目录: File read/write and artifact output: tracking/reddit/YYYY-MM-DD.md (creates daily file and appends: activity table + full comment text + permalink)
Audit Notes: Risk rating justification: This skill reuses the local browser's Reddit login session via Playwright MCP to post publicly in real communities, categorized under 'credential/cookie access + irreversible external side effects'. Outbound targets include reddit.com and arbitrary third-party URLs linked within posts (unpredictable). It also integrates AI detection evasion and lead generation (marketing purposes). It contains no proprietary scripts, network libraries, or hardcoded keys, so it is not escalated due to supply chain or code execution risks. The orange level originates from its operational surface (login state + public posting + anti-detection intent).

5Second-Pass Verification

  • [ok] 仓库零脚本、能力来自 Playwright MCP — git ls-tree -r 全量仅 .claude/skills/reddit-commenter/{SKILL.md,BATCH.md,resources/*.md}、README/SETUP/QUICK_REFERENCE/CONTRIBUTING/CHANGES/LICENSE、.mcp/settings.json、package.json(-lock)、leads/reddit.md、tracking/reddit/template.md、assets/og_image.png、.github 模板;无任何可执行脚本。
  • [ok] MCP server 声明与 SKILL.md 工具名一致 — .mcp/settings.json 注册 playwright/@playwright/mcp@latest;SKILL.md 使用 browser_navigate/browser_snapshot/browser_click/browser_type/browser_wait_for,并显式禁用 browser_take_screenshot,SETUP.md 另确认 'This installs the Playwright MCP server.'。
  • [ok] 每社区每日 3 条 + 5-10 分钟间隔 — SKILL.md Step 1 'Check subreddits under daily limit (3)'、'Check last comment time (minimum 5-10 minute intervals)';BATCH.md 配额公式 24=8×3 与 '[4] ... (wait 5-15 minutes)' 存在(两文件对等待区间的措辞略有差异:5-10 vs 5-15)。
  • [ok] 16 项个性化清单与 8 种句式模板 — personalization_reddit.md 内 '## Personalization Checklist (16 Items)' 表逐项 1-16(含 #14 AI detection prevention、#16 Site verification),'## 8 Style Patterns' 1-8 节均存在;SKILL.md Step 5 要求逐项检查。
  • [ok] 反 AI 检测 / 反重复结构 — 原文 '## Avoid Repetitive Structure (CRITICAL)'、'Repeating this structure makes it look AI-generated'、'## AI-Like Comment Prevention (CRITICAL)' 与长度分布配额均逐字存在。
  • [ok] 『先看帖再写』与『真访问站点』两条真实性约束 — Step 3 全段(含 'Absolutely NO speculative feedback on things you didn't see')与 Cautions 第 6 条一致,无夸大。
  • [ok] 无凭证/密钥硬编码 — 全仓关键词扫描仅 3 处无关命中(MCP token 优化、Login Required、CONTRIBUTING 的 credential 讨论);无 .env、无 API key 常量。
  • [discrepancy] 登录态来源(凭证面)最终定性 — 第一遍曾想写『无凭证读取』,第二遍修正:skill 文件确实不读密钥,但 SETUP.md 要求账号已在本机浏览器登录、BATCH.md 专门处理 'Login session expired',说明运行时依赖浏览器登录态(cookie 级)。故按『凭证据实接触』定档 orange,并在 credential_reads 以『隐式复用浏览器登录态』如实记录,而非直报『无』。

6Verdict & Scenarios

  • High degree of process engineering: 8-step fixed pipeline + batch state machine + quota/interval/error handling tables turn ad-hoc commenting into repeatable, trackable operations.
  • Thorough style replication: 16-item checklist + 8 sentence templates + mandatory length distribution + 'side-by-side review of last 10 comments' self-check form a rare, systematic anti-AI tone design in the open-source community.
  • Clear authenticity boundaries: prohibits keyword-only post assessment, bans fabricating feedback on unvisited sites, and forbids duplicate comments on the same post.
  • Token and context efficiency: minimal instructions for MCP calls, direct URL access, accessibility tree snapshots instead of screenshots, and lazy-loading resource files by step.
  • Clean open-source sanitization: personal profiles, company product files, real activity logs, and personal style guides are removed and replaced with templates, providing a clean reusable skeleton.
  • Best for: Best for: Solo developers or small teams with an established product/topic who want to participate in discussions with a 'low-volume, authentic style per community', turning the routine task of 'picking a few posts daily and replying thoughtfully in one's own voice' into a structured workflow. Also suitable for skill authors researching 'how to encode personal writing style into prompts' as a reference for the 16-item checklist and 8 sentence template design. Users must first replace personalization/subreddits/product files with their own real details according to README/SETUP and run within an isolated browser profile.
    Not for: Not suitable for: High-volume spamming or cross-community mass amplification (BATCH quota is capped at 24/day, and copy-pasting or duplicate post replies are strictly forbidden); cannot be run on behalf of others' accounts without authorization (requires real login sessions, actions are traceable to the account owner); not suitable for teams expecting the skill to manage compliance—it does not track platform policy updates, does not guarantee truthfulness, and is explicitly designed to bypass AI detection; not suitable for engineering environments requiring code-level sandboxing or auditing (no scripts; all actions execute via host and MCP).
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload auto-commenter.tar.gz
    sha256: 31277b2a576dd188…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit e7fdda137e.