Open-source project
WUBING2023/ExamPass-Assistant avatar
WUBING2023/ExamPass-Assistant

ExamPass Assistant: a multi-agent pipeline that turns lecture slides into exam-ready study pages

把课堂讲义变成考试利器 一键将 PPT、Word、PDF 课件转化为结构清晰的知识清单和交互式测试题,让复习事半功倍。 适用人群:大学生、各个阶段老师、其他需要对付短期考试的朋友

771 stars49 forksPythonNOASSERTION

At a glance

What is it?
A Claude-powered exam prep tool that converts PPT, Word, and PDF course files into structured knowledge guides, self-grading quizzes, knowledge graphs, and mock finals, now with a Notion-style original-slide cross-reference rail.
Who is it for?
ExamPass Assistant v2.0 is a well-engineered take on AI study content: a five-agent pipeline with real review stages, a pedagogy arc instead of generic summaries, slide-level cross-referencing that keeps answers auditable, quizzes that grade themselves, and mock exams shaped by real past papers. The importable template engine makes it useful even outside the CLI.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 93 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The finals-week problem, stated plainly

ExamPass Assistant, by WUBING2023 and now at version 2.0, addresses a familiar crunch: scattered lecture files, no clear sense of exam priorities, and no reliable practice questions. You feed it lecture PPTs, Word handouts, or PDF readings, and it reads them with Claude and produces structured study outputs: knowledge guides, interactive quizzes, a knowledge graph, and mock exams scored to exactly 100 points.

The audience is students preparing for exams and instructors who need exercises and assignments in seconds rather than evenings. Supported formats are PPTX, DOCX, and PDF, with PDFs getting image recognition through multimodal analysis so scanned or slide-as-image decks still work. Everything outputs as HTML that opens in any browser, renders formulas through MathJax, responds down to mobile, and prints to PDF with Ctrl+P.

The v2.0 update: cross-reference and combined pages

Version 2.0 concentrates on closing the loop between generated notes and their source. A Notion-style original-PPT cross-reference rail pins the rendered slide pages plus their original text beside each note, so reviewing never requires switching files. Clicking a heading's page chip scrolls the rail to that slide, and a density setting chooses between all pages, key pages, or none.

The second headline feature is the combined page: knowledge list and interactive quiz in one HTML file with tabs across the top, notes on one side and quiz on the other. Alongside these come self-test answers built into the guides, a mock-exam mode generated from a real past paper, a rewritten pedagogy arc for the notes, a streaming pipeline the changelog describes as 2 times faster, and a batch of rendering robustness fixes the author says were verified with real-browser screenshots. Command surface cleanup came with it: the old fast command is gone because the default is already fast, and mock folded into final as a reference flag.

How the notes are written

The knowledge guides follow a defined narrative arc: Hook, TL;DR, Why, What, How, then a self-check. That structure is enforced by a dedicated notes agent rather than left to the model's mood, and the rendering adds dual-color highlighting, key points in bold black with explanations in lighter gray, priority tags marking must-know, key, frequent, and informational items, an auto-generated table of contents, MathJax for formulas, and collapsible self-test answers.

The quizzes support 9 question types including calculation and code questions, chosen automatically by subject. Each quiz page grades on click, shows per-question correct and incorrect badges, gives detailed explanations, and flags common mistakes. The question data is plain JSON, which matters for the section below on reuse.

Five agents in a pipeline

The default pipeline orchestrates five specialized sub-agents. Phase 0, extraction, is a Python script that produces a per-chapter extraction bundle and a chapter manifest. Phase 1, the skeleton agent, builds a chapter-to-knowledge-component DAG and slices it per chapter. Phase 2 runs the notes agent and the item agent in parallel per chapter, producing HTML notes and JSON questions.

Phase 3 is review and revision: a reviewer agent produces diagnostics and a solver agent does two-pass verification, streaming per chapter. Phase 4 renders the final pages through a template engine into combined notes-plus-quiz documents. All intermediate artifacts land in a work directory, and the orchestrating Claude instance only schedules, with content produced by sub-agents following agent cards that combine methodology and prompt. The division of labor is the reason the output stays consistent chapter after chapter.

Commands and programmatic reuse

The command surface is four entries:

bash
git clone https://github.com/WUBING2023/ExamPass-Assistant.git
cd ExamPass-Assistant
pip install -r requirements.txt

Then /exampass on a directory runs the default pipeline with the cross-reference rail on, /exampass graph builds the interactive knowledge graph, /exampass final generates a full exam, optionally imitating a past paper's style with a reference flag or scoping to one chapter, and /exampass update pulls the latest version. The knowledge graph itself is an interactive left-root, right-leaf tree with dependency dashed lines, hub-concept stars, hover tooltips, persistent inline note cards that accept pasted images, a draggable column split, search, and zoom.

The rendering layer is importable Python, so you can bypass the agents entirely:

python
from scripts.template_engine import (
    save_knowledge_html, save_test, save_graph_html, save_combined_html,
)

With those imports plus a questions list, the README demonstrates generating a self-grading quiz page in a few lines, and a slide renderer and graph-tree converter round out the API. For developers, that turns ExamPass into a study-page rendering library rather than only a CLI.

Where it sits among study tools

Plenty of tools summarize lecture notes, and plenty generate quiz questions. ExamPass's differentiators are structural: the pipeline keeps extraction, structuring, writing, reviewing, and rendering as separate inspected stages, the cross-reference rail keeps every claim traceable to the original slide, the reviewer and solver agents add a verification layer most single-prompt generators skip, and the mock-from-past-paper mode targets the actual exam shape rather than generic questions.

The practical constraints are the Claude dependency and the per-course scale of processing, which the streaming pipeline mitigates. For a student with a folder of slides and a week until the final, the value proposition is turning that folder into a graded practice system without hand-building one. For an instructor, the same pipeline doubles as exercise generation with answer keys, which is the quieter but arguably larger use case.

Editorial conclusion

ExamPass Assistant v2.0 is a well-engineered take on AI study content: a five-agent pipeline with real review stages, a pedagogy arc instead of generic summaries, slide-level cross-referencing that keeps answers auditable, quizzes that grade themselves, and mock exams shaped by real past papers. The importable template engine makes it useful even outside the CLI. For finals week, that combination is worth more than another chat window asking a model to summarize your slides.

Frequently asked questions

What file formats does ExamPass Assistant accept?

PPTX, DOCX, and PDF. PDFs get image recognition through multimodal analysis, so decks that are mostly slide images still extract. Outputs are HTML pages that render MathJax formulas, work on mobile, and print to PDF from the browser.

How does the mock exam from a past paper work?

The final command accepts a reference flag pointing at a real past exam. The system analyzes that paper's style and writes brand-new questions in the same shape, scored to exactly 100 points with an answer key, so practice matches the actual exam format rather than generic question banks.

Do I have to use the multi-agent pipeline, or can I reuse parts?

The pipeline is the default, but the rendering layer is importable Python. Functions such as save_knowledge_html, save_test, save_combined_html, and save_graph_html let you generate study pages, self-grading quizzes, and knowledge graphs from your own data without running the agents at all.

Official sources

  1. Issues
  2. README
  3. WUBING2023/ExamPass-Assistant on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/wubing2023-exampass-assistant.svg)](https://hysenlabs.com/projects/wubing2023-exampass-assistant)