HANDOFF · 2026-05-24 · 続編

新規5施設ご利用案内 構築 — 引き継ぎ

既存6施設(館山・京都・渋谷・南房総・軽井沢・晴海)の体裁を踏襲し、Harbor 九十九里・Harbor 南葉山・Core 軽井沢 I・Core 軽井沢 II・Core 河口湖 の5施設ガイドを新規構築する。完了後、yamato-club から Active リンク化+写真差し替え。

現在地(2026-05-24時点)

NOW

会員ハブ+6施設ガイドの統一ナビ実装が完了

このセッションでやること

NEXT

新規5施設のガイドを既存6施設と同水準で公開する

施設slug 候補Cloudflare project 名本番URL(予定)
Harbor 九十九里kujukuriyamato-kujukuri-guideyamato-kujukuri-guide.pages.dev
Harbor 南葉山minamihayamayamato-minamihayama-guideyamato-minamihayama-guide.pages.dev
Core 軽井沢 Ikaruizawa_core1yamato-karuizawa-core1-guideyamato-karuizawa-core1-guide.pages.dev
Core 軽井沢 IIkaruizawa_core2yamato-karuizawa-core2-guideyamato-karuizawa-core2-guide.pages.dev
Core 河口湖kawaguchikoyamato-kawaguchiko-guideyamato-kawaguchiko-guide.pages.dev
Otakeさん指示(重要):Core 軽井沢 I と II は内容が微妙に違うため、分けて作る。後で統合する選択肢は残す。

情報源(先にあたるべき順序)

大竹さんは「情報としてはあるはず」と発言。先にNotion/SoT/Hubを当たり、Webや想像で埋めない。順序は memory/feedback_internal_sources_before_web.md に準拠:

  1. Notion 🏗️プロジェクトDB: 各施設のHubページ。住所・最大人数・WiFi・設備一覧の正本
  2. SoT GSheet: YAMATO_ご利用案内_穴埋めマトリクス(5施設対応・新5施設も列追加して埋める)
  3. 運営正本 GSheet: オペレーターガイド GSheet
  4. Hub Excel: output/tmp/YAMATO_Harbor南房総_SunTerraceCove_Hub.xlsx 等。新施設の Hub があれば最も濃い情報源
  5. FACILITY_PHOTOS.md: OTA本番写真フォルダの所在マップ。ヒーロー写真と章別写真はここから
  6. Webは最後。OTA掲載や民泊届出データを参照する場合のみ
注意:5施設の中で情報の充実度はバラつくはず(Coreは"作りたい構想"段階の可能性、九十九里は実物件がどこまで進行中か要確認)。着手前に、5施設それぞれの「情報濃度ランク」を Otake さんに確認するのが安全。十分濃い施設だけ完成版、薄い施設は (要記入) プレースホルダ多めの暫定公開、という分け方も検討。

実行手順

1情報棚卸し — 5施設それぞれについて、上記情報源を順に当たり「現状どこまで埋まるか」を マトリクスGSheet に列追加して可視化。Otakeさんに「この濃度で公開していい?」を一度確認
2FACILITIES dict 追加scripts/build_member_guides.py 冒頭の FACILITIES = {...} に新5エントリ追加。既存 karuizawa エントリを雛形にコピーし、name_member / name_member_en / theme / address / tel / wifi_ssid / collection_kicker / ja_label / concept / features_list 等を埋める。Collection に応じて theme を決める(Harbor系は harbor、Core系は forest or 新設)。
3写真調達 — 各施設の OTA本番写真フォルダから hero 1枚+章別8枚(arrival / facility / options / residence / rules / services / departure / feedback)を scripts/build_member_guides.pycollect_photos() が拾える場所に配置。FACILITY_PHOTOS.md の対応表を確認。なければ Coming Soon 画像のままで暫定公開。
4ビルド&ローカル確認python scripts/build_member_guides.pyoutput/guides/_drafts/{slug}_member/ 生成 → ブラウザでローカル確認 → TBD カウント・章リンク・ドッグイヤー挙動を1施設1章でチェック。
5_deploy へコピー — Python で shutil.copytree('_drafts/{slug}_member','_deploy/{slug}')既存施設の _deploy は触らない
6Cloudflare Pages プロジェクト作成 — 各施設につき wrangler pages project create yamato-{slug}-guide --production-branch=main。5回個別実行(PowerShell foreach loop は memory/feedback_wrangler_deploy_no_loop_in_powershell.md により禁止)。
7デプロイ — 各施設につき wrangler pages deploy "output/guides/_deploy/{slug}/" --project-name=yamato-{slug}-guide --branch=main --commit-message="initial: new facility guide" --commit-dirty=true。5回個別実行。
8yamato-club リンク有効化+写真差し替えoutput/deploy/yamato_club/index.html の該当 card disabled ブロックを a class="card" に書き換え、href と画像を実物に。images/f_{slug}.{ext} を新施設の hero から copy。wrangler pages deploy "output/deploy/yamato_club/" --project-name=yamato-club ...
9admin-sync hook の動作確認 — PostToolUse フックで yamato-admin に自動追加されているはず。yamato-admin.pages.dev で5枠が並んでいることを確認。

留意点・既知の論点

引き継ぎ情報

種別パス / URL用途
ビルドscripts/build_member_guides.pyFACILITIES dict に追加するだけで全自動生成。Member's Index ナビコンポーネントは既に組み込み済み
SoT穴埋めマトリクスGSheet5列追加して情報棚卸し
会員ハブoutput/deploy/yamato_club/index.htmlStep 8 でカードを書き換える対象。既に5施設分の card disabled ブロックが存在
写真ルーティングFACILITY_PHOTOS.mdOTA本番写真フォルダの所在マップ
Notion DB🏗️プロジェクトDB各施設Hubページ(NOTION_MAP.md 参照)
前セッションの実装2026-05-24.html会員ハブ整備とMember's Indexナビ実装の経緯
ナビ仕様build_member_guides.py の nav_css() / sticky_header_html() / dogear_html() / contents_overlay_html() / colophon_html() / nav_script()変更不要。FACILITIES dict 追加だけで全章に伝播
memory 必読memory/feedback_internal_sources_before_web.md
memory/feedback_wrangler_deploy_no_loop_in_powershell.md
memory/feedback_data_security_layers.md
情報源優先順位/wrangler個別実行/機密レイヤー分離

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

1) このハンドオフHTMLを Read で読む
2) scripts/build_member_guides.pyFACILITIES dict と karuizawa エントリを Read(雛形把握)
3) Notion 🏗️プロジェクトDB を mcp__notion で fetch、5施設のHubページを取得
4) Otakeさんに 「5施設のうち、情報が揃っているのはどれですか? Coreの章構成は既存と同じで良いですか?」 を最初に確認
5) 確認結果に応じて Step 1(情報棚卸し)から進める