結論
最初にやること:OSのターミナルでclaude -p "SNS投稿キューを処理するNode.jsツールを作成し、を実行します。
Claude Codeは投稿サービスそのものではなく、公式APIを呼ぶスクリプト、承認待ちキュー、定期実行設定を設計・生成するエージェントとして使います。
2026年のX APIは従量課金で、書き込みにも料金とレート制限があるため、複数SNSへ無制限投稿する設計は避けます。
最初にdry-run専用の投稿アダプターを作り、本文、文字数、リンク、予約時刻をJSONへ出力させる構成が安全です。
実行場所:OSのターミナルで実行します。
# ターミナルで実行:非対話モードで単発処理を実行
claude -p "SNS投稿キューを処理するNode.jsツールを作成し、
# Claude Codeの対話画面へ入力:作業条件または依頼内容を指定
最初はAPI送信せずdry-run結果だけをJSONで保存して" --allowedTools "Read,Edit,Bash" --max-turns 6 --max-budget-usd 1.00
具体的な手順
X、Bluesky、Mastodonなどは認証方式と投稿上限が異なるため、共通インターフェースと個別アダプターを分けます。
- 対象SNSごとに公式APIと自動化ポリシーを確認
- 投稿本文を
queue/posts.jsonで一元管理 - 認証情報はOS環境変数またはCIのSecretへ保存
- dry-runで文字数・URL・重複を検証
- 人間の承認後だけ投稿処理を実行
記述先:指定された設定ファイルへ保存します。
# 投稿データ例
{
"platform": "x",
"text": "新機能を公開しました",
"scheduledAt": "2026-08-06T09:00:00+09:00",
"approved": false,
"dryRun": true
}
実践プロンプト
実運用では対象、制約、完了条件、検証方法を一つの指示にまとめ、結果を機械的に確認できる形へします。
入力場所:Claude Codeの対話画面へ貼り付けます。
TypeScriptでSNS投稿キュー処理を実装してください。
approvedがfalseなら外部APIを絶対に呼ばず、検証結果だけをout/preview.jsonへ保存してください。
同一本文の二重投稿、文字数超過、禁止URL、過去時刻を検出し、終了コードを分けてください。
APIクライアントはSNSごとに分離し、単体テストも追加してください。
注意点
APIキーをプロンプト、CLAUDE.md、リポジトリへ書くと漏洩するため、値ではなく環境変数名だけを共有してください。
自動返信、DM、連続投稿、複数アカウントへの同文投稿は各サービスのスパム規則に抵触し得るため、利用者の同意と停止手段を実装してください。
ブラウザ操作で投稿画面を自動化できる場合でも、CAPTCHA回避や規約外の大量操作を行わず、公開直前に人間が内容を確認してください。