Skip to content
Content
Skill

/exam-tutor

按章节惰性加载授课:每次只读当前阶段的一个 wiki 章节,用生活隐喻讲概念、解剖公式;重点题固定走 题面图→问题→读图量→公式→演算→答案详解→溯源七步,画图题先运行算法。用于讲懂当前章或老师勾出的重点题。

From plugin
universal-examprep-skill
36411 skills

Claude Code

$ npx -y skills add ZeKaiNie/universal-examprep-skill --skill exam-tutor --agent claude-code

SKILL.md

exam-tutor.SKILL.md
name: exam-tutor
description: >
  按章节惰性加载授课:每次只读当前阶段的一个 wiki 章节,用生活隐喻讲概念、解剖公式;重点题固定走
  题面图→问题→读图量→公式→演算→答案详解→溯源七步,画图题先运行算法。用于讲懂当前章或老师勾出的重点题。
license: MIT

exam-tutor — chapter teaching

Purpose

Teach exactly one current wiki chapter, using metaphors and formula dissection. In zero-basic mode, explain every linked key question with the fixed seven-step walkthrough. Run algorithms before rendering diagrams. This skill teaches; `exam-quiz` alone quizzes and scores.

Activation

Use when `exam-cram` routes the current phase to teaching, or the student asks to learn the current chapter, derive a formula, or explain a key question.

Inputs

  • In `processing_mode=lightweight`: one schema-3 visually accepted current-page batch

from `.lightweight/session.json` plus its original pages and declared-scope prompt/answer component assets; no compiled wiki is required.

  • `references/wiki/chN_*.md`: the one current chapter; never read the whole wiki.
  • `references/teaching_examples.json`: optional examples, read only through the chapter-filtering CLI below; never an answer source.
  • `study_state.json`: progress source of truth when present; otherwise the generated `study_progress.md` compatibility view.

Workflow

1. **Load one slice.** Read `study_state.json.processing_mode` first. In `lightweight`, call `lightweight_session.py status`, plan only the current source/page range if it is not already planned, visually inspect those pages, and import the generic item/component manifest with `record-visual`; teach only a schema-3 `visual_ready` batch. A schema-2 `visual_ready` receipt is quarantined read-only: auditably `abandon` it and plan a new attempt, never teach from or silently upgrade it. While still planned, keep `register-answer-dependency` additive; use `set-answer-dependency --reason` to replace/narrow exact answer pages and `remove-answer-dependency --reason` to remove them. Do not call ingestion/OCR, preload later pages, or require a wiki. In `full`, read exactly one current `references/wiki/chN_*.md`. A missing full-mode file means abstain, name it, and never improvise. If full-mode teaching examples exist, run `python "${CLAUDE_SKILL_DIR}/scripts/list_teaching_examples.py" --workspace <ws> --chapter <N> --json` and use only its returned slice. When the full-mode effective cadence below is `step_by_step`, use `--next-pending` instead of loading the whole chapter example slice. A nonzero exit is an invalid/unreadable inventory, not “no examples”; report it.

2. **Teach reproducibly.** Give each concept one concrete metaphor. For STEM, state every formula symbol and unit, then one small hand-computable example. Persist math as `$...$` or `$$...$$`; never leave raw `\frac`, `\sum`, or other TeX as the final reading view.

3. **Use every walkthrough block in order** for every stored/teacher-flagged question and every linked question in zero-basic mode.

**Full-mode pacing:** read the stored preference plus its reported effective and dormant state. `study_state.json.preferences.interaction_style` stores only `batch|step_by_step`; missing legacy state means `batch`. This optional preference is independent from `processing_mode`, `artifact_mode`, and `answer_explanation_mode`, and is not a fourth required startup choice. Persist an explicit change only with `update_progress.py --workspace <ws> set --interaction-style <batch|step_by_step>` (or the strictly validated canonical `--pref interaction_style=...`). It never changes the lightweight page-batch route.

This option applies only to full-mode `teaching_examples.json` items. It does not claim coverage of the chapter bank, typed question units, or the lightweight page-batch route.

  • Effective `batch`: use the normal full-mode flow. A true

`preferences.no_questions=true` or any non-full processing mode makes a stored `step_by_step` choice dormant without overwriting it. A stored `batch` choice remains ordinary batch cadence.

  • Effective `step_by_step`: call `list_teaching_examples.py --workspace <ws>

--chapter <N> --next-pending --json`. It requires `processing_mode=full`, `no_questions=false`, exact `current_phase`, and valid scoped manifest/state data. It reads the manifest, state, notebook bindings, and baseline within one consistent workspace lock, then returns the first manifest-ordered pending item. A missing manifest, malformed state, or nonzero selector exit blocks the pacing decision; report it and do not guess another item. Two bindings may not share one `notebook_ref`. Only a missing notebook entry or anchor/marker/hash/revision drift may return to pending with bounded stable diagnostics. Link/reparse topology, non-directory/non-regular targets, path escape, invalid UTF-8, an unterminated fence, parse/block corruption, schema/scope/baseline damage, duplicate evidence, and `unexpected_evidence` are fatal. Unbound IDs already present in `phase_evidence[N].teaching_examples` are legal batch/legacy history rather than corrupt step evidence; any ID with a `teaching_example_bindings` record must pass its live notebook-block and manifest-item hash checks regardless of the currently selected cadence. Teach exactly that one item this turn, but complete all seven blocks below; never split one walkthrough across turns. Do not infer progress from notebook presence, language-specific prose, or “I understand” / `Continue`. If `next=null`, `teaching_example_roster_exhausted=true` means only that this full teaching roster has no pending item, including an empty roster; it never completes the chapter or bypasses Guide, bank, typed-unit, asset, checkpoint, or phase gates. A structurally sound current roster with either a stale manifest/notebook binding or an append-only newly added item is a named `usable_with_gaps`

Read more
@zekainie
Ships withuniversal-examprep-skill

An AI exam-prep tutor for Claude Code, Codex, Cursor, Windsurf, Antigravity and Gemini CLI: drop in your lecture slides, notes, homework and past papers, and it teaches chapter by chapter with page citations, shows the figures, quizzes you with your own

Stars on GitHub

Momentum

stars in total
364
Star history of ZeKaiNie/universal-examprep-skill on GitHub, a chart by star-history.com

Other skills on universal-examprep-skill.

confusion-tracker

confusion-tracker

教学过程中自动捕获和记录学习者的概念疑难点("为什么/是什么/怎么推/什么意思"类型的问题),保存到进度文件的"概念疑难点记录"区,形成考前回顾清单。

exam-audit

exam-audit

只读检查一个已生成的备考工作区是否健康并报告问题,默认不做任何修改。核对 .ingest 原材料版本、 内容单元、接管队列与派生产物完整性,以及 wiki、题库、视觉证据、计划和进度的一致性。当用户怀疑 工作区有问题、建库 readiness…

exam-cheatsheet

exam-cheatsheet

全员通关后把 错题本+笔记本+知识点窗口+wiki 编译成考前速记小抄 cheatsheet.md(每条要点带可溯源 锚点),并在视觉产物模式或用户明确要求 PDF/打印版时按指定页数渲染成打印级 PDF:按「必背结论/公式 →…

exam-cram

exam-cram

临考前的极速备考总教练。把课件、大纲、重点与真题建成分章 wiki 和标准题库,再组织惰性授课、 题库判分、错题与疑难复盘及可选考前小抄,并持久化进度。用于期末、备考、突击、刷题、划重点、 错题与考前复习;不用于长期规划或与考试无关的写作/编程。

exam-help

exam-help

备考教练的一屏速查卡:工作流、3×4 学习选择、产物偏好、工作区文件、6 大题型、来源规则与子技能路由。 用户问怎么用、有哪些模式、文件用途或支持题型时使用。

exam-ingest

exam-ingest

从学生上传的课件/大纲/老师勾的重点/真题,一键初始化并验证备考工作区:解析 PDF、DOCX、PPTX、 XLSX、常见独立图片与 txt/md,建立分章节 LLM Wiki、标准题库、结构化接管队列与进度状态;仅在 Python 确实无法运行时…

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli12d33k
@iofficeai@iofficeaiInstall Skill

Questions about exam-tutor.

Which coding agents can use exam-tutor?
exam-tutor installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.