HANDOFF · 2026-05-24 · CURRENT STATE

Slack駆動サイト管理 — 現在地と次の一歩

本日のセッションでスコープした内容と、現時点の運用状態。次セッションのClaudeも大竹さんもこの1枚を読めば文脈を引き継げる。

1. 現在地(一目)

レイヤー状態備考
設計(11論点)完了設計確定版HTML
Slack App(YAMATO Site Manager)作成・インストール済ヤマト本体ワークスペース / 新規App(既存review_monitor用とは別)
チャンネル #yamato-site-管理作成済プライベートチャンネル・bot招待済
キューGSheet本番稼働YAMATO_Slack依頼ログ
Service Account新規作成済yamato-automation プロジェクト / 個人GCP / 鍵: credentials/yamato-site-bot-sa.json
Cloudflare Workerデプロイ済URL: https://yamato-site-worker.yamato01.workers.dev
受信→記録ループ(P1)エンドツーエンド成功テスト依頼で GSheet 行追加・「📥 受け付けました」返信 確認済
自走処理(P3)仕掛けは完了・本番未検証check_queue.py + /process-slack-queue skill + Windows Task Scheduler 12:00毎日
👍承認フロー未実装Worker の reaction_added ハンドラ追加が必要
HTMLハブ方針楔は打ったCLAUDE.md コア原則・HTML_HUB_DESIGN.md・memory feedback の3点

2. 直近やったこと(時系列)

  1. 設計フェーズ: 11論点の対話で C型ハイブリッド / 案④ / 単一チャンネル / 自然言語+確認返し / GSheetキュー / 自己修復2回 / 開始+完了の2点通知 / 新規Slack App などを確定
  2. GSheetキュー作成: scripts/slack_site_mgmt/create_queue_sheet.py 実行・13列スキーマ・status 7値・条件付き書式・本文列WRAP
  3. Slack App 新規作成: manifest.json 提供 → Otakeさんが SETUP_GUIDE.md に沿って4ステップ完了
  4. Service Account 新規作成: GCP個人環境に yamato-automation プロジェクト・SA・JSON鍵DL・GSheet編集者共有
  5. Cloudflare Worker デプロイ: 4 secret 登録(Slack signing/bot, Google SA email/private_key)+ wrangler deploy
  6. P1 動作検証: テスト依頼で 📥 受け付けました 返信 + GSheet 行追加 確認
  7. P3 仕掛け実装: check_queue.py(軽量チェッカー)+ /process-slack-queue SKILL.md + Windows Task Scheduler (ClaudeAuto_SlackQueue_DailyNoon / 12:00毎日)
  8. 方針確定: 「ビューレイヤーの第一選択はHTML」を CLAUDE.md コア原則に追加、HTML_HUB_DESIGN.md 作成、memory feedback 追加

3. 次の一歩(優先順)

  1. 👍承認フローの完成(Worker拡張)
    • Worker に reaction_added ハンドラを追加
    • 👍が Otakeさん(slack_user_id判定)から該当依頼スレッドに付いたら GSheet の status を 確認待ち→承認済 に更新
    • 次の毎日12:00 run で claude が拾って実行
  2. 初の実依頼で本番検証
    • #yamato-site-管理 で実際の編集依頼を投げる(例: 既存施設ガイドの文言修正など軽いもの)
    • 翌日12:00以降に claude が起動 → process-slack-queue skill で処理 → Slack完了報告まで観察
    • うまく動かないところを fix していく
  3. HTMLハブ Phase 1 実装
    • monitoring_cases.yaml + Python ビルダ + Cloudflare Pages デプロイ
    • 初回エントリ: 本案件(slack-bot)
    • /monitor-case スキル化(「これ様子見たい」言語トリガーで自動追加)
  4. before/after サムネ自動生成(P4) — 後回し可

4. 遠い未来

5. 実務情報(次セッションが触る場所)

種類パス/URL
設計確定版output/handoff/site-management/2026-05-24-slack-bot-design.html
前段の引き継ぎ(原点)2026-05-24-slack-bot-architecture.html
キュー GSheetYAMATO_Slack依頼ログ
Worker ソースscripts/slack_site_mgmt/worker/src/index.js
Worker READMEscripts/slack_site_mgmt/worker/README.md
キューチェッカーscripts/slack_site_mgmt/check_queue.py
自走処理スキル~/.claude/skills/process-slack-queue/SKILL.md
Slack App manifestscripts/slack_site_mgmt/slack_app_manifest.json
Otake作業手順書scripts/slack_site_mgmt/SETUP_GUIDE.md
SA 鍵credentials/yamato-site-bot-sa.json (gitignored)
スケジュールタスクClaudeAuto_SlackQueue_DailyNoon 12:00毎日
SCHEDULED_TASKS.mdSCHEDULED_TASKS.md 該当行
HTML方針HTML_HUB_DESIGN.md + CLAUDE.md コア原則

6. 環境変数・秘密鍵(参考)

.env(ローカル / Python用)

SLACK_SITE_BOT_TOKEN=xoxb-...
SLACK_SITE_CHANNEL=#yamato-site-管理

Wrangler secrets(Cloudflare Worker用・登録済)

SLACK_SIGNING_SECRET
SLACK_BOT_TOKEN
GOOGLE_SA_EMAIL
GOOGLE_SA_PRIVATE_KEY

Worker vars(wrangler.toml)

QUEUE_SHEET_ID = "1g2IhiM76nbw_AVP2Y11IJFBIdXWbgv22y9f_PYUT9b8"
QUEUE_TAB = "依頼ログ"
SITE_CHANNEL = "yamato-site-管理"
OTAKE_SLACK_USER_ID = "REPLACE_WITH_OTAKE_USER_ID"  ← 次セッションで取得・反映

7. 今日確定した上位方針(HTML第一主義)

本案件の議論から派生して、Otakeさん全体の情報設計方針が固まった:

詳細は HTML_HUB_DESIGN.md。次セッションで Phase 1 のハブ実装に進む可能性が高い。

8. 新セッション冒頭の動き出し例

  1. このHTMLを Read
  2. Otakeさんに「次の一歩 §3 のどれから着手しますか?」と聞く(推奨: 1. Worker reaction_added → 2. 実依頼検証 → 3. HTMLハブ)
  3. 選ばれたものに沿って実装 or 検証