quiz-generator
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.
Best use case
quiz-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. 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.
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.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "quiz-generator" skill to help with this workflow task. Context: 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.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/quiz-generator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How quiz-generator Compares
| Feature / Agent | quiz-generator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Quiz Generator
## Quick Start
```bash
# 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
```yaml
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:
1. Why correct is correct (2-3 sentences)
2. Why each distractor is wrong (1-2 sentences × 3)
3. Real-world connection (1-2 sentences)
### Principle 4: Source Attribution
```javascript
source: "Lesson 1: Understanding Mutability"
```
Links each question to specific lesson for review.
## Quiz Component Format
```markdown
---
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:
```bash
python scripts/redistribute_answers_v2.py quiz.md A
```
**Sequences A-H** provide different distributions (~12-13 per index).
**What it does**:
1. Parses quiz questions
2. Swaps option positions to match sequence
3. Updates explanations to reference new positions
4. 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
- [ ] `source` field on all 50
- [ ] NO `passingScore` prop
- [ ] File named correctly
## If Verification Fails
1. Run redistribution script: `python scripts/redistribute_answers_v2.py quiz.md A`
2. Re-count option lengths manually
3. Check explanation references match correctOption
4. **Stop and report** if issues persist after 2 attemptsRelated Skills
game-test-case-generator
基于需求文档(xls/csv)生成专业游戏测试用例,支持完整用例和快速测试点两种模式。当用户提到"游戏测试"、"测试用例生成"、"需求转测试用例"、上传需求文档或原型时使用此技能。
viral-generator-builder
Expert in building shareable generator tools that go viral - name generators, quiz makers, avatar creators, personality tests, and calculator tools. Covers the psychology of sharing, viral mechanics, and building tools people can't resist sharing with friends. Use when: generator tool, quiz maker, name generator, avatar creator, viral tool.
k8s-manifest-generator
Create production-ready Kubernetes manifests for Deployments, Services, ConfigMaps, and Secrets following best practices and security standards. Use when generating Kubernetes YAML manifests, creating K8s resources, or implementing production-grade Kubernetes configurations.
run-nx-generator
Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.
pptx-generator
Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML workflows, or extract text with markitdown. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides.
nano-image-generator
Generate images using Nano Banana Pro (Gemini 3 Pro Preview). Use when creating app icons, logos, UI graphics, marketing banners, social media images, illustrations, diagrams, or any visual assets. Supports reference images for style transfer and character consistency. Triggers include phrases like 'generate an image', 'create a graphic', 'make an icon', 'design a logo', 'create a banner', 'same style as', 'keep the style', or any request needing visual content.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
tasks-generator
Generate structured task roadmaps from project specifications. Use when the user asks to create tasks, sprint plans, roadmaps, or work breakdowns based on PRD (Product Requirements Document), Tech Specs, or UI/UX specs. Triggers include requests like "generate tasks from PRD", "create sprint plan", "break down this spec into tasks", "create a roadmap", or "plan the implementation".
svg-logo-generator
Generate high-quality, minimalistic, and geometric SVG logos using Python scripts. Use this skill when users need to create logos, icons, or visual identities with geometric primitives (circles, rects, paths) and specific color schemes. Applies generative design principles with standardized workflows for scalable SVG output.
when-documenting-code-use-doc-generator
Automated comprehensive code documentation generation with API docs, README files, inline comments, and architecture diagrams
fractal-docs-generator
目录级 CLAUDE.md 生成。触发:mkdir、create directory、目录结构变更。
test-case-generator
从需求文档(文字、图片、PDF、DOCX)生成结构化的功能测试用例。遵循 15 字段规范,输出 Excel 文件,支持正向/异常场景、边界值、安全性测试。