都道府県クイズを書籍まるごと横展開する計画書を起草した

開発mdx-playgroundアクティブ

今日やったこと

昨日仕上げた都道府県・主産地クイズ(果実・野菜・工芸農作物)の続きを進めようとして、計画書を探した。memo/ にも .claude/plans/ にも該当ファイルがない。昨日の日記の末尾に「明日やること」が3行残っていて、これが事実上の続きTODOになっていた。

そのままだと粒度が荒すぎる。共通composable抽出・スマホ対応・他章への横展開がすべて「やる」だけで終わっていたので、書籍構造を踏まえた本格的な計画書を起草することにした。

「自分の本棚にAIで質問する」で書籍構造を直接調べた

元データは『日本国勢図会 2024/25』(矢野恒太記念会)で、Turso DB(book-knowledge-base)に書籍ID nihon-kokusei-zue-2024-25 として登録済みだ。書籍の章節構造を直接Claude Codeに調べさせた。SQLは自分では書かず、日本語で「都道府県別データが豊富な章を全部洗い出して」と頼んだだけだ。

DBを裏で叩き、全134チャンク・全40章+付録I/II/IIIの構造を返してきた。とくに付録II「府県別主要統計」と付録III「府県別生産統計」が47都道府県×多項目の宝庫だと分かった。表をぱらぱらめくる代わりに、本棚に質問して目次を読み上げてもらえる感覚で、計画書の素材集めが10分で終わった。

紙の書籍をスキャン→OCR→DB化しておくと、続き物の計画作成がここまで速くなる。手元の参考書庫を裏方として使い倒せる体験を、はじめて実感した。

5フェーズで横展開する計画に落とした

書籍内の都道府県データが多い章を「実装しやすさ」「データの素直さ」「面白さ」の3軸で並べて、5フェーズに分けた。

  • Phase 1: 第11章の残り(米・麦・豆・いも)+ 第12章畜産 + 第14章水産
  • Phase 2: 第3章人口 + 第4章面積・市町村
  • Phase 3: 第15-17章工業 + 第24章貿易港 + 第27-28章地価・地方税
  • Phase 4: 第30章観光 + 第34章教育 + 第38章災害
  • Phase 5: 付録II・IIIを使った「47都道府県オールラウンダー」逆引きクイズ

ファイル構成は pages/prefecture-quiz/{topic}.vuedata/{topic}Quiz.ts + 共通 composables/usePrefectureQuiz.ts の三層に分ける。新規ページ追加コストをデータ作成コストだけに抑えたい。

着手順を入れ替えた

最初は Phase 1(米・畜産・水産)から手をつける順序で書いたが、ユーザーから「目次ページがないと並べた意味がない」と指摘が入り、着手順を組み替えた。

  • 1. クイズ一覧トップページ pages/prefecture-quiz/index.vue を新規作成(次回ここから)
  • 2. agriculture.vue から usePrefectureQuiz を切り出し
  • 3. スマホ対応(768px以下で縦積み)
  • 4. rice-and-grain.vue(Phase 1の1本目)
  • 5. livestock.vue / seafood.vue
  • 6. 復習モード(localStorage)

目次ページのデザインは agriculture.vue のヘッダーで使ったマゼンタ(#ed1e79)を踏襲する。Phase 1〜5のページをカード一覧で見せ、実装済みカードには緑バッジ、未実装には「準備中」のグレーバッジを置く。

使用制限が近づいて打ち切り

目次ページの着手手前で Claude Code の使用制限が近づいたため、計画書本体に「次回セッションの最初のアクション」を明示してから手を止めた。具体的には、pages/prefecture-quiz/index.vue を新規作成して http://localhost:3001/prefecture-quiz/ をブラウザで開くところから再開すれば迷わない。

計画書のフルパス: memo/2026-05-14/prefecture-quiz-expansion-plan.md

学び

  • 計画書が見つからないときは、まず昨日の日記末尾を探す。「明日やること」が事実上のTODOになっていることがある
  • 続き物のコンテンツを作るとき、元書籍がDB化されていると計画書の起草が大幅に短縮できる。SQLを書かなくても、日本語で「都道府県別データが多い章を洗い出して」と頼めば、AIがDBを叩いて結果を持ち帰ってくる
  • 着手順は「面白さ順」より「土台が成立する順」を優先する。目次ページがないままページを量産しても、ユーザーが横断できない
  • 使用制限が見えたら新規実装に手をつけず、計画書の最後に「次回の最初のアクション」を1〜4ステップで残してから打ち切る

明日やること

  • pages/prefecture-quiz/index.vue を新規作成して目次ページを立ち上げる
  • 既存トップ pages/index.vue:52 の遷移先を /prefecture-quiz/agriculture/prefecture-quiz に切り替えるか相談
  • 目次ページが固まったら usePrefectureQuiz をcomposableに切り出し、agriculture.vue で挙動が変わらないことをブラウザで確認