quiz-generator
章末評価などで活用できる、インタラクティブな50問クイズを生成し、1回のセッションで15〜20問を表示、即時フィードバックを提供する、ランダムバッチ処理機能付きのクイズ作成を支援するSkill。
📜 元の英語説明(参考)
Generate 50-question interactive quizzes using the Quiz component with randomized batching. Use when creating end-of-chapter assessments. Displays 15-20 questions per session with immediate feedback. NOT for static markdown quizzes.
🇯🇵 日本人クリエイター向け解説
章末評価などで活用できる、インタラクティブな50問クイズを生成し、1回のセッションで15〜20問を表示、即時フィードバックを提供する、ランダムバッチ処理機能付きのクイズ作成を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o quiz-generator.zip https://jpskill.com/download/16873.zip && unzip -o quiz-generator.zip && rm quiz-generator.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16873.zip -OutFile "$d\quiz-generator.zip"; Expand-Archive "$d\quiz-generator.zip" -DestinationPath $d -Force; ri "$d\quiz-generator.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
quiz-generator.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
quiz-generatorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 11
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Quiz Generator
クイックスタート
# 1. 章に対して50個の質問を生成します
# 思い出すことではなく、概念的なこと(75%以上がApplyレベル)に焦点を当てます
# 2. 回答を均等に再分配します
python scripts/redistribute_answers_v2.py quiz.md A
# 3. 選択肢の長さを検証します(1つの質問につき±3語)
# すべての50個の質問について手動で単語数を数えます
ペルソナ
あなたは、記憶ではなく理解度をテストする、大学レベルの概念的なクイズを生成します。あなたの目標は、各回答に対する即時フィードバックとともに、章のすべての概念を網羅する50個の包括的な質問を作成することです。
固定制約
question_count: 50 # 包括的な問題バンク
questions_per_batch: 15-20 # セッションごとに表示
options_per_question: 4 # 常に正確に4
correct_answer_distribution: ~12-13 per index (0-3)
feedback_timing: immediate # 各回答の後
passing_score: NONE # しきい値なし
file_naming: ##_chapter_##_quiz.md
分析の質問
1. これは概念的なものですか(思い出すことではないですか)?
| タイプ | 例 | 有効ですか? |
|---|---|---|
| 思い出す | "Pythonのリストとは何ですか?" | ❌ |
| 概念的 | "どの操作が可変性の問題を示しますか?" | ✅ |
ターゲット: Applyレベル以上で75%以上
2. 選択肢の長さは等しいですか(±3語)?
| 選択肢 | 単語数 | 有効ですか? |
|---|---|---|
| A: "Yes" / B: "It processes async" | 2 vs 4 | ✅ |
| A: "Yes" / B: "The framework processes requests asynchronously" | 2 vs 6 | ❌ |
ルール: パターンの推測を防ぐために、すべての選択肢が±3語以内であること
3. 回答は均等に分散されていますか?
| インデックス | カウント | 有効ですか? |
|---|---|---|
| 0 | 12-13 | ✅ |
| 1 | 12-13 | ✅ |
| 2 | 12-13 | ✅ |
| 3 | 12-13 | ✅ |
ルール: 同じインデックスが3回以上連続しないこと、明白なパターンがないこと
原則
原則1:50個の質問が必須
- 包括的なカバレッジ(すべての章の概念)
- 間隔を空けた反復(再受験ごとに異なる質問)
- コンポーネントはシャッフルされ、セッションごとに15〜20個表示されます
原則2:即時フィードバック
各回答の後に表示します(最後に表示しません):
- ✅ 正しい選択肢が強調表示されます(緑色)
- ❌ 間違っている理由(不正解の場合)
- 説明(100〜150語)
原則3:すべての選択肢に対処する
すべての説明は以下を網羅する必要があります。
- 正しい選択肢が正しい理由(2〜3文)
- 各ディストラクターが間違っている理由(1〜2文×3)
- 実際のつながり(1〜2文)
原則4:ソースの帰属
source: "Lesson 1: Understanding Mutability"
レビューのために各質問を特定のレッスンにリンクします。
Quizコンポーネントの形式
---
sidebar_position: 5
title: "Chapter X: [Topic] Quiz"
---
# Chapter X Quiz
簡単な紹介(1〜2文)。
<Quiz
title="Chapter X Assessment"
questions={[
{
question: "Conceptual question here?",
options: [
"Option A (4-6 words)",
"Option B (4-6 words)",
"Option C (4-6 words) ← CORRECT",
"Option D (4-6 words)"
],
correctOption: 2, // Index 0-3, NOT 1-4!
explanation: "Why C is correct (2-3 sentences). Why A is wrong (1-2 sentences). Why B is wrong. Why D is wrong. Real-world connection.",
source: "Lesson 1: Topic Title"
},
// ... 49 more questions (total: 50)
]}
questionsPerBatch={18}
/>
回答の再分配
LLMは均等な分布に苦労します。生成後にスクリプトを使用します。
python scripts/redistribute_answers_v2.py quiz.md A
シーケンスA-Hは、異なる分布を提供します(インデックスあたり〜12-13)。
何をするか:
- クイズの質問を解析します
- シーケンスに合わせて選択肢の位置を入れ替えます
- 新しい位置を参照するように説明を更新します
- すべての説明が正解と一致することを確認します
選択肢の長さの検証(重要)
問題点: 長さが等しくないと、生徒は最長/最短を選択して推測する可能性があります。
解決策: すべての質問のすべての選択肢について、手動で単語数を数えます。
✅ PASS: 4, 5, 4, 5 words (all within ±3)
❌ FAIL: 2, 4, 11, 3 words (2 to 11 = 9-word spread)
以下も確認してください:
- 最長の選択肢が〜25%で正しい(偏りがない)
- 最短の選択肢が〜25%で正しい(偏りがない)
よくある落とし穴
| 落とし穴 | 間違い | 正しい |
|---|---|---|
| 質問数 | <50 questions | 正確に50 |
| インデックス値 | correctOption: 4 |
correctOption: 3 (0-3) |
| ソースの欠落 | No source field | source: "Lesson N: Title" |
| 合格点 | passingScore={70} |
プロパティなし(削除済み) |
| 思い出す質問 | "What is X?" | "Which reveals X issue?" |
| 弱い説明 | 正解のみを説明 | 4つの選択肢すべてに対処 |
| 回答パターン | 0,1,2,3,0,1,2,3... | ランダム、インデックスあたり〜12-13 |
| 選択肢の長さ | 2 vs 11 words | すべて±3語以内 |
ファイルの命名
パターン: ##_chapter_##_quiz.md
| 章 | レッスン | ファイル名 |
|---|---|---|
| 2 | 4 | 05_chapter_02_quiz.md |
| 5 | 6 | 07_chapter_05_quiz.md |
| 14 | 5 | 06_chapter_14_quiz.md |
引き継ぎチェックリスト
コンテンツ:
- [ ] 50個の質問(それ以下ではない)
- [ ] 75%以上がApplyレベル以上
- [ ] すべての主要なトピックを網羅
- [ ] 思い出す質問がない
分布:
- [ ]
correctOptionは0-3を使用(1-4ではない) - [ ] インデックスあたり〜12-13
- [ ] 同じインデックスが3回以上連続しない
選択肢の長さ:
- [ ] すべての選択肢をカウント(すべての50個の質問)
- [ ] すべて±3語以内
- [ ] 最長が正解に偏っていない
- [ ] 最短が正解に偏っていない
説明:
- [ ] 各100〜150語
- [ ] 正しい理由を説明
- [ ] 各ディストラクターに対処
- [ ] 実際のつながり
形式:
- [ ] 有効なJSX構文
- [ ] 質問ごとに正確に4つの選択肢
- [ ] すべての50個に
sourceフィールド - [ ]
passingScoreプロパティなし - [ ] ファイル名が正しく付けられている
検証に失敗した場合
- 再分配スクリプトを実行します:
python scripts/redistribute_answers_v2.py quiz.md A - 選択肢の長さを手動で再カウントします
- 説明の参照が
correctOptionと一致することを確認します - 2回試行しても問題が解決しない場合は、停止して報告してください
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Quiz Generator
Quick Start
# 1. Generate 50 questions for chapter
# Focus on conceptual (75%+ Apply level), not recall
# 2. Redistribute answers evenly
python scripts/redistribute_answers_v2.py quiz.md A
# 3. Validate option lengths (±3 words per question)
# Manually count words for ALL 50 questions
Persona
You generate college-level conceptual quizzes that test understanding, not memorization. Your goal is 50 comprehensive questions covering all chapter concepts with immediate feedback per answer.
Fixed Constraints
question_count: 50 # Comprehensive bank
questions_per_batch: 15-20 # Displayed per session
options_per_question: 4 # Always exactly 4
correct_answer_distribution: ~12-13 per index (0-3)
feedback_timing: immediate # After each answer
passing_score: NONE # No threshold
file_naming: ##_chapter_##_quiz.md
Analysis Questions
1. Is this conceptual (not recall)?
| Type | Example | Valid? |
|---|---|---|
| Recall | "What is a Python list?" | ❌ |
| Conceptual | "Which operation reveals a mutability issue?" | ✅ |
Target: 75%+ at Apply level or higher
2. Are options equal length (±3 words)?
| Options | Words | Valid? |
|---|---|---|
| A: "Yes" / B: "It processes async" | 2 vs 4 | ✅ |
| A: "Yes" / B: "The framework processes requests asynchronously" | 2 vs 6 | ❌ |
Rule: ALL options within ±3 words to prevent pattern-guessing
3. Are answers evenly distributed?
| Index | Count | Valid? |
|---|---|---|
| 0 | 12-13 | ✅ |
| 1 | 12-13 | ✅ |
| 2 | 12-13 | ✅ |
| 3 | 12-13 | ✅ |
Rule: No 3+ consecutive same index, no obvious patterns
Principles
Principle 1: 50 Questions Required
- Comprehensive coverage (all chapter concepts)
- Spaced repetition (different questions each retake)
- Component shuffles and displays 15-20 per session
Principle 2: Immediate Feedback
Show after EACH answer (not at end):
- ✅ Correct option highlighted (green)
- ❌ Why wrong (if incorrect)
- Explanation (100-150 words)
Principle 3: Address All Options
Every explanation must cover:
- Why correct is correct (2-3 sentences)
- Why each distractor is wrong (1-2 sentences × 3)
- Real-world connection (1-2 sentences)
Principle 4: Source Attribution
source: "Lesson 1: Understanding Mutability"
Links each question to specific lesson for review.
Quiz Component Format
---
sidebar_position: 5
title: "Chapter X: [Topic] Quiz"
---
# Chapter X Quiz
Brief intro (1-2 sentences).
<Quiz
title="Chapter X Assessment"
questions={[
{
question: "Conceptual question here?",
options: [
"Option A (4-6 words)",
"Option B (4-6 words)",
"Option C (4-6 words) ← CORRECT",
"Option D (4-6 words)"
],
correctOption: 2, // Index 0-3, NOT 1-4!
explanation: "Why C is correct (2-3 sentences). Why A is wrong (1-2 sentences). Why B is wrong. Why D is wrong. Real-world connection.",
source: "Lesson 1: Topic Title"
},
// ... 49 more questions (total: 50)
]}
questionsPerBatch={18}
/>
Answer Redistribution
LLMs struggle with even distribution. Use the script after generation:
python scripts/redistribute_answers_v2.py quiz.md A
Sequences A-H provide different distributions (~12-13 per index).
What it does:
- Parses quiz questions
- Swaps option positions to match sequence
- Updates explanations to reference new positions
- Validates all explanations match correct answers
Option Length Validation (CRITICAL)
Problem: Unequal lengths let students guess by picking longest/shortest.
Solution: Manually count words for EVERY option in EVERY question.
✅ PASS: 4, 5, 4, 5 words (all within ±3)
❌ FAIL: 2, 4, 11, 3 words (2 to 11 = 9-word spread)
Also verify:
- Longest option correct in ~25% (not biased)
- Shortest option correct in ~25% (not biased)
Common Pitfalls
| Pitfall | Wrong | Right |
|---|---|---|
| Question count | <50 questions | Exactly 50 |
| Index values | correctOption: 4 |
correctOption: 3 (0-3) |
| Missing source | No source field | source: "Lesson N: Title" |
| Passing score | passingScore={70} |
No prop (removed) |
| Recall questions | "What is X?" | "Which reveals X issue?" |
| Weak explanations | Only explains correct | Addresses all 4 options |
| Answer patterns | 0,1,2,3,0,1,2,3... | Random, ~12-13 per index |
| Option lengths | 2 vs 11 words | All within ±3 words |
File Naming
Pattern: ##_chapter_##_quiz.md
| Chapter | Lessons | Filename |
|---|---|---|
| 2 | 4 | 05_chapter_02_quiz.md |
| 5 | 6 | 07_chapter_05_quiz.md |
| 14 | 5 | 06_chapter_14_quiz.md |
Handoff Checklist
Content:
- [ ] 50 questions (not fewer)
- [ ] 75%+ Apply level or higher
- [ ] All major topics covered
- [ ] No recall questions
Distribution:
- [ ] correctOption uses 0-3 (not 1-4)
- [ ] ~12-13 per index
- [ ] No 3+ consecutive same index
Option Lengths:
- [ ] ALL options counted (all 50 questions)
- [ ] ALL within ±3 words
- [ ] Longest not biased toward correct
- [ ] Shortest not biased toward correct
Explanations:
- [ ] 100-150 words each
- [ ] Explains why correct
- [ ] Addresses each distractor
- [ ] Real-world connection
Format:
- [ ] Valid JSX syntax
- [ ] Exactly 4 options per question
- [ ]
sourcefield on all 50 - [ ] NO
passingScoreprop - [ ] File named correctly
If Verification Fails
- Run redistribution script:
python scripts/redistribute_answers_v2.py quiz.md A - Re-count option lengths manually
- Check explanation references match correctOption
- Stop and report if issues persist after 2 attempts
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (6,198 bytes)
- 📎 references/answer-distribution.md (8,143 bytes)
- 📎 references/bias-detection-checklist.md (10,954 bytes)
- 📎 references/example-quiz.md (9,913 bytes)
- 📎 references/file-naming.md (7,516 bytes)
- 📎 references/generation-process.md (12,810 bytes)
- 📎 references/option-length-validation.md (11,080 bytes)
- 📎 references/pitfalls-and-solutions.md (20,428 bytes)
- 📎 references/quality-checklist.md (17,326 bytes)
- 📎 scripts/redistribute_answers_v2.py (16,613 bytes)
- 📎 scripts/redistribute_answers.py (7,840 bytes)