Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exam-prep

Turn your NotebookLM notebooks into a personal exam tutor. Works with any AI agent. Works for any subject.

exam-prep is a self-contained AI skill that:

  1. Pulls your study material from a Google NotebookLM notebook
  2. Generates a tailored study pack (notes, key terms, stats, examples)
  3. Generates a practice quiz in active-recall format
  4. Generates an essay framework (PEEL, CER, custom — whatever your teacher uses)
  5. Drills you live with progressive difficulty and structured feedback

All logic lives in a single SKILL.md — no separate scripts. Any AI agent that can run bash commands can use it.

Built on top of the notebooklm-skill.


Install

Claude Code (recommended)

One line — clones this repo into ~/.claude/skills/exam-prep/, sets up Python deps, installs Chromium, and walks you through Google login:

curl -fsSL https://raw.githubusercontent.com/EdmundLimBoEn/exam-prep-skill/main/install.sh | bash

Then restart Claude Code.

Any other AI agent (Cursor, Aider, OpenCode, etc.)

Drop SKILL.md into your agent's context — paste it into a system prompt, an AGENTS.md, or however your tool loads custom instructions. The file is self-contained: Phase 0 walks the agent through setup (Python check, cloning notebooklm-skill, bootstrapping the venv, Google auth). No separate install script needed.


Usage

Once set up, just talk to your AI like you'd talk to a tutor:

You: I have a science test on Friday — 60 marks, 1.5 hrs, MCQs + structured + 1 essay.
     Topics: cells, photosynthesis, respiration. Notebook: https://notebooklm.google.com/notebook/abc-123

AI:  [asks 8 quick intake questions about format, frameworks, skills tested, etc.]
     [pulls content from your notebook — 2-3 NotebookLM queries]
     [writes ~/Documents/Science/STUDY-PACK.md, QUIZ.md, SKILLS.md, ESSAY.md]
     [asks: "Want me to drill you live? ~15 min."]

After the first run, come back and say:

You: Quiz me on my science test.

AI:  [reads ~/Documents/Science/STUDY-PACK.md frontmatter to recover context]
     [starts the quiz — no re-intake needed]

Subjects it handles well

  • Geography (S2) — SAQs + essay using PEEL+L; photo analysis + data interpretation
  • Science practical — apparatus, method, variables, error sources
  • History — source-based questions with provenance + inference
  • Literature — quote bank + PEE essay scaffolds
  • Math — stepped problems, calculator-allowed vs not
  • Language — vocab + comprehension techniques

What you get

After one run, in ~/Documents/<Subject>/:

File Purpose
STUDY-PACK.md Notes by topic + cheat-sheet of key facts/stats
QUIZ.md 25–40 active-recall Q&A pairs, three difficulty tiers
SKILLS.md Technique drills + command-word table (Describe vs Explain etc.)
ESSAY.md Essay framework, likely prompts, one fully-worked model answer
PRAC.md (For practicals) Method skeleton, variables, error sources

All files are plain markdown — open in any editor or markdown viewer.


Requirements

  • macOS or Linux (Windows users: use WSL)
  • Python 3.10+
  • Google account with NotebookLM access
  • A NotebookLM notebook with your study material uploaded
  • An AI agent that can run shell commands

How it works

NotebookLM notebook (your textbook + slides + past papers)
        │
        ▼
AI asks 8 intake questions about your test
        │
        ▼
Sends 2–4 targeted queries to NotebookLM
        │
        ▼
Writes 3–5 markdown files to ~/Documents/<Subject>/
        │
        ▼
Live oral quiz with framework-aware feedback

All logic is in SKILL.md. The AI reads it and orchestrates the notebooklm-skill Python scripts via bash. No new runtime dependencies beyond what setup installs.


Privacy

  • Your notebook content stays in NotebookLM (Google). Queries go from your machine → NotebookLM → back to your machine.
  • Auth state is stored locally in ~/.claude/skills/notebooklm-skill/data/browser_state/ — never leaves your machine.
  • No telemetry. No analytics. No phone-home. The install script makes only git clone and python -m patchright install chromium network calls.
  • Generated study files live in ~/Documents/<Subject>/ on your machine.

Troubleshooting

Problem Fix
"Authenticated: No" Ask the AI to re-run Phase 0 Step 5, or run python3 ~/.claude/skills/notebooklm-skill/scripts/run.py auth_manager.py setup
"Timeout waiting for answer" NotebookLM was slow — shorten the query or try again
"Chromium distribution 'chrome' is not found" Ask the AI to re-run Phase 0 Step 4 Patch A
Rate limit hit (50/day) Free Google accounts are limited; wait 24h or use a different account
Skill not detected (Claude Code) Restart Claude Code

Updating

Re-run the install command. It detects existing installs and prompts to update via git pull.

curl -fsSL https://raw.githubusercontent.com/EdmundLimBoEn/exam-prep-skill/main/install.sh | bash

Uninstalling

rm -rf ~/.claude/skills/exam-prep
# Optional: also remove notebooklm-skill if you're not using it elsewhere
rm -rf ~/.claude/skills/notebooklm-skill

Generated study packs in ~/Documents/<Subject>/ are left untouched.


Contributing

PRs welcome — open an issue first for bigger changes.

Areas where help is wanted:

  • Subject-specific quiz templates (math, languages, art)
  • Windows / WSL install path
  • Port guides for other AI agents (Cursor, Aider, OpenCode)

License

MIT. See LICENSE.

Credits

About

Turn NotebookLM notebooks into tailored study packs, practice quizzes, and live oral drills. One-line install. Any subject. Built on notebooklm-skill.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages