1仕組みと動作原理
スキル全体で独自コードはゼロ:全機能がPlaywright MCPのブラウザツールとSKILL.mdの手順指示のみで構成されており、リポジトリ唯一の「ランタイム」は.mcp/settings.jsonで宣言されたMCPサーバーです。
{ "playwright": { "command": "npx", "args": [ "@playwright/mcp@latest" ] } }
メインフローはハードコードされた8段階のステートマシン:当日のtrackingファイル確認 → サブレディット選択 → 新着投稿の閲覧・選定 → 投稿と既存コメントの精読 → コメント作成 → 16項目のパーソナライズレビュー巡回 → 投稿 → リード判定+トラッキング記録。
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
クォータとペースはドキュメントにハードコード:各サブレディットあたり1日3件、同一サブレディット内でのコメント間隔は最低5〜10分、バッチモードの総クォータは24件(8×3)とし、レート制限やログイン失効時の対応手順も規定。
- Total 24 (8 subreddits × 3) - Subtract today's written comments - Remaining quota = 24 - Today's written comments
「人間らしい文章」はモデルの自由生成に頼らず、16項目のパーソナライズチェックリスト+8パターンの構文テンプレート+文字数分布の強制クォータによって再現。
### 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
コンテンツの真実性は2つの厳格な制約で担保:元の投稿を必ず精読すること(キーワードのみでの判断は禁止)、コメントが相手のWebサイトに言及する場合は必ず実際にブラウザでアクセスしてからフィードバックを作成すること。
• 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
商業目的の内蔵:Step 7でleads/reddit.mdの「Lead Selection Criteria」に基づき投稿者を高/中/低の関連リードとして判定しリード表に記録。resources/product.mdは製品訴求テンプレート(バリュープロポジション、課題、競合比較、自然な宣伝文言)を提供。
## Lead Selection Criteria ### High Relevance - Directly mentions your product category - Complains about problems your product solves
トークン規律をスキルに明記:MCP呼び出しは最小限の指示のみを渡し、要素のクリックではなくURLで直接ナビゲートし、スクリーンショットは明示的に禁止(スナップショットにはアクセシビリティツリーを使用)。
**⚠️ 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)
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| package | @playwright/mcp |
| network | Reddit(列帖与导航) |
| network | Reddit(rising 列表) |
| network | 帖子内 OP 提供的外部站点(被要求真访问以给出实证反馈) |
| package | claude(npm,^0.1.1) |
4推奨統制措置と判定根拠
- 本地凭据 / 浏览器配置: ユーザーのログイン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(当日ファイルの作成および追記:活動テーブル+コメント全文+パーマリンク)
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結論
31277b2a576dd188…