Xでバズってるテーマからnoteを自動投稿②
note自動投稿システム(Claude Code AIチーム)テンプレート
Claude Code 上で4つのサブエージェントが連携し、「Xのバズ × Brain/ココナラの売れ筋切り口」を掛け算して
note記事のリサーチ→執筆→画像生成→公開までを自動化するシステムの 汎用テンプレート です。
このテンプレートには発信者固有の値・秘匿情報は含まれていません。
profile/ 配下の設定とAPIキーを自分用に記入すれば、誰でも自分の環境で note 自動化を動かせます。
元ネタ: myuuu-io/youtube No.001_claude-code-ai-team
---
クイックスタート(3ステップ)
# 1. APIキーを記入
cp .env.example .env
# .env を開いて各キーに実値を記入(下の「APIキー」表を参照)
# 2. 自分のプロフィールを書く
# profile/ 配下の各ファイルのプレースホルダ <...> を自分用に書き換える
# 3. テーマを書く
# themes.md の「## 未投稿」に - [ ] テーマ名 を書く
そのあと Claude Code で次のように指示すれば1記事が通ります:
orchestrator を実行して、themes.md の先頭テーマで note記事を1本作って公開して
---
構成
note-auto-template/
├── .claude/
│ ├── agents/ # 5つのサブエージェント定義(ロジック。編集不要)
│ │ ├── orchestrator.md # 司令塔(themes.mdから1テーマ選び4体を順次起動)
│ │ ├── buzz-watcher.md # Xバズ監視
│ │ ├── market-researcher.md # Brain/ココナラ市場調査
│ │ ├── content-writer.md # 記事+画像生成
│ │ └── note-publisher.md # note入稿(Chrome DevTools MCP)
│ ├── skills/ # 5つのスキル(具体手順書。編集不要)
│ ├── load-env.sh # .env 安全ローダー
│ └── meta/ tests/ # スキル作成メタ・疎通テスト
├── profile/ # ★あなたが記入する設定(役割ごとに分割)
│ ├── persona.md # 書き手の人格・文体
│ ├── brand.md # ターゲット読者・ジャンル・トーン・SEO
│ ├── title-guide.md # タイトル命名ルール
│ ├── article-template.md # 記事構成パターン集
│ ├── image-style.md # アイキャッチ画像のスタイル
│ └── publish.md # note公開設定(有料/無料・タグ等)
├── .mcp.json # chrome-devtools MCP の接続設定
├── .env.example # 環境変数テンプレート(→ .env にコピーして記入)
├── .gitignore # .env と生成物を除外
├── themes.md # 投稿テーマのキュー(起点)★あなたが記入
└── data/ # 実行ごとの成果物(data/YYYY-MM-DD/...・自動生成)
---
profile/ の各ファイル
profile/ があなた専用の設定です。エージェント・スキルのロジック(.claude/)は触らず、ここだけ書き換えます。
| ファイル | 何を書くか | 使うエージェント/スキル |
|---|---|---|
profile/persona.md | 一人称・語り口・立場・禁止表現 | content-writer / article-writing |
profile/brand.md | 想定読者・ジャンル・トーン・SEOキーワード | content-writer / article-writing |
profile/title-guide.md | タイトルの型・禁止事項 | content-writer / article-writing |
profile/article-template.md | 記事の構成パターン | content-writer / article-writing |
profile/image-style.md | 画風・配色・サイズ・テキスト | content-writer / image-generation |
profile/publish.md | 有料/無料・ハッシュタグ・スキ誘導 | note-publisher / note-publishing |
各ファイル内の <...> プレースホルダを自分の内容に置き換えてください。
---
処理フロー
orchestrator(themes.md から未投稿テーマを1つ選択)
↓
buzz-watcher ──────→ data/{日付}/buzz/themes.json
↓
market-researcher ─→ data/{日付}/market/angles.json
↓
content-writer ────→ data/{日付}/drafts/article.md + images/thumbnail.png
↓
note-publisher ────→ note公開URL(+ Discord通知)
---
セットアップ手順
1. APIキーを用意する(5系統)
| 用途 | サービス | 環境変数 | 取得先 | 料金 |
|---|---|---|---|---|
| Xバズ調査 | socialdata.tools | SOCIALDATA_API_KEY | https://socialdata.tools/ | 従量(~$0.0002/tweet) |
| 市場調査(URL発見) | Brave Search | BRAVE_SEARCH_API_KEY | https://brave.com/search/api/ | 無料枠あり |
| 市場調査(全文取得) | Jina Reader | JINA_API_KEY | https://jina.ai/reader/ | 無料枠あり |
| 画像生成 | OpenAI GPT Image 2 | OPENAI_API_KEY | https://platform.openai.com/api-keys | 従量(~$0.01-0.03/枚) |
| note入稿 | note.com | NOTE_EMAIL / NOTE_PASSWORD | 既存アカウント | 無料 |
| 完了通知(任意) | Discord | DISCORD_WEBHOOK_URL | Discordサーバー設定 | 無料 |
月額目安: Claude Code Max $200 + 各API $30-80 = 約 $230-280/月(毎日2本想定)。
手動で1記事通すだけなら数百円程度で試せる。
2. .env を作る
cp .env.example .env
# .env を開いて各キーに実値を記入
3. profile/ を自分用に書く
profile/ の6ファイルを開き、<...> のプレースホルダを自分の発信スタイルに置き換える。
最初は persona.md・brand.md・image-style.md の3つだけ埋めれば動き始める。
4. Chrome DevTools MCP を有効化する
.mcp.json に設定済み。Claude Code を再起動するとMCPサーバーが読み込まれる。
初回は npx chrome-devtools-mcp が自動でダウンロードされる(Node.js必須)。
- 重要: note入稿はログイン済みのChromeプロファイルを使うのが最も安定する。
事前に普段のChromeで note.com にログインしておくこと(2要素認証もそこで済ませる)。
5. themes.md にテーマを書く
themes.md の「## 未投稿」配下に - [ ] テーマ名 形式で書く。
6. 手動で1記事を通す(動作確認)
Claude Code で次のように指示する:
orchestrator を実行して、themes.md の先頭テーマで note記事を1本作って公開して
初回は段階的に確認するのがおすすめ:
1. まず buzz-watcher だけ動かして data/{日付}/buzz/themes.json が出るか確認
2. 次に market-researcher → angles.json
3. content-writer → article.md と thumbnail.png(Readで目視確認)
4. 最後に note-publisher(最初は「下書き保存まで」で止めると安全。profile/publish.md で指定可)
---
動作に必要なローカル環境
- macOS(検証環境)
- Claude Code(Max プラン推奨)
- Google Chrome(note.com ログイン済み推奨)
- Node.js(chrome-devtools-mcp 用)
- CLI:
curljqbase64(標準で入っている)
---
自動運転(後日・任意)
手動で1記事が安定して通るようになったら、定期実行を組む:
- macOS
launchd(plist)で12時間ごと(朝9時/夜21時)に orchestrator 起動 - Discord Webhook(
DISCORD_WEBHOOK_URL)で完了/失敗通知 - ※ plist と通知スクリプトは未同梱。動作確認後に追加する。
---
共有・配布について
- このテンプレートには 実APIキー・noteパスワード・特定発信者の文体やテーマ・公開済み記事は含まれていません。
.env(実値)とdata/20*/(生成物)は.gitignoreで除外済み。profile/は雛形なので共有してOK。自分が記入した個人情報を公開リポジトリに含めたくない場合は、
.gitignore の profile/ 行のコメントを外す。
---
注意・既知の制約
- noteにはAPIがない → ブラウザ自動化(Chrome DevTools MCP)で入稿する。
Playwrightは2FA/bot検知で失敗するため不採用(元システムの検証結果)。
- noteエディタ(Tiptap/ProseMirror)固有の躓きは
.claude/skills/note-publishing/references/editor-guide.md に検証済みノウハウあり。
- themes.md にないテーマで勝手に記事を書かない(orchestratorのハードルール)。
- 1回の実行で公開するのは最大1記事。
- 各APIの利用規約・各プラットフォーム(X/note/Brain/ココナラ)の規約を必ず確認すること。