コンテンツ制作 · rokpiy/auto-commenter

auto-commenter

Redditコミュニティにおいて、自然で価値のあるコメントを投稿するためのスキル。サブレディットの探索、コメント作成、レビュー、投稿、トラッキングまでの完全なワークフローを含みます。

L5 厳格管理 · 隔離環境と厳格な監査V2 人間監査済認証情報/セッションコマンド実行依存関係インストールネットワーク通信ファイル書き込みDual-pass Audit
Author rokpiyGitHub rokpiy/auto-commenter ↗Stars 585License MIT(仓库根 LICENSE 文件;GitHub API spdx=MIT)Commit e7fdda137e
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

スキル全体で独自コードはゼロ:全機能がPlaywright MCPのブラウザツールとSKILL.mdの手順指示のみで構成されており、リポジトリ唯一の「ランタイム」は.mcp/settings.jsonで宣言されたMCPサーバーです。

.mcp/settings.json
{ "playwright": { "command": "npx", "args": [ "@playwright/mcp@latest" ] } }
動作の仕組み:@playwright/mcpをホストから利用可能なツールサーバーとして登録することで、エージェントはブラウザのナビゲーション/スナップショット/クリック/入力機能を取得します。スキルの本文は単なる呼び出し仕様(browser_navigate / browser_snapshot / browser_click / browser_type / browser_wait_for)です。リポジトリ内に.pyや.jsスクリプトは存在せず、全ファイルがmarkdown/json/png形式です。

メインフローはハードコードされた8段階のステートマシン:当日のtrackingファイル確認 → サブレディット選択 → 新着投稿の閲覧・選定 → 投稿と既存コメントの精読 → コメント作成 → 16項目のパーソナライズレビュー巡回 → 投稿 → リード判定+トラッキング記録。

.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 1〜Step 8)され、Step 7/8でそれぞれleads/reddit.mdおよびtracking/reddit/[date].mdと連携して、監査可能なクローズドループを形成します。

クォータとペースはドキュメントにハードコード:各サブレディットあたり1日3件、同一サブレディット内でのコメント間隔は最低5〜10分、バッチモードの総クォータは24件(8×3)とし、レート制限やログイン失効時の対応手順も規定。

.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には「[4] Move to next subreddit (wait 5-15 minutes)」や、エラー対応表として「Rate limit detected → Wait 30 min then resume」「Login session expired → Stop batch, notify user」が定義されています。これはコードレベルのレートリミッターではなく、「アカウント凍結防止のペース配分」をプロンプトに組み込む典型的な手法です。

「人間らしい文章」はモデルの自由生成に頼らず、16項目のパーソナライズチェックリスト+8パターンの構文テンプレート+文字数分布の強制クォータによって再現。

.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
チェックリストの14番目の項目は「AI detection prevention」であり、回避すべきAI構文パターン(均一な長さ、すべての投稿を質問で終える、ミーム投稿への過度に真面目な技術分析など)をまとめた専用セクションが存在します。投稿前には「直近10件のコメントを並べて確認する」セルフチェックも実施されます。

コンテンツの真実性は2つの厳格な制約で担保:元の投稿を必ず精読すること(キーワードのみでの判断は禁止)、コメントが相手のWebサイトに言及する場合は必ず実際にブラウザでアクセスしてからフィードバックを作成すること。

.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
同ファイルのCautions第6項でも「⚠️ Step 3 Required: NEVER write comment without analyzing post content. Judging only by keywords can cause serious errors」と強調されています。

商業目的の内蔵:Step 7でleads/reddit.mdの「Lead Selection Criteria」に基づき投稿者を高/中/低の関連リードとして判定しリード表に記録。resources/product.mdは製品訴求テンプレート(バリュープロポジション、課題、競合比較、自然な宣伝文言)を提供。

leads/reddit.md
## Lead Selection Criteria ### High Relevance - Directly mentions your product category - Complains about problems your product solves
README自体の位置づけもマーケティング自動化として記載:「A marketing automation framework using Claude Skills and Playwright MCP for authentic community engagement.」および「- **Identifies leads** automatically based on your product fit」。

トークン規律をスキルに明記:MCP呼び出しは最小限の指示のみを渡し、要素のクリックではなくURLで直接ナビゲートし、スクリーンショットは明示的に禁止(スナップショットにはアクセシビリティツリーを使用)。

.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)
関連リソースはステップごとに参照され(「| `resources/personalization_reddit.md` | Step 5 (review) |」、注記:「→ Reference only at relevant Step, don't read in advance」)、すべてのルールをコンテキストに詰め込むのではなくファイル参照で代行しています。

2コア機能

01ブラウザのログインセッションを利用したRedditへのコメント投稿(単一投稿モード:投稿選択 → 精読 → 作成 → レビュー → 投稿 → 記録)
02バッチモード:残存クォータに基づきサブレディット間を跨いで連続実行、進捗報告と終了条件を完備
03文体再現:16項目のチェックリスト+8パターンの構文テンプレート+長さ分布クォータにより、本人が書いたような文章を再現
04AI検出回避:AI構文パターンを明示的にリストアップして禁止(均一な長さ、毎回の質問締め、過度なポジティブ表現、ビジネス専門用語など)
05投稿の性質に応じた返信戦略の分岐(ユーモア投稿には軽めの返信、ヘルプ投稿には解決策、議論投稿には意見表明)によるテンプレート脱却
06Q&A意図分類(経験/手法/意見/トラブルシューティングの要求)およびサイトの実証要件
07重複排除と連続投稿防止:同日中の同一投稿への再コメントを禁止し、当日のtrackingファイルのURLリストで検証
08アクティビティ記録とリード蓄積(tracking/reddit/YYYY-MM-DD.md、leads/reddit.md、コメント全文およびパーマリンクを含む)

3外部依存関係

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

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
隔離環境で実行、都度明示的な認可
管理者向け
厳格な認可、全量監査、コンプライアンス確認
判定根拠(ファイルパスと抜粋)
  • 本地凭据 / 浏览器配置: ユーザーのログインCookie/セッション/キーチェーンの読み取り: 暗黙的:Playwright MCPはローカルの永続化されたブラウザプロファイルで動作し、Redditのログイン状態(ブラウザCookie/セッション)を再利用します(SETUP.md)
  • scripts/: ローカルスクリプトまたはコマンドの実行: リポジトリ自体にスクリプトはありません(全リポジトリがmd/json/png);実行時にホストがMCPサーバーを起動:npx @playwright/mcp@latest(.mcp/settings.json)
  • scripts/ 或 SKILL.md: 外部言語パッケージの依存関係の動的インストールを宣言
  • 网络端点: 外部ネットワークアクセスの宣言: https://www.reddit.com/r/{subreddit}/new|rising/(投稿一覧取得)
  • 本地工作目录: ファイルの読み書きと成果物出力: tracking/reddit/YYYY-MM-DD.md(当日ファイルの作成および追記:活動テーブル+コメント全文+パーマリンク)
監査ノート: リスク区分理由:本スキルはPlaywright MCPを通じてローカルブラウザのRedditログインセッションを再利用し、実際のコミュニティに公開コメントを投稿するため、「認証情報/Cookieの読み取り+不可逆な外部副作用」に該当します。通信先はreddit.comおよび投稿内に含まれる任意のサードパーティリンク(予測不能)です。また、プラットフォームのAI検出回避とリード開拓(マーケティング用途)が組み込まれています。独自スクリプト、通信ライブラリ、ハードコードされた秘密情報は存在しないため、サプライチェーンやコード実行リスクによる引き上げはありません。オレンジレベルの判定は、実際の接触面(ログイン状態の利用+公開投稿+検出回避の意図)に起因します。

5二重目の独立検証

  • [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 以『隐式复用浏览器登录态』如实记录,而非直报『无』。

6結論

  • プロセスの高度なエンジニアリング化:8ステップの固定パイプライン+バッチステートマシン+クォータ/間隔/エラー対応表により、「思いつきのコメント投稿」を再現可能で追跡可能な運用へと変換。
  • 緻密な文体再現設計:16項目のチェックリスト+8パターンの構文テンプレート+強制的な長さ分布配分+投稿前の「直近10件並列確認」セルフチェックという、オープンソース界隈でも珍しい体系的な脱AI構文設計。
  • 真実性の厳格な担保:キーワードのみによる投稿意図の推測禁止、未閲覧のサイトに対するフィードバック捏造の禁止、同一投稿への重複コメント禁止。
  • トークンおよびコンテキストの節約:MCP呼び出し指示の最小化、URL直アクセス、スクリーンショット禁止とアクセシビリティツリーの採用、リソースファイルのステップ別遅延読み込み。
  • クリーンなオープンソース向けマスキング:個人プロフィール、自社製品ファイル、実際の活動ログ、個人文体ファイルはすべて削除されてテンプレートに置き換えられており、再利用可能な骨格を提供。
  • 最適な用途: 適した用途:明確な製品やテーマを持ち、「各コミュニティで少数かつリアルな文体」で議論に参加したい個人開発者や小規模チームが、「毎日数件を選んで自分の口調で丁寧に返信する」反復作業を定型化するのに適しています。また、「個人の文体をいかにプロンプトに落とし込むか」を研究したいスキル開発者が、16項目のチェックリストや8種類の構文テンプレート設計を参照するのにも役立ちます。使用前には、README/SETUPに従ってpersonalization/subreddits/productをご自身の実際の内容に置き換え、分離されたブラウザプロファイル上で実行する必要があります。
    不向きな用途: 適さない用途:大量スパムや広範なコミュニティでの大規模な拡散を目的とするシナリオ(BATCHのクォータ上限は24件/日であり、コピペや同一投稿への重複返信はスキルで明示的に禁止されています);権限のない第三者アカウントの代行運用(実際のログインセッションが必要であり、行動はアカウント所有者に帰属します);プラットフォームの規約遵守をスキル任せにしたいチーム(規約変更の追跡や内容の真実性の保証は行わず、設計上AI検出の回避を目的としているため);コードレベルのサンドボックスや監査を求めるエンジニアリング環境(スクリプトは存在せず、すべての動作はホストと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
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit e7fdda137e.