SESSION HANDOFF DOCUMENT
CRITICAL: 次のセッションは必ずこのファイルを読んでから作業を開始すること
最終更新: 2026-03-24
前回セッション(2026-03-23〜24)の作業まとめ
完了したこと
1. X自動投稿の重複投稿バグ修正(GitHub Actions v1)
- 原因1: 複数のcronが並行実行 →
concurrency: group: x-auto-postで解決 - 原因2: git push失敗時に posted_ids.json が未コミット → 次回 checkout 時に古い状態 → 同じ投稿が再実行
- 対処:
concurrency: cancel-in-progress: false追加(直列実行を保証)- checkout 後に
git pull --rebase追加 - push 前にも
git pull --rebase追加(競合防止) - cronを10個→6個に削減(JST 7/12/16/19/21/22時)
- 失敗時にGitHub Issue自動作成(
issues: write権限追加) dequeue_post.pyにリトライロジック追加(3回・指数バックオフ)wait_on_rate_limit=True追加
2. GAS自動投稿システム構築(v2.0)
移行理由: GitHub Actionsのcron遅延・git push失敗問題を構造的に解消
| ファイル | 内容 |
|---|---|
skills/gas-x-post/Code.gs |
GASスクリプト(X・Threads両対応) |
skills/gas-x-post/SETUP.md |
セットアップ手順書 |
スプレッドシート(本番): https://docs.google.com/spreadsheets/d/1rqYg72zy-hwkZk8IxfrYos4PAaL41LG9AVqOZeXCa94/
セットアップ完了状況:
- [x] Code.gs を新スプレッドシートのGASに貼り付け済み
- [x] スクリプトプロパティにAPIキー設定済み(X4つ + Threads1つ)
- [x] setupSpreadsheet 実行済み(5件のデータ投入完了)
- [x] dryRun で動作確認済み
- [x] setupTrigger 実行済み(30分ごとのトリガー登録完了)
3. Klavis MCP 導入方針決定
- 目的: ClaudeがGoogleスプレッドシートに直接書き込めるようにする(手動GAS実行を不要化)
- 選択: Klavis MCP(Google Sheets対応のホスト型MCPサーバー)
- 料金: 無料プラン(Hobby)あり → 月500ツールコールまで無料
- 1コール = 操作1回(read/write各1)
- 週数件の投稿追加なら無料枠で十分
- 次回: Klavis MCPのセットアップを行う
4. Claude Opus 4.6記事の投稿2件作成(スプレッドシート未追加)
投稿内容は作成済みだが、まだスプレッドシートに追加できていない。
Klavis MCP導入後、または addOpusPosts() 関数をGASで実行することで追加可能。
投稿1(3/24 12:00): Opus vs Sonnet 比較(リンクなし) 投稿2(3/24 21:00): フローチャート型(noteリンクあり)
次回やること(優先順)
X投稿くん 関連
-
Klavis MCPのセットアップ(最優先) - https://www.klavis.ai/ でアカウント作成 - Google Sheets MCPを有効化・認証 - Claude Codeの
.claude/settings.jsonにMCPサーバー追加 - 動作確認:スプレッドシートへの読み書きテスト -
Opus記事の投稿2件をスプレッドシートに追加 - Klavis経由でClaudeが直接追加(または
addOpusPosts()をGASで手動実行) - 3/24分は時刻超過の可能性あり → 次の適切な日時に設定 -
投稿結果の確認 - スプレッドシートのL列にX投稿URLが入っているか確認 - 失敗していたらエラー内容を確認してAPIキーの設定を見直す
-
APIキーの差し替え(ユーザーが予定している) - X / Threads の APIキーを全て新しい値に更新予定 - スクリプトプロパティを更新するだけでOK
Note投稿くん 関連
-
投資記事9改善版の下書き投稿(前々回から持ち越し)
bash cd "C:/Users/Tatsu/Desktop/ツール開発/Note投稿くん" node scripts/publish-hybrid.js "output/articles/toushi_09_simulation_v2.md" "月3万円の積み立て投稿で老後はどうなるのか、実際に計算して驚いた話" "投資,積み立て投資,新NISA,老後資金,シミュレーション" "output/articles" -
図解・サムネイル3枚の生成(nanobanana2、レート制限で中断中) - 婚活:
konkatsu_waste_fig1.png- AI:ai_gap_fig1.png- 投資:toushi_sim_fig1.png
重要な知見
GAS自動投稿システムの構造
スプレッドシート(X投稿シート)
↓ 30分ごとのトリガー
postNextScheduledItem()
→ findNextPublishableRow_() で投稿対象を検索
→ postToX_() / postToThreads_() で投稿
→ K列をTRUE / L・M列にURLを記録
重複投稿防止の仕組み
- K列(投稿済み)がTRUE → スキップ
- L列(X URL)が入力済み → X再投稿しない
- M列(Threads URL)が入力済み → Threads再投稿しない
- git pushが不要なため構造的に重複が起きにくい
Klavis MCP について
- 無料プラン: 月500コール(1コール = 操作1回)
- 週数件の投稿追加なら無料枠で十分
- 公式: https://www.klavis.ai/
X投稿ナレッジの適用ポイント
- フック: A-0インサイト指定型「〜とか言いながら、実は〜だけの人へ」
- NG: ✅箇条書き・「答えはシンプル」「ポイントは3つ」・「〜です/ます」
- OK: ↓フローチャート・断定・体言止め・口語(w)・感情の揺らぎ
APIキーについて(重要)
- X / Threads のAPIキーは全て新しい値に差し替え予定
- 既存の値を前提にした作業はしないこと
- スクリプトプロパティ(GAS)を更新するだけでOK
MUST DO(必須)
- このファイルを読む - 作業開始前に必ず
- 既存スクリプトを確認 - 新規作成前にReadツールで読む
- ユーザー指示を優先 - 推測で作業しない
- スキル指定を遵守 - 「〇〇スキルを使って」は必ずSkillツールで
MUST NOT DO(禁止)
- 既存ファイルを無視して新規作成 - 絶対禁止
- 「シンプルにする」と称して異なる実装 - 絶対禁止
- スキル指示を無視した手動実装 - 絶対禁止
このファイルはセッション終了時に更新されました