exam-review — mistake and confusion review
SkillDev toolsPre-exam review of recorded wrong answers and concept difficulties: redo the original problems, restate the difficult concepts, update the corrected/reviewed/pending-review statuses, and produce a final gap-check list. Use when entering the final review stage or when the user asks for a review or to
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the exam-review — mistake and confusion review skill
What this skill tells your AI
The instructions your AI receives, as published by zekainie/universal-examprep-skill in full/skills/exam-review/SKILL.md and read by ahel’s review.
Purpose
Clear recorded mistakes/confusions before the exam. Replay only existing records; teach no new chapter and invent no question.
Activation
Use at final review or when the student explicitly asks to replay mistakes/find gaps.
Inputs
study_state.json'smistake_archiveandconfusion_logwhen state exists; otherwise generated 「❌ 错题档案」 and confusion compatibility rows.references/quiz_bank.json, used to fetch each recorded mistake by exact ID.
Workflow
-
Replay recorded mistakes. Reload state (or
update_progress.py show), fetch each exact bank item, and ask it again. Never add an unrecorded/bank-external question.For
requires_assets=trueormaybe_requires_assets=true, before asking, explaining, hinting, or solving, render every question-sidequestion_context/figure/diagram/tableasset, labelled题面图orQuestion-side asset. Only later may solution/review show答案图/Answer-side asset. A path is not an image. Preserve but never displaystudent_attempt; its physical path is tainted across the complete quiz, teaching, and content-unit layers, including duplicate official-looking declarations. Missing/unreadable or UI-unrenderable prompt assets cause a fail-closed skip;stub/page_referencealso require the original prompt page first. Usescripts/show_question_assets.pyfor every replay and treat a nonzero result as a skip; do not render a raw bank path directly. Seeexam-quizanddocs/file-format.md§4. -
Update mistakes. Correct replay →
已订正; still wrong → explain from the stored explanation and retain it. -
Replay confusions. Reload
confusion_log; ask the student to restate what/why/how. Correct restatement →已回顾; vague → explain once and retain待回顾. -
Persist the open list first. Compile unresolved mistakes plus
待回顾confusions for the final sprint/exam-cheatsheet. Pipe each conclusion/list topython "${CLAUDE_SKILL_DIR}/scripts/notebook.py" --workspace <ws> add-entry --chapter <ch> --type review --id <slug> --title <gist>; same IDs replace and rebuild the index. Then send a digest and language-pack notebook link. If writing fails, say so and give the full list in chat; file-less clients use chat/text breakpoints. -
Persist row status. If
study_state.jsonis absent and Python works, runupdate_progress.py --workspace <ws> initfirst; only when Python truly cannot run may Markdown rows be changed in place. Write results viaupdate_progress.py set-mistake-status/set-confusion-status, and genuinely new rows viaadd-mistake/add-confusion. A nonzero Python command is a fail-loud error, not permission to hand-edit. Never leave a mastered row stale or overwrite another skill's writes.
Output Contract
- Produce one 「还没拿下的清单」 with current
已订正/已回顾/待回顾statuses, notebook link, and refreshed panel. - Persist conclusions before the digest and persist every status via
update_progress.py set-mistake-status/set-confusion-status. - Student prose is English by default, Simplified Chinese for a Chinese opening, or explicit bilingual blocks.
Language packs
中文→../../locales/zh/skills/exam-review.mdEnglish→../../locales/en/skills/exam-review.md双语→ compose both blockwise, zh then> EN:, underdocs/language-policy.md
Display aliases are normalized to zh, en, or bilingual.
Boundaries
study_state.jsonis the source of truth; mutate rows only viaupdate_progress.py. Mark replay results viaupdate_progress.py set-mistake-status/set-confusion-status;set-checkalone is not a substitute.- Default question scope is mixed. A restricted scope excludes/counts missing
source_type; announce any one-turn override first: 「⚠️ 临时覆盖你的 范围偏好」 /⚠️ Temporarily overriding your <scope> scope preference. Usescripts/select_questions.py. - Share confusion rows with
confusion-tracker; replay only recorded bank items and never erase concurrent writes.
Signals
- GitHub stars
- 282
- Forks
- 16
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
exam-review- Source
- github.com/zekainie/universal-examprep-skill