Track 3: X→AIニュース自動投稿スキル
親 tracking: #64 | ラベル track:x-news-auto | 26 件
X(旧Twitter)から AI/Tech ニュースを取得し、自動で記事化、Slackでレビュー承認後にそのままSubstackへ公開する。
このトラックの位置づけ
substack-skill 本体(Track 2)が完了してから着手する派生スキル。Track 2 の generator / asset / publisher を再利用しつつ、以下を追加実装する:
- X (Twitter) ソース: timeline / list / search / Grok 連携
- ルーティン: Claude
CronCreateで定期実行 - Slack レビューゲート: 承認/却下/修正リクエストの対話
- 自動公開: 本トラックだけで
publishエンドポイントを解禁
Phase 構成
| Phase | 件数 | 内容 |
|---|---|---|
| X X(Twitter) ソース | 8 | API認証 / timeline / list / search / Grok / フィルタ / 重複検出 / 集約 |
| R ルーティン | 3 | CronCreate / スケジュール管理 / 失敗時通知 |
| V Slack レビュー | 5 | Socket Mode / Block Kit / 承認 / タイムアウト / 修正リクエスト |
| P 自動公開 | 4 | publish API / 承認後フロー / Slack通知 / リカバリ |
| Q 統合・運用 | 5 | SKILL.md / コマンド / 設定 / ログ / E2E |
Phase X — X(Twitter) ソース
| Issue | 内容 |
|---|---|
| #65 X-1 | X API 認証・接続設計 |
| #66 X-2 | フォロー中タイムライン取得 |
| #67 X-3 | 特定リストのアカウント収集 |
| #68 X-4 | キーワード/ハッシュタグ recent search |
| #69 X-5 | Grok/X 表示推奨との連携(スパイク) |
| #70 X-6 | AI/技術関連度フィルタ |
| #71 X-7 | 重複検出・既出ニュース除外 |
| #72 X-8 | ニュース集約・要約 |
Phase R — ルーティン
| Issue | 内容 |
|---|---|
| #73 R-1 | Claude routine 設計と登録 |
| #74 R-2 | スケジュール管理コマンド |
| #75 R-3 | 失敗時通知・冪等性 |
Phase V — Slack レビューゲート
| Issue | 内容 |
|---|---|
| #76 V-1 | Slack 接続設定 |
| #77 V-2 | 記事プレビュー送信 |
| #78 V-3 | 承認/却下インタラクション |
| #79 V-4 | タイムアウト時のフォールバック |
| #80 V-5 | 修正リクエスト対応 |
Phase P — 自動公開
| Issue | 内容 |
|---|---|
| #81 P-1 | publish エンドポイント実装 |
| #82 P-2 | 承認後の自動公開フロー |
| #83 P-3 | 公開後 Slack 通知 |
| #84 P-4 | 公開失敗時のリカバリ |
Phase Q — 統合・運用
| Issue | 内容 |
|---|---|
| #85 Q-1 | SKILL.md / commands 作成 |
| #86 Q-2 | スラッシュコマンド一式 |
| #87 Q-3 | 設定ファイル統合 |
| #88 Q-4 | 構造化ログ・メトリクス |
| #89 Q-5 | E2E動作確認 |
アーキテクチャ
[Claude routine cron]
│ 毎朝6:00 等
▼
[x-news-auto pipeline]
├─→ X collector ─── timeline / list / search / Grok
├─→ AI関連度フィルタ ← LLM judge
└─→ 重複検出・集約
│
▼
[substack-skill 既存パイプライン] (Article gen + Image + Diagram)
│
▼
[Substack 下書き作成 (E)]
│
▼
[Slack レビューゲート]
├─ 承認 ──→ [自動公開 (P)] ──→ Slack 通知
├─ 却下 ──→ アーカイブ
├─ 修正 ──→ AI 再生成 → 再レビュー
└─ タイムアウト ──→ 自動却下認証情報(既存Keychain)
| Key | 用途 |
|---|---|
X_POCOLOCO_BEARER_TOKEN | X API Bearer |
X_POCOLOCO_CONSUMER_KEY/SECRET | OAuth1.0a |
X_POCOLOCO_ACCESS_TOKEN/SECRET | timeline 取得 |
XAI_API_KEY | Grok 連携用(オプション) |
SLACK_APP_TOKEN | Slack Socket Mode |
SUBSTACK_COOKIES_STRING | Substack 認証(既存・共有) |