SNS自動投稿システム - 残作業 & 引き継ぎ資料

プロジェクト: C:\Users\kawag\work\sns-auto-poster\ | 作成日: 2026-03-11

1. 進捗概要

2. 残作業(あなたがやること)

1 Buffer アクセストークン取得 10分
  1. https://buffer.com/developers/apps を開く
  2. Create an App」をクリック
  3. 入力項目:
    項目入力値
    Application NameSNS Auto Poster(任意)
    Description自動投稿用(任意)
    Website URLhttps://example.com
    Callback URLhttps://example.com/callback
  4. 「Create Application」→ 表示される Access Token をコピー
トークンは秘密情報です。 Gitにコミットしない、他人に見せない。
2 .env ファイルを設定 3分
  1. .env.example.env にコピー(初回セットアップ未実施の場合)
    cd C:\Users\kawag\work\sns-auto-poster
    copy .env.example .env
  2. .env をエディタで開いてトークンを設定:
    # 必須
    BUFFER_ACCESS_TOKEN=ここにStep1のトークンを貼り付け
    
    # 任意(AI生成機能を使う場合)
    OPENAI_API_KEY=sk-xxxxxxx
3 プロフィールID取得 2分

BufferにX / Instagramが接続済みの状態で:

cd C:\Users\kawag\work\sns-auto-poster
py -m src.main

メニューで 「7」(プロフィールID取得)を選択。

表示されたIDを .env に追記:

BUFFER_PROFILE_ID_X=xxxxxxxxxxxxxxxx
BUFFER_PROFILE_ID_INSTAGRAM=yyyyyyyyyyyyyyyy
BufferにSNSが未接続の場合:
先に buffer.com → Channels → Connect a Channel で X / Instagram を接続してください。
Instagram はビジネスアカウント + Facebook Page 連携が必要です。
4 テスト投稿 3分
cd C:\Users\kawag\work\sns-auto-poster
py -m src.main

メニュー「1」(手動投稿)で短いテスト文を投稿。X / Instagram で表示を確認。

テスト投稿は実際にSNSに公開されます。テスト用テキストは「テスト投稿です。後で削除します」等にしてください。
5 RSSフィード登録(任意) 2分

data/feeds.json を編集:

[
  {
    "url": "https://あなたのブログ.com/feed",
    "genre": "business"
  }
]
6 タスクスケジューラ設定(任意・自動投稿したい場合) 5分
  1. Windows + Rtaskschd.msc → Enter
  2. 右側「タスクの作成」をクリック
  3. 全般タブ:名前 SNS自動投稿
  4. トリガータブ:「新規」→ 毎日 / 開始時刻を設定(例: 08:00)
  5. 操作タブ:「新規」→
    項目
    プログラムC:\Users\kawag\work\sns-auto-poster\scripts\2_投稿する.bat
    開始(オプション)C:\Users\kawag\work\sns-auto-poster
  6. OKで保存
自動実行時はメニュー選択が必要なため、完全自動化するには別途スクリプトが必要です。
Claude Codeに「AI生成で毎朝自動投稿するバッチを作って」と依頼してください。

3. ファイル構成と役割

C:\Users\kawag\work\sns-auto-poster\

├── .env.example     設定テンプレート(これを .env にコピー)
├── .env            実設定ファイル(★要作成)
├── requirements.txt    依存ライブラリ一覧(インストール済み)

├── config/
│   ├── settings.py      .env読込み・Settings dataclass
│   └── templates.py     ジャンル別配色・投稿テンプレート・NOTE用テンプレート

├── src/
│   ├── main.py          エントリーポイント(対話式メニュー)
│   ├── content/
│   │   ├── __init__.py    PostContent dataclass定義
│   │   ├── manual.py      手動入力 / JSON読込み
│   │   ├── rss.py         RSSフィード取得・変換
│   │   ├── ai_generate.py OpenAI GPT-4o-mini で投稿文生成
│   │   └── summarize.py   URL記事スクレイピング→AI要約
│   ├── image/
│   │   └── generator.py   Pillow画像生成(X用1200x630 / IG用1080x1080)
│   ├── posting/
│   │   └── buffer_client.py   Buffer REST API通信
│   ├── note/
│   │   └── markdown_draft.py   NOTE用Markdown下書き生成
│   └── utils/
│      └── text.py       X文字数カウント・切り詰め

├── data/
│   ├── feeds.json      RSSフィードURL一覧(★要編集)
│   ├── posts/          投稿ログ(自動保存)
│   ├── drafts/         NOTE下書きMarkdown(自動保存)
│   └── images/         生成画像(自動保存)

└── scripts/
  ├── 0_はじめにお読みください.html   セットアップガイド
  ├── 1_初期セットアップ.bat        依存インストール(実行済み)
  ├── 2_投稿する.bat               メニュー起動
  └── 3_NOTE下書き作成.bat          NOTE下書き専用

4. CLIコマンドリファレンス

起動方法

cd C:\Users\kawag\work\sns-auto-poster
py -m src.main

メニュー一覧

番号機能必要な設定説明
1手動投稿Buffer トークンタイトル・本文を入力して即時投稿
2RSS投稿Buffer トークン + feeds.json登録フィードの記事を選んで投稿
3AI生成投稿Buffer + OpenAI キーテーマを入力→AI が投稿文を自動生成
4記事要約投稿Buffer + OpenAI キーURL→記事抽出→AI要約→投稿
5NOTE下書きなし(or OpenAI)Markdownを data/drafts/ に保存
6アカウント確認Buffer トークン接続済みSNS一覧を表示
7プロフィールID取得Buffer トークン.env に設定するIDを表示

投稿フロー

コンテンツ作成後、プレビューが表示され以下を選択:

番号動作
1X + Instagram に投稿する
2X + Instagram に投稿 + NOTE下書きも作成
3NOTE下書きだけ作成(SNS投稿しない)
0キャンセル

5. 使用API・外部サービス

サービス用途認証料金
Buffer REST API
api.bufferapp.com/1/
SNS投稿・プロフィール取得 Access Token
(.env に設定)
Free: 3ch x 10件
Essentials: $5/ch
OpenAI API
GPT-4o-mini
AI投稿生成・記事要約 API Key
(.env に設定、任意)
月$0.01〜$0.05
(使わなければ0円)

Buffer API エンドポイント(使用中)

エンドポイントメソッド用途
/profiles.jsonGET接続済みプロフィール一覧
/updates/create.jsonPOST投稿作成(now=true で即時公開)

6. 配布物一覧(他者向け)

成果物場所 / URL対象
提案書(回答フォーム付き) buffer-sns-proposal.pages.dev 意思決定者
セットアップガイド sns-auto-poster-guide.pages.dev 実作業者(非エンジニア)
ZIP一式 C:\Users\kawag\work\sns-auto-poster.zip 実作業者
メール送信済み kawaguchi.ns.reha049@gmail.com ガイドURL + ZIP添付

7. 既知の制限・今後の改善候補

現時点の制限

項目状況対応方法
スケジュール投稿 未実装(即時投稿のみ) Free プラン制約。Essentials なら scheduled_at パラメータ追加で対応可
完全自動化 メニュー操作が必要 引数指定の非対話モード追加で対応可
py -m src.main --auto --source ai --theme "テーマ"
Instagram 画像必須 テキストのみ投稿不可 画像自動生成で対応済み。ただしFB連携が必要
Buffer API 疎通 未テスト(トークン未取得のため) Step 4 のテスト投稿で確認
テストコード 未作成 Claude Code で /tdd 実行で追加可能

今後の改善候補

8. 次回セッション再開時のコマンド

Claude Code で以下を伝えれば続きから作業できます:

# トークン取得後の設定
「sns-auto-poster の .env に Buffer トークンを設定して、テスト投稿したい」

# 完全自動化
「sns-auto-poster を毎朝8時に AI 生成で自動投稿するバッチを作って」

# テスト追加
「sns-auto-poster にテストコードを追加して」

# 機能追加
「sns-auto-poster に投稿スケジュール機能を追加して」