From paideia
Generate N practice problems on a topic. Saves problem MD + hidden answer MD. User solves on paper, uploads answer PDF, then runs /grade. First arg `weakmap` → auto-load latest weakmap report and target its top weaknesses.
How this command is triggered — by the user, by Claude, or both
Slash command
/paideia:quiz <topic | § | "weakmap"> [N=5]The summary Claude sees in its command listing — used to decide when to auto-load this command
## Output language Read `INTERFACE_LANG` from `.course-meta` (default `en`). All user-facing prose — chat output and narrative parts of the generated quiz MD — must be in that language. Keep in English regardless: file paths, slash command names, pattern IDs (P1, P2…), LaTeX, tier markers, and the per-problem footer template's keyword shape (a one-line italic citation of `§<section>` and `P<k>`). Load `skills/exam-drill/SKILL.md`. Also load `course-index/summary.md`, `course-index/patterns.md`, `course-index/coverage.md` if they exist. Arguments: $ARGUMENTS (First word: topic, § number, ...
Read INTERFACE_LANG from .course-meta (default en). All user-facing prose — chat output and narrative parts of the generated quiz MD — must be in that language. Keep in English regardless: file paths, slash command names, pattern IDs (P1, P2…), LaTeX, tier markers, and the per-problem footer template's keyword shape (a one-line italic citation of §<section> and P<k>).
Load skills/exam-drill/SKILL.md. Also load course-index/summary.md, course-index/patterns.md, course-index/coverage.md if they exist.
Arguments: $ARGUMENTS
(First word: topic, § number, or the literal weakmap. Second word if present: number of problems, default 5.)
Prerequisite: if course-index/ is empty, run /analyze first — problems generated without the index will be unfocused.
Procedure:
Weakmap mode. If the first arg is weakmap:
weakmap/weakmap_*.md (by mtime). If missing, tell the user to run /weakmap first and abort.quizzes/weakmap_<ts>.md (+ _answers.md). Cite which weakness entry each problem targets in the footer.Resolve topic. Map the argument to a specific set of sections and patterns via coverage.md and patterns.md. If ambiguous, ask the user to pick.
all. When the user passes all (broad diagnostic), weight section selection by HW density: draw ~70% of problems from 🔥🔥 Exam-primary sections, ~25% from 🔥 Exam-likely, ≤5% from 🟡, 0% from ⚪. Never sample ⚪ low-risk sections unless the user explicitly names them — the professor's HW already signaled what's off the exam. Filename stem override: diagnostic, not all — save to quizzes/diagnostic_<ts>.md (+ _answers.md) and print the upload name answers/diagnostic_<ts>.pdf, so /grade's diagnostic* resolution rule matches whatever the user's scanner names the file.Design the problem mix (N problems):
Save.
quizzes/<topic>_<ts>.mdquizzes/<topic>_<ts>_answers.md (do not display)Print to chat (in $INTERFACE_LANG):
answers/<topic>_<ts>.pdf, then /grade."Do NOT ask the user to type answers in chat. If they start typing an answer, remind them of the PDF-upload workflow.
## P<n> (<points if applicable>)
<problem statement, including any figures referenced>
<blank line for working>
---
*(setup: §<section>, tests pattern: P<k>)* ← at very bottom, small
If INTERFACE_LANG=ko, render the bottom italic footer in Korean (e.g., *(문제 설정: §<section>, 테스트 패턴: P<k>)*). The §<section> and P<k> tokens themselves stay unchanged either way.
The footer citation is for the user to self-reference after — during the test they ignore it.
npx claudepluginhub optimeta/paideia --plugin paideia/quizQuizzes you on a topic or learning plan module with adaptive difficulty, mixed question formats, one-at-a-time delivery, immediate feedback, results summary, and progress saving.
/quizAdministers interactive quizzes testing understanding of built project modules or topics from learning state. Generates 3-5 multiple-choice questions with feedback, scoring, and result tracking.
/quizQuizzes the user on concepts from their project and session history, using spaced repetition, static questions, or dynamic generation based on a quiz selector recommendation. Supports multiple-choice, free-response, and code-prediction formats.