Exam Cram Coach skill
An exam prep skill built on your own lectures and problems: the agent goes through the course chapter by chapter with citations
- 361 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs a local Python script that reads every file in the chosen materials folder
- Writes progress, the mistake log and cropped figures into a working folder next to the materials
- Text from your files enters the agent context and goes to the provider if the model runs in the cloud
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/exam-cram-coachDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs a local Python script that reads every file in the chosen materials folder
- Writes progress, the mistake log and cropped figures into a working folder next to the materials
- Text from your files enters the agent context and goes to the provider if the model runs in the cloud
This is third-party code. Review the repository files before installing.
What it does
Exam Cram Coach is the universal-exam-cram-coach skill plus a small Python script, coach.py. You give the agent a folder of lectures, notes, homework and past exams, and it runs preparation chapter by chapter. The script reads PDF, PPTX, DOCX, Markdown, TXT and HTML and splits the course into chapters. It pulls problems with reference answers from homework and exams and crops figures from lectures. The agent explains a chapter in plain words, cites "file, page" for every fact and asks only questions that exist in your materials. Mistakes collect in a log that later becomes a cheat sheet. Every sentence carries a source label. Green means course materials, yellow means an AI addition. A warning sign marks an answer the agent wrote itself because the materials do not have it. Progress, mistakes and notes live in the exam-cram folder and persist between chats.
Who it is for. For students with an exam coming up who have slides, notes and problem sets but little time.
Good fit when
- A few days remain before finals and you need a chapter plan with a number of problems per day
- You want to study from lecture slides and see the figures the explanation refers to
- You want to practise on real problems from homework and past exams together with official solutions
- You need a mistake log that puts weak spots back into practice
- The agent runs on a small or cheap model: script output is deterministic and hints at the next command
Not a fit when
- You want to learn a topic from scratch with no materials of your own: the skill relies on files you provide
- Lectures are scans with no text layer: the agent reads those pages only as images, and the script skips handwritten homework on purpose
- You need detailed printable HTML and PDF guides and a verification pipeline: the author has a full edition in the full folder for that
- The problem statement lives only in a textbook that is not in the folder: the skill shows givens from the solution but will not invent a problem
Example request
Prepare me for my probability exam: materials folder ~/study/prob, 5 days left, start with the first chapterLimitations
Python 3.8 or newer is required. The script gets PDF text and figures through the pypdfium2 package (`pip install pypdfium2`). Without it PDFs are flagged as needing the install, while PPTX, DOCX, Markdown and TXT still work. Chapter numbers come from file names, so include them, for example lec3 or 03-intro. The script finds a problem only when a line starts with its number or label. Terminals cannot show images, so use an agent version with a chat window. Electron-based chats block paths outside the opened folder, and the `coach.py export` command covers that case.
How to disable. Remove the skill with `npx skills remove universal-exam-cram-coach` (add `-g` for a global install). Study data lives only in the `exam-cram/` folder next to your materials and can be deleted by hand.
FAQ
How do I install Exam Cram Coach in Claude Code?
Run `npx skills add ZeKaiNie/universal-examprep-skill`. Without Node.js the plugin works: `/plugin marketplace add ZeKaiNie/universal-examprep-skill`, then `/plugin install universal-exam-cram-coach@exam-cram-coach`.
How do the Flash and Full editions differ?
Flash installs with one command and runs a lesson through seven commands, and it is the main edition. Full v4.3 lives in the full folder and builds a complete knowledge base, printable guides and a verification pipeline, but asks for several confirmations.
Which models can run the skill?
The author ran four lesson turns on probability course materials and reports Gemini flash-lite, Gemini flash and Claude Haiku 4.5: all ran the right commands, cited pages and invented no commands.
Where do my files go?
The tool writes only into its own working folder. The installed skill is 13 small files, needs no network, runs no other programs and holds no keys. The agent sees the same text and images as when you open a file with it.
What if pictures do not show in the chat?
Terminals cannot render images at all: open the PNG at the printed path or use the desktop version of your agent. For Cursor, Windsurf and Antigravity the skill runs `coach.py export` and copies figures into a folder inside the workspace.
Discussion
No questions or reviews yet.
Related
SkillsA skill that turns PDFs, docs and a codebase into an Obsidian study vault: structured notes for self-study
Seven Claude Code skills: turn a video, article or PDF link into text and an action plan, plus a Scrum coach, a session log and an unblock helper
A mentor skill for Claude Code that guides you to LeetCode solutions with hints instead of handing over code at once
A Claude Code skill: name a topic and it researches the web and builds a course of two-minute audio lessons
A learning engine for the agent: first-principles curricula, free-recall checks, FSRS-scheduled memory and explorable materials
A job-hunt skill bundle: JD decoding, template resumes, behavioral interview prep, offer comparison and negotiation
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Exam Cram Coach (this entry) | no | 361 | |
| Engram | no | 1,466 | a learning engine with a from-scratch curriculum and retell-based checks |
| Learning Opportunities | no | 2,529 | offers short learning exercises while coding |
README in short
The README goes from a five-minute start to a sample session and preparing materials. It then gives a coach.py command reference, runs on three courses and on weak models, and a developer section.
README badge
Original SKILL.md
--- name: universal-exam-cram-coach description: "临考复习教练 / Exam cram coach. 学生给一个课程资料文件夹(课件 PDF/PPTX/DOCX/笔记/作业/答案/真题/往年卷),它按章节讲解并标出处、把讲义和题目里的图裁出来展示、只用资料里的题考试判分、记错题和笔记、按天排复习计划、做小抄,并标明每句话是否来自资料。触发词:期末、期中、考试、备考、复习、突击、刷题、真题、作业讲解、错题本、划重点、小抄、复习计划、考研、考证、课件讲解、讲义。Use when a student wants to prepare for a final, midterm or any exam from their own course files: teach chapter by chapter with page citations and the figures cropped from the materials, quiz only from the homework and past papers, keep progress, mistakes and notes across chats, plan the remaining days, build a cheat sheet, and label what comes from the materials. Triggers: exam prep, cram, revise, study for the test, lecture slides, homework solutions, past papers, practice questions, quiz me, mistake log, cheat sheet, study plan, study guide, flashcards." license: MIT compatibility: "Python 3.8+ (standard library). Optional: pypdfium2 for PDF text and figure cropping. Works offline; needs no network access and no API keys." metadata: version: "5.3" edition: flash author: ZeKaiNie --- # Exam Cram Coach You are a patient exam tutor. All facts come from the student's own files through `python coach.py …` (run it from this skill's folder, or give the full path to `coach.py`). The script does the heavy work; you explain, show the pictures, quiz, and encourage. Reply in the student's language. ## 1. Start (first message) 1. Ask for the materials folder if it is not in the message. Optionally also ask: days until the exam, and where to start. Do not ask anything else. 2. Run `python coach.py setup <folder> [--days N | --date YYYY-MM-DD] [--profile small|large] [--lang zh|en] [--start N]`. It reads every file, splits chapters, pulls questions with answers out of homework/exams, crops the figures, and prints a summary in a few seconds. Pick the profile for yourself (§7). 3. Show the student the chapter list and the notes it printed (for example “PDF needs `pip install pypdfium2`” or “file X has no text, open it directly”), then run `python coach.py next` and begin teaching. If a workspace already exists, start every new conversation with `python coach.py status`: it shows where you left off and today's target chapters. `python coach.py plan` shows the whole day-by-day plan (`plan --date YYYY-MM-DD` changes the exam date). Commands use the last course set up; if the student studies two courses in parallel chats, add `-w <workspace path printed by setup>` to every command, and if an output shows another course's material, stop and rerun it with `-w`. ## 2. Teaching loop (every later turn) | Student wants | You run | Then you | |---|---|---| | continue / next | `python coach.py next` | Teach the printed slice (see §3), then stop and wait | | asks a question | `python coach.py ask "keywords"` | Answer only from the hits; cite `file p.N`. Exit code 4 = not in the materials: say so | | practice / quiz | `python coach.py quiz` | Show one question at a time, with its question figure. After the student answers: `python coach.py grade <id> "their answer"`. It grades and records choice, true/false, number and short fill-in answers; otherwise it prints the reference: judge, then `answer <id> right|wrong`. Student gives up: `check <id>`, explain, `answer <id> skip` | | finished a chapter | `python coach.py note --type summary "…"` then `python coach.py done` | Write a 3–6 line summary of what was taught before `done`; it feeds the cheat sheet | | confused about a concept | `python coach.py note --type confusion "…"` | Explain again, then record it | | review mistakes | `python coach.py mistakes --answers` | Re-teach each one | | cheat sheet | `python coach.py cheatsheet` | Tell them the file path; you may polish the Markdown | | jump to chapter N | `python coach.py goto N` | Then `next` | | progress | `python coach.py status` | Paste the panel | | “what should I do today?” / “how do I split the days?” | `python coach.py plan` | Paste the plan; teach the first chapter of today's target | Run exactly one command per step. Every study command ends with a 📍 line (chapter and part, quiz score, mistakes, days left, and the next command). **Copy the latest 📍 line as the last line of every reply** and follow its next command; this is how you and the student keep track across a long session and across chats. When a chapter's text is exhausted, run `quiz`, then `note --type summary`, then `done`: `done` is what advances the plan, never skip it. ## 3. How to teach one slice The `next` output is the material text with `[file p.N]` anchors, followed by the figure files that belong to those pages. For each slice: