/exam-cram
临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、 题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、 错题与考前复习;不用于长期规划或与考试无关的写作/编程。
$ npx -y skills add ZeKaiNie/universal-examprep-skill --skill exam-cram --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-cram
Context preview
The summary Claude sees to decide when to auto-load this skill.
临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、 题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、 错题与考前复习;不用于长期规划或与考试无关的写作/编程。
SKILL.md
exam-cram.SKILL.mdname: exam-cram
description: >
临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、
题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、
错题与考前复习;不用于长期规划或与考试无关的写作/编程。
license: MIT
metadata:
argument-hint: "[零基础从头讲|某章起步补弱|查缺补漏] (旧 normal|sprint|panic|mock 自动迁移)"
Exam Cram Coach
Purpose
Coordinate last-minute exam prep. Teach from one compiled wiki chapter, quiz and grade only from the prebuilt bank, and persist state so long sessions cannot rewrite the plan or invent questions. Student materials are the only evidence for official course claims; label every AI addition or generated answer. Route concrete work to the subskills listed below.
Activation
Activate for an approaching exam, cram plan, drills, mistake review, concept Q&A, or pre-exam handout. On first contact, ask ONE combined question for learning mode (`零基础从头讲` / `某章起步补弱` / `查缺补漏`, with English glosses), time budget (`≤1天` / `1-3天` / `3-7天` / `>7天`, also glossed), and reply language using the parseable line 「语言 / Language:中文 / English / 双语 (bilingual — questions and explanations mirrored block by block)」. Persist all three together. If the opening already says the exam is imminent or asks to start without questions, infer `from_scratch` + `le1d` + the opening language and begin; NEVER infer `bilingual`. `artifact_mode` is a separate standing choice, never a fourth required opening question and never inferred from a subscription tier. Legacy `normal|sprint|panic|mock` values are migration-only. Do not activate outside exam prep.
Startup processing choice
At the start, show the two material-processing choices once and recommend `lightweight`: `轻量按需(推荐) / lightweight on-demand (recommended)` versus `完整建库 / full knowledge-base build`. Persist the canonical choice as `study_state.json.processing_mode=lightweight|full`. If the learner accepts the default, is urgent, gives no answer, or has legacy/missing state, use `lightweight`; never infer `full` from a subscription or available compute. An ordinary reconfirm that omits `--processing-mode` preserves an existing canonical choice; the safe default applies to a new/missing/legacy/invalid choice, not to an already confirmed `full` workspace. Keep this choice independent from `artifact_mode=chat|visual`.
`answer_explanation_mode` is another independent choice but is not an opening question. Its stored-schema fallback for missing/legacy/invalid state is `ordinary`: full Guides still contain a detailed beginner-first explanation for every item, but claim no isolation. At full-v2 Guide entry, run a native-child capability handshake. If the host can prove one fresh independent child context per item and can restrict that child's task input and tools to the exact request, default to `isolated` unless the learner opted out. Persist the mode, tell the learner once that it consumes extra host model quota/time, and require no separate API key or external-upload consent. If any part is missing, inherited, or unverified, stay `ordinary` and say why. A separately billed external Provider is an explicit-request fallback only; it retains no-upload exact planning, current pricing/privacy disclosure, and exact-plan upload consent. A model name, subscription, key, `full`, or `visual` alone proves neither native isolation nor permission to upload.
Teaching cadence is another optional, independent preference, not an opening question. `preferences.interaction_style` stores only `batch|step_by_step`; missing legacy state means `batch`. A stored `step_by_step` choice is effective only when `processing_mode=full` and `no_questions=false`; lightweight or no-questions keeps the preference but reports it dormant and uses effective `batch`. Effective step mode reads the next teaching item in manifest order from one workspace-locked snapshot and records a marker-bound notebook/manifest hash binding. Existing unbound teaching IDs remain legal batch history, but every bound ID stays subject to live validation after any cadence change. Guide publication preserves valid bound blocks and rejects stale bindings or unbound markers; every retained teaching baseline ID must still have a current teaching-manifest snapshot, never only a quiz copy.
Teaching IDs use the existing typed Guide-safe Unicode contract (1–200 characters, without whitespace, controls/replacement character, or ``[]#|`/\``). A structurally sound append-only roster expansion or live-binding revision drift reopens an old completed phase as `usable_with_gaps`; structural damage remains blocked, and the Guide/completion receipt must be rebuilt after the pending item is recorded.
Inputs
- Confirmed, separate materials and workspace paths.
- `study_state.json` (progress truth), generated `study_progress.md`, and `study_plan.md`.
- One current `references/wiki/chN_*.md` plus selected items from `references/quiz_bank.json`; never preload either collection.
- `.ingest/` structured build/review truth, when present.
Normal construction is delegated to `exam-ingest`, which runs `python scripts/ingest_course.py --materials <dir> --workspace <ws> --json`. `ingest.py` is only the lower-level compiler for an existing payload; never ask the student to author JSON.
`processing_mode=lightweight` uses the original materials directly and does not require `.ingest/`, compiled wiki/bank files, or a typed Study Guide. It keeps learning truth in `study_state.json` and page-batch truth in `.lightweight/session.json`. `processing_mode=full` delegates construction to `exam-ingest` as before.
Workflow
Run these gates before routing any learning action:
1. **Confirm the exact workspace.** Run `python "${CLAUDE_SKILL_DIR}/scripts/update_progress.py" workspace-list --json`. An empty registry requires materials path, separate target path, the three learning choices, and an optional 30-second tour. A nonempty registry requires choosing the exact saved course/path and filling missing choices. Never silently use the repository or cwd. After confirmati
Read more
name: exam-cram description: > 临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、 题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、 错题与考前复习;不用于长期规划或与考试无关的写作/编程。 license: MIT metadata: argument-hint: "[零基础从头讲|某章起步补弱|查缺补漏] (旧 normal|sprint|panic|mock 自动迁移)"
Exam Cram Coach
Purpose
Coordinate last-minute exam prep. Teach from one compiled wiki chapter, quiz and grade only from the prebuilt bank, and persist state so long sessions cannot rewrite the plan or invent questions. Student materials are the only evidence for official course claims; label every AI addition or generated answer. Route concrete work to the subskills listed below.
Activation
Activate for an approaching exam, cram plan, drills, mistake review, concept Q&A, or pre-exam handout. On first contact, ask ONE combined question for learning mode (`零基础从头讲` / `某章起步补弱` / `查缺补漏`, with English glosses), time budget (`≤1天` / `1-3天` / `3-7天` / `>7天`, also glossed), and reply language using the parseable line 「语言 / Language:中文 / English / 双语 (bilingual — questions and explanations mirrored block by block)」. Persist all three together. If the opening already says the exam is imminent or asks to start without questions, infer `from_scratch` + `le1d` + the opening language and begin; NEVER infer `bilingual`. `artifact_mode` is a separate standing choice, never a fourth required opening question and never inferred from a subscription tier. Legacy `normal|sprint|panic|mock` values are migration-only. Do not activate outside exam prep.
Startup processing choice
At the start, show the two material-processing choices once and recommend `lightweight`: `轻量按需(推荐) / lightweight on-demand (recommended)` versus `完整建库 / full knowledge-base build`. Persist the canonical choice as `study_state.json.processing_mode=lightweight|full`. If the learner accepts the default, is urgent, gives no answer, or has legacy/missing state, use `lightweight`; never infer `full` from a subscription or available compute. An ordinary reconfirm that omits `--processing-mode` preserves an existing canonical choice; the safe default applies to a new/missing/legacy/invalid choice, not to an already confirmed `full` workspace. Keep this choice independent from `artifact_mode=chat|visual`.
`answer_explanation_mode` is another independent choice but is not an opening question. Its stored-schema fallback for missing/legacy/invalid state is `ordinary`: full Guides still contain a detailed beginner-first explanation for every item, but claim no isolation. At full-v2 Guide entry, run a native-child capability handshake. If the host can prove one fresh independent child context per item and can restrict that child's task input and tools to the exact request, default to `isolated` unless the learner opted out. Persist the mode, tell the learner once that it consumes extra host model quota/time, and require no separate API key or external-upload consent. If any part is missing, inherited, or unverified, stay `ordinary` and say why. A separately billed external Provider is an explicit-request fallback only; it retains no-upload exact planning, current pricing/privacy disclosure, and exact-plan upload consent. A model name, subscription, key, `full`, or `visual` alone proves neither native isolation nor permission to upload.
Teaching cadence is another optional, independent preference, not an opening question. `preferences.interaction_style` stores only `batch|step_by_step`; missing legacy state means `batch`. A stored `step_by_step` choice is effective only when `processing_mode=full` and `no_questions=false`; lightweight or no-questions keeps the preference but reports it dormant and uses effective `batch`. Effective step mode reads the next teaching item in manifest order from one workspace-locked snapshot and records a marker-bound notebook/manifest hash binding. Existing unbound teaching IDs remain legal batch history, but every bound ID stays subject to live validation after any cadence change. Guide publication preserves valid bound blocks and rejects stale bindings or unbound markers; every retained teaching baseline ID must still have a current teaching-manifest snapshot, never only a quiz copy.
Teaching IDs use the existing typed Guide-safe Unicode contract (1–200 characters, without whitespace, controls/replacement character, or ``[]#|`/\``). A structurally sound append-only roster expansion or live-binding revision drift reopens an old completed phase as `usable_with_gaps`; structural damage remains blocked, and the Guide/completion receipt must be rebuilt after the pending item is recorded.
Inputs
- Confirmed, separate materials and workspace paths.
- `study_state.json` (progress truth), generated `study_progress.md`, and `study_plan.md`.
- One current `references/wiki/chN_*.md` plus selected items from `references/quiz_bank.json`; never preload either collection.
- `.ingest/` structured build/review truth, when present.
Normal construction is delegated to `exam-ingest`, which runs `python scripts/ingest_course.py --materials <dir> --workspace <ws> --json`. `ingest.py` is only the lower-level compiler for an existing payload; never ask the student to author JSON.
`processing_mode=lightweight` uses the original materials directly and does not require `.ingest/`, compiled wiki/bank files, or a typed Study Guide. It keeps learning truth in `study_state.json` and page-batch truth in `.lightweight/session.json`. `processing_mode=full` delegates construction to `exam-ingest` as before.
Workflow
Run these gates before routing any learning action:
1. **Confirm the exact workspace.** Run `python "${CLAUDE_SKILL_DIR}/scripts/update_progress.py" workspace-list --json`. An empty registry requires materials path, separate target path, the three learning choices, and an optional 30-second tour. A nonempty registry requires choosing the exact saved course/path and filling missing choices. Never silently use the repository or cwd. After confirmati
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-help
备考教练的一屏速查卡:工作流、3×4 学习选择、产物偏好、工作区文件、6 大题型、来源规则与子技能路由。 用户问怎么用、有哪些模式、文件用途或支持题型时使用。
Open skill - /exam-ingest
从学生上传的课件/大纲/老师勾的重点/真题,一键初始化并验证备考工作区:解析 PDF、DOCX、PPTX、 XLSX、常见独立图片与 txt/md,建立分章节 LLM Wiki、标准题库、结构化接管队列与进度状态;仅在 Python 确实无法运行时 明确降级为手动写盘。当工作区尚未建立、资料发生变化、或建库 readiness 被阻断时使用。
Open skill - /exam-quiz
从 references/quiz_bank.json 抽取本章题目并按标准答案判分,支持选择、主观、画图、填空、判断、代码; 主观题按 keywords 要点覆盖判分,连续错两次提供提示/跳过/归档。禁止现场编题。用于阶段检查或模考。
Open skill

