Communityライティング&編集github.com

Reddit投稿エンジン

サブレディットの文化とルールに従ってReddit投稿を下書きし、必要に応じてComposio経由で直接投稿します。

Reddit投稿エンジン とは?

このスキルは、Reddit投稿を適切なサブレディットの文化に合わせて下書きし、必要に応じてComposio Reddit MCPを通じて直接投稿できるAIエージェント向けツールです。投稿本文に商品リンクを含めず、最初のコメントにのみリンクを配置する90/10ルールを厳守し、スパム判定やBANを回避します。対応プラットフォームはClaude Code(Composio MCP連携)で、Gemini APIを使用して投稿内容を生成します。手順は、サブレディットのルールとトップ投稿の分析、Geminiによる下書き、最初のコメント作成、自己QA、敵対的レビュー、最終確認と投稿までを含み、特にマーケティング用語の排除とコミュニティへの価値提供を重視します。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/reddit-post-engine

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Reddit投稿エンジン は何をしますか?

サブレディットの文化に合ったReddit投稿を下書きします。必要に応じてComposio経由で投稿します。


重要ルール: サブレディットのルールを確認せずに投稿しないでください。本文にプロダクトリンクを含めないでください。リンクは適切な場合のみ最初のコメントに配置します。90/10ルールに従ってください。投稿はプロダクトの言及とは独立して価値を提供する必要があります。

スパム対策ルール: 主に宣伝目的の投稿は削除され、アカウントがBANされる可能性があります。目標はまずコミュニティに貢献することです。プロダクトの言及は最初のコメントにのみ、かつサブレディットが自己宣伝を許可している場合のみ行ってください。


ステップ1: セットアップ確認

echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}"
# Composio Reddit MCPが接続されているか確認
claude mcp list 2>/dev/null | grep -i reddit || echo "Composio Reddit MCP: 未接続"

GEMINI_API_KEYがない場合: 処理を停止し、ユーザーに伝えてください。「GEMINI_API_KEYが必要です。aistudio.google.comから取得し、.envファイルに追加してください。」

Composio Reddit MCPが接続されていない場合: 続行します。スキルは投稿を下書きしますが、投稿ステップはスキップします。ユーザーに伝えてください。「Composio Reddit MCPが接続されていません。手動投稿用に下書きを作成します。直接投稿を有効にするには、README.mdのセットアップ手順を参照してください。」


ステップ2: コンテキスト収集

必要な情報:

  • 対象サブレディット (例: r/devops, r/startups, r/SideProject)
  • 共有内容 (プロジェクト、記事、質問、ディスカッション、ツール)
  • それが何をするのかを一文で説明
  • この特定のサブレディットのコミュニティにとってなぜ関連性があるのか
  • テキスト投稿かリンク投稿か

これらのいずれかが不足している場合、ひとつのメッセージで質問してください:

「Reddit投稿を下書きするために、以下が必要です:

  1. どのサブレディットですか? (例: r/devops, r/startups)
  2. 何を共有しますか? (プロジェクト、記事、ツール、質問)
  3. それは何をしますか? (一文、技術的に)
  4. なぜこのサブレディットが特に関心を持つのですか?」

ステップ3: サブレディットのルールと文化を取得

サブレディットのルールを取得:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/about/rules.json" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
rules = d.get('rules', [])
for r in rules:
    print(f'ルール: {r.get(\"short_name\", \"\")}')
    print(f'詳細: {r.get(\"description\", \"\")[:200]}')
    print()
"

最近のトップ投稿を取得してトーンとスタイルを理解:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/top.json?t=week&limit=10" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
for p in d['data']['children'][:10]:
    pd = p['data']
    print(f'スコア: {pd[\"score\"]} | タイトル: {pd[\"title\"][:100]}')
"

トップ投稿のパターンをメモ:

  • タイトルは質問形式か、それともステートメントか?
  • 技術から始めるか、成果から始めるか?
  • 個人的な視点(「I built...」)か、非個人的な視点(「Tool for...」)か?
  • このサブレディットではどの形式が最もエンゲージメントを得ているか?

サブレディットのサイドバーで投稿ルールを確認:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/about.json" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
data = d.get('data', {})
print('公開説明:', data.get('public_description', '')[:300])
print('購読者数:', data.get('subscribers', 0))
"

サブレディットのタイプを特定:

タイプ例投稿スタイル
技術実践者r/devops, r/sysadmin, r/ExperiencedDevs技術的な詳細、無駄なし、「XをやってYを学んだ」
スタートアップ/ビルダーr/startups, r/SideProject, r/indiehackers個人的なストーリー、指標、学んだ教訓
一般的な技術r/programming, r/technologyニュースアングル、議論のフック、物議を醸す視点
キャリアr/cscareerquestions, r/ITCareerQuestions質問形式、具体的なシナリオ、経験を求める
ニッチなツールr/vim, r/rust, r/golang深い技術的内容、コード例、ベンチマーク

取得したルールとトップ投稿を使用して、どのスタイルが適用されるかを判断してください。


ステップ4: Geminiで投稿を下書き

投稿内容を一時ファイルに書き込み、Geminiを呼び出します:

cat > /tmp/reddit-post-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "あなたは{SUBREDDIT}コミュニティで活動している開発者です。このサブレディットの文化に合ったReddit投稿を書いてください。ルール: (1) プロジェクトや経験に関する投稿の場合は一人称で書いてください。(2) 本文にプロダクトリンクを含めないでください。リンクは最初のコメントのみに入れてください。(3) 投稿は共有するプロダクトとは独立して、コミュニティに真の価値を提供しなければなりません。(4) このサブレディットのトップ投稿のトーンに合わせてください: {SUBREDDIT_TONE_NOTES}。(5) タイトルは最大300文字。(6) テキスト投稿の場合、本文は150〜400語。(7) マーケティング用語は使わない: 'game-changing'、'powerful'、'robust'、'seamless'、'innovative'は禁止。(8) 投稿がユーザーが作成したツールに関するものである場合、'I made...'または'I built...'というオープナーを使用してください。これはRedditで最も効果的です。(9) 出力: 最初の行にタイトル、空行、本文。ラベルやコメントは不要。emダッシュは使用しないでください。"
    }]
  },
  "contents": [{
    "parts": [{
      "text": "POST_DETAILS_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.7,
    "maxOutputTokens": 1024
  }
}
ENDJSON

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/reddit-post-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

POST_DETAILS_HEREを以下の内容に置き換えてください:

  • サブレディット名とタイプ
  • 観察されたトップ投稿のパターン
  • 共有される内容とその関連性
  • 主要な技術的詳細
  • 作成者の正直な動機

ステップ5: 最初のコメントを下書き

ユーザーにプロダクトリンクや追加のコンテキストがある場合、投稿公開直後に投稿する最初のコメントを下書きします。

最初のコメントには2つの目的があります:

  1. リンクを提供する(本文をリンクフリーに保ち、宣伝感を抑える)
  2. 投稿本文では宣伝的に過ぎるコンテキストを追加する

最初のコメントのルール:

  • 自分の投稿への最初の返信として、公開直後に投稿する
  • 100語未満に抑える
  • フォーマット例: 「試してみたい方はこちら: [URL]。投稿で触れた[特定の技術的なこと]についての質問もお気軽にどうぞ。」
  • サブレディットがコメントでの自己宣伝を許可している場合のみ、最初のコメントを含める
  • サブレディットに「自己宣伝禁止」ルールがある場合、リンクは完全に省略する

ステップ6: 自己QA

下書きを提示する前にチェック:

構造:

  • タイトルが300文字を超えていない
  • 投稿本文にリンクがない
  • 投稿が一人称で始まっている(プロジェクト/経験投稿の場合)
  • 少なくとも1つの具体的な技術的詳細または具体的な数値が含まれている
  • 投稿がステップ3で観察されたこのサブレディットのトップ投稿のトーンに合っている
  • ステップ3のサブレディットルールに違反していない

Claudeらしさの検出: 以下の語彙カテゴリをスキャンし、すべてのインスタンスを削除:

カテゴリ削除する語句
埋め草の強調語信じられないほど、絶対に、確かに、間違いなく、本質的に、基本的に、文字通り、特に、かなり、むしろ、本当に、著しく、単純に、真に、最終的に、非常に
AIの逃げ口上注意すべきは、注目に値する、重要なのは、前述のように、私が述べたように
誇大宣伝表現革新的、革命的、パワフル、ロバスト、シームレス、革新的、最高級、最先端、画期的、驚くべき
前置き表現結論として、要約すると、全体的に、まず第一に、最後になりましたが
不要な接続詞さらに、その上、加えて、しかし(文頭)、したがって、ゆえに、それにより
AIの特徴語これにより~が保証される、これにより~が可能になる、これは~を助ける、これにより~が有効になる、詳述する、活用する、活用する、育成する

いずれかが出現した場合: 具体的な名詞、動詞、または数字に置き換えてください。「非常に速い」は「12msで動作する」に。「パワフルなツール」は実際の機能に。

即時削除フレーズチェック: これらのパターンはRedditのスパムフィルターまたはモデレーターによる削除を引き起こします:

  • 広告として読まれる文章(「[製品]を今すぐお試しください」、「今すぐサインアップ」、「無料で始める」)
  • 自分が作成者でないことを示唆するフレーズ(「この素晴らしいツールを見つけました」、「この素晴らしい製品を見つけました」)
  • コミュニティでの存在感を確立していないサブレディットでの「当社のユーザー」、「当社のお客様」などの一人称所有表現
  • 「Xを作りました。これを使って…できます」の直後にリンクが続く構造(宣伝的構造)
  • 修飾なしの最上級(「~する最良の方法」、「~する唯一のツール」)
  • 投稿本文の外部リンク(最初のコメントのみ使用)

即時削除フレーズが出現した場合: 単語を置き換えるだけでなく、文章全体を修正してください。


ステップ7: 敵対的レビュー

最終下書きを提示する前に、3つのペルソナによるレビューを実行します。各ペルソナが投稿を読み、トリガーとなる正確なテキストを引用して、1つの具体的な問題を見つけます。

ペルソナ1: 懐疑的な実践者 この人は何年もr/{SUBREDDIT}に参加しており、投稿に偽装したプロダクトローンチを何百も見てきました。彼らの読み:

  • 明示的に販売していなくても、宣伝的に感じられる文章はあるか?
  • 投稿はコミュニティの問題に対する真の知識を示しているか、それとも単にプロダクトについて語っているだけか?
  • 実践者が白い目で見るような主張はあるか?

彼らがフラグを立てる特定の行とその理由を述べてください。

ペルソナ2: モデレーター この人はステップ3で取得したルールを執行します。彼らの読み:

  • 投稿は技術的にサブレディットのルールに準拠しているか?
  • 自己宣伝とコミュニティ貢献の比率は許容範囲か?
  • 彼らは以前にまったく同じ投稿構造が削除されるのを見たことがあるか?

違反のリスクがある特定のルールを1つ述べるか、問題がないことを確認してください。

ペルソナ3: ターゲット読者 これはサブレディットの人口統計に合致する非ビルダーのコミュニティメンバーです。彼らの読み:

  • たとえプロダクトを決して使わなくても、この投稿をupvoteするか?
  • 最初のコメントのリンクをスキップしても、応用できる学びがあるか?
  • 最初の文章で彼らが読み続けたくなるか?

彼らが読み止める1つの点を述べるか、投稿が彼らの注意を引き続けることを確認してください。

3つのペルソナすべてが報告した後: 修正を適用してください。どのペルソナも問題を見つけなかった場合、「敵対的レビュー: 問題なし」と述べてください。


ステップ8: Composio経由で投稿(オプション)

Composio Reddit MCPが接続されていて、ユーザーが投稿を確認した場合:

reddit-composio MCPツール REDDIT_CREATE_REDDIT_POST を以下のパラメータで使用:
- subreddit: {r/ なしのSUBREDDIT}
- title: {TITLE}
- kind: "self"
- text: {BODY}

投稿前にユーザーに確認: 「r/{SUBREDDIT}に投稿する準備ができました。投稿タイトル: '{TITLE}'。実行してもよろしいですか?」

明示的な確認後にのみ続行してください。

投稿後:

  1. レスポンスから投稿URLをメモ
  2. 最初のコメントが下書きされていた場合、返された投稿IDを使用して同じMCPで即座に投稿

投稿が失敗した場合(403、429、その他のエラー): 手動投稿用に下書きを提示してください。ユーザーに伝えてください:「直接投稿に失敗しました([エラーコード])。以下が手動投稿用の下書きです。reddit.com/r/{SUBREDDIT}/submitでタイトルと本文をコピーペーストしてください。」


ステップ9: 出力を提示

## Reddit投稿: r/{SUBREDDIT}

### タイトル
{title}

### 本文
{body}

### 最初のコメント(投稿直後に投稿)
{first comment, 該当する場合}

---

### 投稿ノート
- 投稿タイプ: {self/link}
- 最適な投稿時間: {このサブレディットのピーク時間: ほとんどの技術サブレディットでは米国時間の平日午前}
- 投稿後: 最初の1時間ですべてのコメントに返信: 初期のエンゲージメントはアルゴリズムに品質を示すシグナル
- Karmaに関する注意: {アカウントが新しい場合、一部のサブレディットでは投稿に最低限のkarmaが必要なことに注意}

投稿がすでにComposio経由で送信された場合、出力ブロックを以下に置き換えてください:

投稿送信済み: {reddit_post_url}

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

関連スキル