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
$ npx -y skills add ZeKaiNie/universal-examprep-skill --agent claude-code
What's inside
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 questions, tracks mistakes, and builds your cheat sheet.
English · 中文
# One-command install (Claude Code, Cursor, Codex, Antigravity, Windsurf, etc.)
npx skills add zekainie/universal-examprep-skill
One command to set up · Teaches from your files · Shows the figures · Quizzes from your homework · Never hides what it made up
Exam Cram Coach is an Agent Skill plus one small Python tool. You give a coding agent (Claude Code, Codex, Cursor, Windsurf, Antigravity, Gemini CLI, …) the folder with your lecture slides, notes, homework and past papers. It is engineered with three core technical differentiators:
file p.N references; out-of-scope queries exit with non-zero status to strictly prevent fabrication (100% out-of-scope abstention); transparent 🟢/🟡/⚠️ provenance tags distinguish materials from AI commentary.study_state.json and a mistake log without external vector databases or token bloat. Close your chat and resume anytime with coach.py status; mistakes are prioritized in spaced re-quizzing.📍 next command hints and automated vector-figure cropping (pypdfium2). Benchmarked on 1,000+ pages of real college probability notes: Gemini Flash-Lite and Claude Haiku achieve zero command fabrication, zero phantom citations, and publication-grade figure presentations (see Weak Model Benchmark).Core workflow:
hw2.pdf with hw2solutions.pdf, and “Problem 1.3.10” with its solution);| Label | Meaning |
|---|---|
| 🟢 From your materials | traceable to a file and page |
| 🟡 AI supplement | background the agent added; may differ from what your teacher taught |
| ⚠️ AI-generated answer | the materials contain no answer; this one is the agent's own |
| Flash (this folder, recommended) | Full (v4.3, in full/) | |
|---|---|---|
| For | anyone with an exam coming up; small or local models | readers who want the complete knowledge-base build, printable HTML/PDF study guides and the verification pipeline |
| Setup | one command, seconds | several confirmation steps, the agent renders pages itself |
| README | this page · 中文 | full/README.md · full/README.zh.md |
| Install | exam-cram-coach-flash.zip from the latest release | universal-exam-cram-coach.zip from the v4.3 release, or copy full/ |
The rest of this page is about Flash: setup takes seconds even for a whole course, the whole skill is about 1,100 words, the study loop is seven commands, and it works with small models (tested with Gemini flash-lite and Claude Haiku). A feature-by-feature comparison is in Flash vs. the full edition.
exam-cram/ folderpython --version. On Windows, install it from python.org and tick Add python.exe to PATH.pip install pypdfium2. It gives PDF text extraction and figure cropping. Without it, PDFs are listed as “needs pypdfium2” and everything else (PPTX, DOCX, Markdown, TXT) still works.Easiest: let the agent do it. Copy this to your agent; it may ask you to approve network access or writing to its skills folder:
Install the Exam Cram Coach skill: download exam-cram-coach-flash.zip from the latest release at https://github.com/ZeKaiNie/universal-examprep-skill/releases/latest (or git clone the repository) and put it in your user-level skills directory so that SKILL.md and coach.py end up in a folder named exam-cram-coach. Back up any older copy first. Then run `pip install pypdfium2` and `python <that folder>/coach.py doctor`, and report the install path and the doctor output.
Per-host versions:
Install or update https://github.com/ZeKaiNie/universal-examprep-skill into ~/.claude/skills/exam-cram-coach (SKILL.md and coach.py must be directly inside that folder). Ask before overwriting an existing copy. Then run `pip install pypdfium2` and `python ~/.claude/skills/exam-cram-coach/coach.py doctor` and show me the result.
Install the latest Exam Cram Coach skill from https://github.com/ZeKaiNie/universal-examprep-skill into my Codex skills directory as exam-cram-coach (SKILL.md and coach.py directly inside). Back up any older copy. Run `pip install pypdfium2`, then `python <install path>/coach.py doctor`, report the path and the output, and tell me whether I need a new task for the skill to appear.
Fetch https://github.com/ZeKaiNie/universal-examprep-skill and install it as exam-cram-coach in my Cursor user skills directory (~/.cursor/skills/ or ~/.agents/skills/), SKILL.md and coach.py directly inside. Back up an older copy, run `pip install pypdfium2`, confirm Cursor discovers SKILL.md, and report the path.
Fetch https://github.com/ZeKaiNie/universal-examprep-skill and install it in ~/.codeium/windsurf/skills/exam-cram-coach. Ask before downloading or replacing files. Run `pip install pypdfium2`, confirm Cascade discovers SKILL.md, and report the path.
Fetch https://github.com/ZeKaiNie/universal-examprep-skill and install it in ~/.gemini/antigravity/skills/exam-cram-coach (SKILL.md and coach.py directly inside). Ask before writing outside the workspace. Run `pip install pypdfium2`, rescan skills, and report the path and `python <path>/coach.py doctor`.
gemini skills install https://github.com/ZeKaiNie/universal-examprep-skill.git
pip install pypdfium2
Manual install. Download exam-cram-coach-flash.zip and unzip it into your agent's skills folder. You should end up with …/skills/exam-cram-coach/SKILL.md and …/skills/exam-cram-coach/coach.py. Then open a terminal and run pip install pypdfium2.
To check the install from any terminal:
python path/to/exam-cram-coach/coach.py doctor
It prints the version, whether PDF support is available, and the last workspace used.
Anything goes in one folder (sub-folders are fine): slides, lecture notes, textbook chapters, homework, solutions, quizzes, past exams. See Preparing your materials for naming tips that make chapters and answers line up automatically. Your own scanned homework can stay in the folder: it is detected and never shown as an answer.
Use the Exam Cram Coach skill. My materials are in D:\Courses\Probability. The exam is in 3 days, I am starting from zero, teach me in English from chapter 1.
The agent will run one command (coach.py setup), which takes a few seconds even for a thousand pages, and reply with the chapter list, the number of questions it found, and any warning such as “3 PDFs need pip install pypdfium2” or “file X has no text, I will open it directly”. Then it starts teaching chapter 1.
| You say | What happens |
|---|---|
| “next” / “continue” | the next slice of the chapter, explained in plain words, with [lec2.pdf p.3] sources and the figures from those pages |
| “what is …?” / “why …?” | it searches your materials and answers only from the matching passages; if nothing matches it says so |
| “quiz me” | a homework or exam question (with its printed figure), graded against the reference answer; wrong ones go to your mistake list |
| “I'm done with this chapter” | the chapter is marked verified (you answered a material question right) or covered, and it moves on |
| “show me my mistakes” / “make a cheat sheet” | re-teaches open mistakes; writes cheatsheet.md from your chapter summaries, confusions and mistakes |
| “what should I do today?” | coach.py plan splits the remaining chapters over the days left (the last day is kept for mistakes and the cheat sheet) |
| new chat, days later | say “continue my exam prep” and it resumes exactly where you stopped |
Every reply ends with a 📍 progress line (chapter and part, quiz score, mistakes, days left, next step) copied from the tool, so a long session never loses its place.
This is what a student saw in a real session on a probability course (Gemini flash-lite, translated from Chinese). Where the transcript shows  the chat displayed a figure that setup had cut out of the lecture PDF:
Chapter 1: Set Theory
🟢 A set is a collection of things. Capital letters name sets (A), small letters name elements (x). x ∈ A means x is an element of A, x ∉ A means it is not. (ch01.pdf p.3)
FAQ
universal-examprep-skill is a Claude Code plugin with 10 hand-picked skills for content work, indexed on Flowy. Install it with the command on its page. It includes confusion-tracker, exam-audit, exam-cheatsheet. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it