reddit-automation について
Composio の Reddit ツールキットと Rube MCP を介して、Reddit の検索、投稿、コメント、閲覧を自動化するスキルです。エージェント向けに接続設定と一般的な操作手順を示し、コンテンツの編集や削除も扱います。
主な機能
- 01複数 subreddit の投稿検索
- 02投稿の作成と管理
- 03コメントの閲覧と管理
- 04subreddit コンテンツの閲覧
活用シーン
- 01話題や期間を指定した投稿検索
- 02テキストまたはリンクの投稿
- 03コメントへの返信や編集
- 04subreddit の人気投稿の確認
MCP 対応
Rube MCP を介して Composio の Reddit ツールキットを利用します。実行には Reddit の接続が必要で、ワークフローの前に最新のツールスキーマを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill reddit-automationインストール後、Claude Code で/reddit-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Reddit の自動化
Rube MCP を通じて、Composio の Reddit ツールキットを使用した Reddit 操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/reddit
前提条件
- Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS を利用可能)
RUBE_MANAGE_CONNECTIONSでツールキットredditを指定して、Reddit に接続済みである必要があります- 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP を入手する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
redditを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Reddit OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. Reddit を検索する
使用する状況:ユーザーが複数のサブレディットから投稿を検索したい場合
ツールの呼び出し順序:
REDDIT_SEARCH_ACROSS_SUBREDDITS- クエリに一致する投稿を検索します[必須]
主なパラメーター:
query:検索語句subreddit:検索対象を特定のサブレディットに限定します(任意)sort:結果を 'relevance'、'hot'、'top'、'new'、'comments' で並べ替えますtime_filter:期間('hour'、'day'、'week'、'month'、'year'、'all')limit:返す結果の件数
注意点:
- インデックス作成の遅延により、ごく最近の投稿が検索結果に含まれないことがあります
time_filterパラメーターは一部の並べ替えオプションでのみ機能します- 結果はページ分割されます。続きのページを取得するには after/before トークンを使用してください
- アカウント設定によっては、NSFW コンテンツがフィルタリングされることがあります
2. 投稿を作成する
使用する状況:ユーザーがサブレディットに新しい投稿を送信したい場合
ツールの呼び出し順序:
REDDIT_LIST_SUBREDDIT_POST_FLAIRS- 利用可能な投稿フレアを取得します[任意]REDDIT_CREATE_REDDIT_POST- 投稿を送信します[必須]
主なパラメーター:
subreddit:投稿先のサブレディット名('r/' 接頭辞なし)title:投稿タイトルtext:投稿本文(テキスト投稿の場合)url:リンク URL(リンク投稿の場合)flair_id:サブレディットのフレア一覧にあるフレア ID
注意点:
- フレアが必須のサブレディットもあります。最初に LIST_SUBREDDIT_POST_FLAIRS を使用してください
- サブレディットごとに投稿ルールは大きく異なり、カルマやアカウント作成期間による制限が適用されることがあります
- テキストと URL は相互に排他的です。投稿はテキストかリンクのどちらかです
- レート制限が適用されるため、短時間に連続して投稿を作成しないでください
- サブレディット名に 'r/' 接頭辞を含めないでください
3. コメントを管理する
使用する状況:ユーザーが投稿にコメントしたり、既存のコメントを管理したりしたい場合
ツールの呼び出し順序:
REDDIT_RETRIEVE_POST_COMMENTS- 投稿のコメントを取得します[任意]REDDIT_POST_REDDIT_COMMENT- 投稿にコメントを追加するか、コメントに返信します[必須]REDDIT_EDIT_REDDIT_COMMENT_OR_POST- 既存のコメントを編集します[任意]REDDIT_DELETE_REDDIT_COMMENT- コメントを削除します[任意]
主なパラメーター:
post_id:投稿 ID(コメントの取得または投稿へのコメント用)parent_id:親要素の完全名(例:投稿の場合は 't3_abc123'、コメントの場合は 't1_xyz789')body:コメント本文thing_id:編集または削除する項目の完全名
注意点:
- Reddit では「fullname」形式を使用します。コメントには 't1_'、投稿には 't3_' の接頭辞が付きます
- 編集するとコメント本文全体が置き換わります。必要な内容をすべて含めてください
- 削除されたコメントは '[deleted]' と表示されますが、ツリー構造は残ります
- サブレディットによっては、コメントの深さに制限が適用されることがあります
4. サブレディットのコンテンツを閲覧する
使用する場面:サブレディットの人気投稿やトレンドのコンテンツを閲覧したい場合
ツールの手順:
REDDIT_GET_R_TOP- サブレディットの人気投稿を取得します[必須]REDDIT_GET- サブレディットのエンドポイントから投稿を取得します[代替]REDDIT_RETRIEVE_REDDIT_POST- 特定の投稿の詳細をすべて取得します[任意]
主なパラメーター:
subreddit:サブレディット名time_filter:人気投稿の期間('hour'、'day'、'week'、'month'、'year'、'all')limit:取得する投稿数post_id:詳細を取得する特定の投稿 ID
注意点:
time_filter='all'の人気投稿では、全期間の人気コンテンツが返されます- 投稿の詳細には本文が含まれますが、コメントの取得には別の呼び出しが必要です
- サブレディットのルールに基づいて、一部の投稿が削除または非表示になっている場合があります
- アカウントレベルでフィルタリングしない限り、NSFW 投稿も含まれます
5. 投稿を管理する
使用する場面:自分の投稿を編集または削除したい場合
ツールの手順:
REDDIT_EDIT_REDDIT_COMMENT_OR_POST- 投稿のテキストを編集します[任意]REDDIT_DELETE_REDDIT_POST- 投稿を削除します[任意]REDDIT_GET_USER_FLAIR- サブレディット内のユーザーのフレアを取得します[任意]
主なパラメーター:
thing_id:投稿の完全名(例:'t3_abc123')body:新しいテキスト(編集する場合)subreddit:サブレディット名(フレアの場合)
注意点:
- 本文を編集できるのはテキスト投稿のみです。リンク投稿は変更できません
- 投稿後にタイトルを編集することはできません
- 削除は取り消せません。削除された投稿は '[deleted]' と表示されます
- ユーザーフレアはサブレディットごとに設定され、制限されている場合があります
よくあるパターン
Reddit の完全名形式
接頭辞:
t1_ = Comment (e.g., 't1_abc123')
t2_ = Account (e.g., 't2_xyz789')
t3_ = Post/Link (e.g., 't3_def456')
t4_ = Message
t5_ = Subreddit
使用方法:
1. Retrieve a post to get its fullname (t3_XXXXX)
2. Use fullname as parent_id when commenting
3. Use fullname as thing_id when editing/deleting
ページネーション
- Reddit は 'after' と 'before' のトークンを使ったカーソルベースのページネーションを使用します
- 1 ページあたりの項目数を
limitで設定します(最大 100) - レスポンスに
afterトークンがあるか確認します - 次のページを取得するには、後続のリクエストに
afterの値を渡します
フレアの解決
1. Call REDDIT_LIST_SUBREDDIT_POST_FLAIRS with subreddit name
2. Find matching flair by text or category
3. Extract flair_id
4. Include flair_id when creating the post
既知の注意点
レート制限:
- Reddit はアカウントおよび OAuth アプリごとにレート制限を適用します
- 新しいアカウントでは、投稿は約 10 分に 1 件までに制限されます
- コメントにも同様の制限がありますが、投稿より緩やかです
- 429 エラーが発生した場合は、指数バックオフを適用します
コンテンツのルール:
- 各サブレディットには独自の投稿ルールと要件があります
- 制限付きまたは非公開のサブレディットもあります
- カルマ要件により、特定のサブレディットへの投稿が制限される場合があります
- 特定のパターンに一致する投稿は、自動モデレーターのルールによって削除される場合があります
ID の形式:
parent_idとthing_idには、必ず接頭辞を含む完全名形式を使用します- 接頭辞のない ID を使用すると、「Invalid ID」エラーが発生します
- 検索結果の投稿 ID には、't3_' 接頭辞の追加が必要な場合があります
テキストの書式設定:
- Reddit では投稿とコメントの書式設定に Markdown を使用します
- コードブロック、表、見出しに対応しています
- リンクには
[text](url)形式を使用します - ユーザーには
u/username、サブレディットにはr/subredditでメンションします
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| Reddit を検索 | REDDIT_SEARCH_ACROSS_SUBREDDITS | query, subreddit, sort, time_filter |
| 投稿を作成 | REDDIT_CREATE_REDDIT_POST | subreddit, title, text/url |
| 投稿のコメントを取得 | REDDIT_RETRIEVE_POST_COMMENTS | post_id |
| コメントを追加 | REDDIT_POST_REDDIT_COMMENT | parent_id, body |
| コメント/投稿を編集 | REDDIT_EDIT_REDDIT_COMMENT_OR_POST | thing_id, body |
| コメントを削除 | REDDIT_DELETE_REDDIT_COMMENT | thing_id |
| 投稿を削除 | REDDIT_DELETE_REDDIT_POST | thing_id |
| 人気投稿を取得 | REDDIT_GET_R_TOP | subreddit, time_filter, limit |
| サブレディットを閲覧 | REDDIT_GET | subreddit |
| 投稿の詳細を取得 | REDDIT_RETRIEVE_REDDIT_POST | post_id |
| 特定のコメントを取得 | REDDIT_RETRIEVE_SPECIFIC_COMMENT | comment_id |
| 投稿フレアの一覧を取得 | REDDIT_LIST_SUBREDDIT_POST_FLAIRS | subreddit |
| ユーザーフレアを取得 | REDDIT_GET_USER_FLAIR | subreddit |
Composio 提供