name: quiz-creator
description: 中学受験特化の日本史クイズを作成し、Supabaseデータベースに登録する。4段階難易度フレームワーク・学習指導要領準拠。「クイズ作成」「問題追加」「歴史クイズ」「中学受験対策」などの作業に使う。
Quiz Creator — 中学受験特化 日本史クイズ作成スキル
ChuzyuQuiz-歴史アプリ用のクイズを作成・登録するスキル。
🚨 最新運用(2026-03-09)
- 正式な難易度仕様は Lv1-Lv4 のみ
- Lv5 は廃止済み
- 正本は
/Users/satokeita/Dev/history-quiz-app/docs/QUIZ_DIFFICULTY_STANDARD.md
- 難易度配分は
/Users/satokeita/Dev/history-quiz-app/docs/QUIZ_TARGET_DISTRIBUTION.md を参照する
🚨 最重要制約: 中学受験範囲厳守(2026-02-18 けいた様指示)
本アプリの目的は中学受験である。中学受験に出てこない内容は絶対に問題にしてはいけない。
判断基準
- 許可: 小学校学習指導要領(第6学年 社会科 歴史)に含まれる内容
- 許可: 中学入試で実際に出題される内容(過去問で確認できるもの)
- 禁止: 高校日本史レベルの詳細、大学受験レベルの内容
- 禁止: 学習指導要領に明記されていない出来事・人物・年号
具体的な禁止例
- 承久の乱の詳細な経過(後鳥羽上皇の挙兵自体は可、詳細は不可)
- 島原・天草一揆の詳細な経過(キリスト教禁止政策の結果として触れる程度は可)
- 朝鮮出兵(文禄・慶長の役)の詳細な経過
- 尊王攘夷運動の個別事件の詳細
- 大正デモクラシーの詳細(普通選挙法成立程度は可)
- 学習指導要領42人物以外のマイナー人物
チェックリスト(問題作成時必須)
迷ったら出題しない。中学受験範囲の確実な内容のみを問題にすること。
1. 概要・目的
- 対象: 中学受験を控えた小学生(主に5-6年生)
- 内容: 日本の歴史(小学校学習指導要領 第6学年 社会科準拠)
- 品質基準: 実際の中学入試に出題されるレベル — 日能研偏差値40〜65+まで4段階でカバー
- 目標: 800問+のクイズプール構築(現在452問 → 新基準505問+既存分を段階的に拡充)
- 設計思想: 同じテーマを難易度別に展開し、基礎固めから御三家対策までシームレスに学習できる構造
2. 難易度フレームワーク(4段階)
Lv1(基礎/偏差値40台)〜 Lv4(難関/偏差値60-65)の4段階。同じテーマを難易度別に展開する設計。
詳細な定義・選択肢設計・テーマ別マトリクス例は references/difficulty-framework.md を参照。
クイズ作成時の実践ルール
- 1つのテーマにつき、最低2段階(Lv1-2 or Lv2-3)は作成する
- 重要テーマ(参勤交代、鎖国、明治維新など)は3段階以上を目指す
- Lv4は無理に全テーマに作らない。思考力を問える良問のみ
3. 学習指導要領リファレンス
学習指導要領(平成29年告示)の歴史内容(ア〜ケ)と指定42人物リストは references/curriculum-reference.md を参照。
42人物の活用ルール:
- 全42人物について最低Lv1の問題を1問は作成する
- 重要人物はLv2-3も作成
- 人物同士の関係性を問う問題はLv3以上
4. 中学受験の出題傾向
頻出時代ランキング・出題特徴・難関校の出題パターンは references/exam-patterns.md を参照。
5. 目標クイズ数・時代別配分
- 全体目標は
800問+
- 当面の最低目標と時代別配分は
/Users/satokeita/Dev/history-quiz-app/docs/QUIZ_TARGET_DISTRIBUTION.md を正本とする
- このスキルでは Lv1-Lv4 のみ を扱う
- 最頻出時代(江戸・明治・昭和)の不足を優先して埋める
6. ジャンル比率(各時代内)
| ジャンル | 比率 | 説明 |
|---|
| 人物問題 | 30% | 誰が何をしたか。42人物を中心に |
| 出来事・事件 | 30% | いつ・何が起きたか。戦い、改革、条約など |
| 文化・制度 | 25% | 建築、文学、法律、社会制度など |
| 年代・因果関係 | 15% | 時系列の理解、なぜ→どうなった |
ジャンルタグの付け方(explanation内に含める):
- 問題作成時、各問題がどのジャンルに該当するか意識する
- 1つの問題が複数ジャンルにまたがる場合は主要なものを1つ選ぶ
- 時代ごとにジャンル比率が大きく偏らないようにする
7. クイズ作成ワークフロー
Step 1: 現状把握
既存クイズの時代別・難易度別集計を取得する: scripts/check-quiz-counts.sh
Step 2: ギャップ分析
目標数(docs/QUIZ_TARGET_DISTRIBUTION.md)と現状を比較し、不足しているところを特定:
- 時代 × 難易度のマトリクスで空きを確認
- 優先度: 最頻出時代(江戸・明治・昭和)の不足分を先に埋める
Step 3: テーマ選定とリサーチ
指定された時代について、以下をリサーチ:
Step 4: クイズ作成
- テーマごとに難易度マトリクスを意識して問題を設計(references/difficulty-framework.md)
- ジャンル比率(人物30%/出来事30%/文化制度25%/因果15%)を守る
- 選択肢は難易度に応じた設計
- 解説は充実させる(関連知識・因果関係・発展情報を含む)
Step 5: 品質チェック
references/quality-checklist.md に沿ってチェック。
Step 6: SQL生成 & デプロイ
デプロイ忘れ禁止: 作成 → デプロイ → 動作確認まで完了して初めて完了。
8. 重複チェック・表記統一
9. 注意事項
やってはいけないこと
- 過去問の丸写し: 出題パターンを参考にするのはOK。問題文の転載はNG
- 大学受験レベルの出題: あくまで小学生が対象。Lv4でも中学受験の範囲内
- 曖昧な選択肢: 「正解が2つある」「どれも正解に見える」は品質不良
- 解説なしの登録: explanationは必須。空欄での登録は禁止
- 一度に大量投入: 1回のデプロイは50問以内を推奨(品質管理のため)
バリエーション作成のコツ
同じ事項を違う角度から問う:
- 人物 → 出来事: 「源頼朝が開いたものは?」→「鎌倉幕府を開いた人物は?」
- 原因 → 結果: 「なぜ元寇が起きた?」→「元寇の結果、幕府はどうなった?」
- 制度 → 目的: 「参勤交代とは?」→「参勤交代の目的は?」
- 時系列: 「〜の前に起きた出来事は?」→「〜の後に起きた出来事は?」
Supabase接続情報
- PROJECT_REF:
ltjiitmfishpgcnlmonr
- ANON_KEY:
/Users/satokeita/Dev/history-quiz-app/web/.env の VITE_SUPABASE_ANON_KEY から取得
- リージョン: ap-northeast-1(東京)
⚠️ よくある落とし穴
- 中学受験範囲を逸脱してしまう: 最も多い失敗。高校日本史レベルの詳細や学習指導要領に明記されていない出来事・人物を出題してしまう。迷ったら出題しない。「知っていたら差がつく」ではなく「知らないと困る」内容のみ
- Lv5 を作成してしまう: Lv5 は廃止済み。正式な難易度は Lv1-Lv4 のみ。難易度仕様は
/Users/satokeita/Dev/history-quiz-app/docs/QUIZ_DIFFICULTY_STANDARD.md が正本
- answer と options の表記が一致しない:
answer フィールドの値が options 配列内に完全一致で存