/exam-review
考前复盘已记录错题与概念疑难:重做原题、复述疑难、更新已订正/已回顾/待回顾状态,并形成最后扫雷清单。 进入最终复习阶段或用户要求复盘、查漏补缺时使用。
$ npx -y skills add ZeKaiNie/universal-examprep-skill --skill exam-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/exam-review
Context preview
The summary Claude sees to decide when to auto-load this skill.
考前复盘已记录错题与概念疑难:重做原题、复述疑难、更新已订正/已回顾/待回顾状态,并形成最后扫雷清单。 进入最终复习阶段或用户要求复盘、查漏补缺时使用。
SKILL.md
exam-review.SKILL.mdname: exam-review
description: >
考前复盘已记录错题与概念疑难:重做原题、复述疑难、更新已订正/已回顾/待回顾状态,并形成最后扫雷清单。
进入最终复习阶段或用户要求复盘、查漏补缺时使用。
license: MIT
exam-review — mistake and confusion 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`'s `mistake_archive` and `confusion_log` when state exists; otherwise generated 「❌ 错题档案」 and confusion compatibility rows.
- `references/quiz_bank.json`, used to fetch each recorded mistake by exact ID.
Workflow
1. **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=true` or `maybe_requires_assets=true`, before asking, explaining, hinting, or solving, render every question-side `question_context` / `figure` / `diagram` / `table` asset, labelled `题面图` or `Question-side asset`. Only later may solution/review show `答案图` / `Answer-side asset`. A path is not an image. Preserve but never display `student_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_reference` also require the original prompt page first. Use `scripts/show_question_assets.py` for every replay and treat a nonzero result as a skip; do not render a raw bank path directly. See [`exam-quiz`](../exam-quiz/SKILL.md) and [`docs/file-format.md`](../../docs/file-format.md) §4.
2. **Update mistakes.** Correct replay → `已订正`; still wrong → explain from the stored explanation and retain it.
3. **Replay confusions.** Reload `confusion_log`; ask the student to restate what/why/how. Correct restatement → `已回顾`; vague → explain once and retain `待回顾`.
4. **Persist the open list first.** Compile unresolved mistakes plus `待回顾` confusions for the final sprint/`exam-cheatsheet`. Pipe each conclusion/list to `python "${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.
5. **Persist row status.** If `study_state.json` is absent and Python works, run `update_progress.py --workspace <ws> init` first; only when Python truly cannot run may Markdown rows be changed in place. Write results via `update_progress.py set-mistake-status` / `set-confusion-status`, and genuinely new rows via `add-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.md`](../../locales/zh/skills/exam-review.md)
- `English` → [`../../locales/en/skills/exam-review.md`](../../locales/en/skills/exam-review.md)
- `双语` → compose both blockwise, zh then `> EN:`, under [`docs/language-policy.md`](../../docs/language-policy.md)
Display aliases are normalized to `zh`, `en`, or `bilingual`.
Boundaries
- `study_state.json` is the source of truth; mutate rows only via `update_progress.py`. Mark replay results via `update_progress.py set-mistake-status` / `set-confusion-status`; `set-check` alone is not a substitute.
- Default question scope is mixed. A restricted scope excludes/counts missing `source_type`; announce any one-turn override first: 「⚠️ 临时覆盖你的 <scope> 范围偏好」 / `⚠️ Temporarily overriding your <scope> scope preference`. Use `scripts/select_questions.py`.
- Share confusion rows with `confusion-tracker`; replay only recorded bank items and never erase concurrent writes.
Read more
name: exam-review description: > 考前复盘已记录错题与概念疑难:重做原题、复述疑难、更新已订正/已回顾/待回顾状态,并形成最后扫雷清单。 进入最终复习阶段或用户要求复盘、查漏补缺时使用。 license: MIT
exam-review — mistake and confusion 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`'s `mistake_archive` and `confusion_log` when state exists; otherwise generated 「❌ 错题档案」 and confusion compatibility rows.
- `references/quiz_bank.json`, used to fetch each recorded mistake by exact ID.
Workflow
1. **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=true` or `maybe_requires_assets=true`, before asking, explaining, hinting, or solving, render every question-side `question_context` / `figure` / `diagram` / `table` asset, labelled `题面图` or `Question-side asset`. Only later may solution/review show `答案图` / `Answer-side asset`. A path is not an image. Preserve but never display `student_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_reference` also require the original prompt page first. Use `scripts/show_question_assets.py` for every replay and treat a nonzero result as a skip; do not render a raw bank path directly. See [`exam-quiz`](../exam-quiz/SKILL.md) and [`docs/file-format.md`](../../docs/file-format.md) §4.
2. **Update mistakes.** Correct replay → `已订正`; still wrong → explain from the stored explanation and retain it.
3. **Replay confusions.** Reload `confusion_log`; ask the student to restate what/why/how. Correct restatement → `已回顾`; vague → explain once and retain `待回顾`.
4. **Persist the open list first.** Compile unresolved mistakes plus `待回顾` confusions for the final sprint/`exam-cheatsheet`. Pipe each conclusion/list to `python "${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.
5. **Persist row status.** If `study_state.json` is absent and Python works, run `update_progress.py --workspace <ws> init` first; only when Python truly cannot run may Markdown rows be changed in place. Write results via `update_progress.py set-mistake-status` / `set-confusion-status`, and genuinely new rows via `add-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.md`](../../locales/zh/skills/exam-review.md)
- `English` → [`../../locales/en/skills/exam-review.md`](../../locales/en/skills/exam-review.md)
- `双语` → compose both blockwise, zh then `> EN:`, under [`docs/language-policy.md`](../../docs/language-policy.md)
Display aliases are normalized to `zh`, `en`, or `bilingual`.
Boundaries
- `study_state.json` is the source of truth; mutate rows only via `update_progress.py`. Mark replay results via `update_progress.py set-mistake-status` / `set-confusion-status`; `set-check` alone is not a substitute.
- Default question scope is mixed. A restricted scope excludes/counts missing `source_type`; announce any one-turn override first: 「⚠️ 临时覆盖你的 <scope> 范围偏好」 / `⚠️ Temporarily overriding your <scope> scope preference`. Use `scripts/select_questions.py`.
- Share confusion rows with `confusion-tracker`; replay only recorded bank items and never erase concurrent writes.
Turn your slides, homework, and past papers into a source-aware tutor that remembers your progress.
Other skills on universal-examprep-skill.
- /confusion-tracker
教学过程中自动捕获和记录学习者的概念疑难点("为什么/是什么/怎么推/什么意思"类型的问题),保存到进度文件的"概念疑难点记录"区,形成考前回顾清单。
Open skill - /exam-audit
只读检查一个已生成的备考工作区是否健康并报告问题,默认不做任何修改。核对 .ingest 原材料版本、 内容单元、接管队列与派生产物完整性,以及 wiki、题库、视觉证据、计划和进度的一致性。当用户怀疑 工作区有问题、建库 readiness 被阻断、或想在开始复习前体检时使用。
Open skill - /exam-cheatsheet
全员通关后把 错题本+笔记本+知识点窗口+wiki 编译成考前速记小抄 cheatsheet.md(每条要点带可溯源 锚点),并在视觉产物模式或用户明确要求 PDF/打印版时按指定页数渲染成打印级 PDF:按「必背结论/公式 → 有难度例题(必要时含题面图)→ 例题解答(代入公式、保留基础过程)→ 要点解释(同类题怎么办)」 四段组织。当复习收尾、用户要「考前小抄/速记/总结/打印版」时使用。
Open skill - /exam-cram
临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、 题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、 错题与考前复习;不用于长期规划或与考试无关的写作/编程。
Open skill - /exam-help
备考教练的一屏速查卡:工作流、3×4 学习选择、产物偏好、工作区文件、6 大题型、来源规则与子技能路由。 用户问怎么用、有哪些模式、文件用途或支持题型时使用。
Open skill - /exam-ingest
从学生上传的课件/大纲/老师勾的重点/真题,一键初始化并验证备考工作区:解析 PDF、DOCX、PPTX、 XLSX、常见独立图片与 txt/md,建立分章节 LLM Wiki、标准题库、结构化接管队列与进度状态;仅在 Python 确实无法运行时 明确降级为手动写盘。当工作区尚未建立、资料发生变化、或建库 readiness 被阻断时使用。
Open skill

