Turn your slides, homework, and past papers into a source-aware tutor that remembers your progress.
$ npx -y skills add ZeKaiNie/universal-examprep-skill --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
Turn your slides, homework, and past papers into a source-aware tutor that remembers your progress.
English · 中文
Teach from your materials · Show figures before solving · Explain key questions step by step · Keep progress across chats
Give the agent your course folder, then say how soon the exam is, where you want to start, and which reply language you want. It teaches each concept beside the matching examples from lectures, homework, quizzes, and practice exams. It explains which formula applies, how the values fit, and why the answer follows.
Its most important feature is visible provenance:
When the materials do not support a conclusion, the agent should say so instead of pretending to know.
Use Exam Cram Coach to review D:\Course Materials. I am starting from zero, my exam is tomorrow, reply in English, and begin with Chapter 1. Use lightweight on-demand mode.
You do not need to learn any commands first. Commands below are only for automation or troubleshooting.
The skill asks once. If you are unsure, choose lightweight on-demand.
| Mode | What it does | Best for | Limitations |
|---|---|---|---|
| Lightweight on-demand (default, recommended) | Processes only the pages you are studying now, inspects their visuals, teaches in chat, and saves progress and notes | An exam tomorrow, a large folder, or anyone who wants to start quickly | Does not organize the whole course in advance; one active batch has at most 8 primary pages; does not create a complete Study Guide or printable PDF; without an unchanged standard bank that existed before initialization, a chapter is capped at covered_unverified |
| Full knowledge-base build | Organizes the whole course into a chapter wiki, standard question bank, and review queue; can later produce chapter Study Guides | Large or messy courses, systematic review, and students willing to wait longer | Initial processing is slower and uses more disk; scans, complex layouts, and question-answer pairing can still need AI or human review; a completed build does not prove every detail was recognized correctly |
Lightweight mode saves the cost of processing the whole course up front. It does not shorten the explanation shown to the student.
Processing and output are separate choices:
Each chapter continues until its concepts and matching examples have been covered:
If a question or solution depends on an image, the image must be visibly rendered before it is used. Questions with missing required figures are not served. Tree, traversal, state-machine, and similar problems are computed deterministically before a diagram is drawn.
Quizzes come only from the workspace's standard question bank; temporary AI-written questions are never passed off as course quizzes. Wrong answers, skipped items, and “why/how” questions are saved for review.
Ordinary features are already on: lightweight page-by-page teaching, visual inspection, full walkthroughs, saved progress, and notes. Extensions are optional. The score below is a practical recommendation, not a quality claim: 5/5 = use whenever the host supports it; 4/5 = enable when the use case matches; 3/5 = only for a specific problem; 1/5 = usually leave off.
| Extension | Recommendation | Default | Copyable prompt | Inherent limitations |
|---|---|---|---|---|
| Full wiki, standard bank, and source-conflict review | 4/5 | Off | Copy prompt ① below | Slower first run; review items must be resolved or reported. Skip it when the exam is tomorrow and you only need a few pages |
| One key question per teaching turn | 4/5 | Off | Copy prompt ② below | Excellent for beginners, but slower; it changes teaching cadence rather than proving mastery |
| Web Study Guide and printable PDF | 4/5 | Off | Copy prompt ③ below | Requires complete content, clean item crops, source checks, and page-by-page visual QA; costs time and disk; unavailable in lightweight mode |
| Native isolated child agent for each answer explanation | 5/5 | On automatically only when the host proves the required capability | Copy prompt ④ below | Available only for full v2 Study Guides; hosts without verified clean-context and tool/input restrictions must use the ordinary explanation path |
| Remote MinerU or Docling parsing | 3/5 | Off | Copy prompt ⑤ below | Worth considering for difficult scans or complex layouts; never downloaded or run locally by this project; output still needs review |
| Remote LangGraph orchestration | 1/5 | Off | Copy prompt ⑥ below | Usually unnecessary because the skill already has a persistent state machine; it cannot replace course truth or source receipts |
| Dense + sparse retrieval, RRF, and reranking | 1/5 | Experimental, unavailable | Copy prompt ⑦ below | Current evidence is insufficient; extra latency, size, dependencies, and false retrievals may outweigh any benefit, so BM25 remains the default |
① Full knowledge-base build
Switch to full knowledge-base mode and organize the whole course into a chapter wiki and standard question bank. Before starting, tell me which files will be processed. Report every unresolved review item, missing figure, missing answer, and source conflict; do not silently skip them.
② One question per turn
From now on, teach exactly one example per turn. Show the prompt and every required figure, explain what is asked, why the formula applies, each substitution or reasoning step, and why the answer follows. Save the walkthrough to the notebook before waiting for me to continue.
③ Visual Study Guide and printable PDF
In full mode, create a visual Study Guide and printable version for the current chapter. Render formulas directly, crop question and answer images to the current item, and inspect every output page for missing figures, bad crops, mojibake, raw LaTeX, and unrelated content. Do not deliver an artifact that fails inspection.
④ Native isolated child-agent explanations
Check whether this host officially supports a fresh independent child context and can restrict its input and tools to one item. If it does, enable native isolated child-agent explanations by default for every Study Guide item, passing only the current question, any official answer, target-only crops, language, and fixed explanation instruction. Do not require a separate external API. If the capability cannot be verified, keep ordinary explanations and tell me.
⑤ Remote MinerU / Docling
These materials contain difficult scans or complex layouts. Check whether this host already has a remote MinerU or Docling integration; do not download, install, or run either locally. If available, disclose the service, exact files to upload, retention period, and privacy boundary, then wait for my separate consent.
⑥ Remote LangGraph
First explain the concrete problem that the existing study state machine cannot solve and how remote LangGraph would solve it. Enable it only if this host already provides the remote service, it will not replace local course truth, and I explicitly consent after seeing the privacy boundary. Do not install LangGraph locally.
⑦ Experimental retrieval check
Check whether a frozen real multi-course retrieval benchmark proves that dense plus sparse retrieval, fusion, and reranking pass recall, false-positive, stability, latency, and size gates. If complete evidence is missing, do not enable it and keep the default retriever.
Our recommendation: start with ordinary lightweight teaching. If you later build a full Study Guide, keep the native isolated child-agent explanation enabled when the host can actually enforce it. Add the full build and visual Guide only when you have enough time; use remote parsing only for genuinely difficult pages; normally leave LangGraph and experimental retrieval off.
If an extension is unavailable, the agent continues with ordinary features and names the limitation. It must never pretend that a remote parser or isolated child ran.
The preferred isolated route stays inside the agent host you are already using. For each question, a fresh child agent receives only the fixed explanation instruction, that question, its official answer when one exists, the requested language, and target-only question/answer crops. It must not receive the main chat, the course wiki, other questions, or general workspace access. No separate API key is required, but the call still consumes the current host's model allowance and remains covered by that host's privacy policy.
Current official documentation supports a suitable native child-agent route in Codex, Claude Code, Gemini CLI, and Antigravity. Cursor documents a clean child context but also says child agents inherit parent tools, so it is enabled only when the running host can close that tool boundary. Windsurf does not currently document a general-purpose clean-context child agent for this job, so the extension stays off there unless a future capability check proves otherwise.
Calling a separate external model provider is only a fallback for a user who explicitly requests it. It remains off and requires two approvals: first a local, no-upload plan showing exact items, images, and call count; then exact-plan upload approval after current pricing and the provider's retention/privacy boundary are disclosed. Keep API keys in the host or operating system's secret storage, never in course files, logs, receipts, screenshots, chat, or Git. See the optional external-model adapter guide.
The skill remembers these choices across chats:
| Choice | Options | Effect |
|---|---|---|
| Starting point | Teach from scratch / Start mid-course and shore up weak spots / Fill the gaps | Controls explanation depth and the starting chapter |
| Time before the exam | ≤ 1 day / 1–3 days / 3–7 days / > 7 days | Controls pace and how often earlier material is checked |
| Reply language | Chinese / English / bilingual | Controls agent-authored explanations; source evidence stays in its original language |
With ≤ 1 day, the agent skips unnecessary opening and reflective questions and starts with the essentials; standard-bank drills/checkpoints may still verify mastery. If you explicitly ask for no questions, it saves no_questions=true; the chapter is then capped at covered_unverified rather than pretending that a checkpoint was passed.
Bilingual replies must be chosen explicitly. English mode does not mechanically append Chinese to every paragraph, and Chinese mode does not mechanically append English. Bilingual mode supplies both languages for each complete explanation block.
If your agent can use a terminal and the internet, it can do the installation for you. Copy this first; the agent may ask you to approve network access or writing outside the current project:
Fetch the latest release from https://github.com/ZeKaiNie/universal-examprep-skill and install or safely update the Agent Skill named universal-exam-cram-coach in this host's officially supported user-level skills directory. Prefer the lightweight runtime release asset; if that route is unavailable, clone the repository. Back up an existing version before replacement, verify SKILL.md, and report the actual install path and version. Do not merely download it without loading it.
Platform-specific copy-and-paste options follow.
Install the latest version of universal-exam-cram-coach from https://github.com/ZeKaiNie/universal-examprep-skill into my Codex skills directory. Back up any older copy before replacement. After installation, verify SKILL.md, report the installed path and version, and tell me whether I need to start a new task for the skill to appear.
Install or update https://github.com/ZeKaiNie/universal-examprep-skill in ~/.claude/skills/universal-exam-cram-coach. Use the terminal and ask for permission when needed, preserve local changes, and ask before overwriting files. Then verify SKILL.md and report the installed version.
Fetch the latest https://github.com/ZeKaiNie/universal-examprep-skill and install it as universal-exam-cram-coach in my Cursor user skills directory (~/.cursor/skills/ or ~/.agents/skills/). Back up an older copy before replacement, verify that Cursor discovers SKILL.md, and report the installed path and version.
Fetch the latest https://github.com/ZeKaiNie/universal-examprep-skill and install it as universal-exam-cram-coach in ~/.codeium/windsurf/skills/universal-exam-cram-coach. Ask before downloading, moving, or replacing files; back up an older copy. Then verify that Cascade discovers SKILL.md and report the version.
Fetch the latest https://github.com/ZeKaiNie/universal-examprep-skill and install it globally as universal-exam-cram-coach in ~/.gemini/config/skills/universal-exam-cram-coach. Request permission for network, terminal, or outside-workspace writes. Rescan skills, verify SKILL.md, and report the installed version.
Gemini CLI has a native Git installer:
gemini skills install https://github.com/ZeKaiNie/universal-examprep-skill.git
Or ask it to do the same work:
Install the latest Agent Skill from https://github.com/ZeKaiNie/universal-examprep-skill as universal-exam-cram-coach with Gemini CLI's built-in skills installer. Ask for permission if required, rescan skills, and report the installed version.
Only download universal-exam-cram-coach.zip yourself from the latest release when the agent cannot access the network or run terminal commands. A web-only client that cannot write local files can use the English web prompt, but it cannot fully reproduce persistent local state, strict item cropping, or the verified publication chain.
For PDF-, formula-, and image-heavy studying, use the agent's desktop app or IDE whenever one exists. A terminal is fine for installing and debugging, but terminal chat often cannot display local images, rich formulas, and clickable file links as clearly as a graphical client. Claude Desktop Code, Codex desktop, Cursor, Windsurf, and Antigravity are therefore better study surfaces than their terminal-only routes.
See agent portability for official paths, capability boundaries, and source links. The compact English entry is locales/en/SKILL.md.
Students usually need to recognize only these paths:
| Path | Purpose |
|---|---|
study_state.json | Source of truth for learning progress, modes, and preferences; do not edit it by hand |
study_progress.md | Human-readable progress summary generated from the state |
notebook/ | Taught material, mistakes, and chapter notes |
references/wiki/ | Chapter knowledge base created by full mode |
references/quiz_bank.json | Standard question bank with source records |
.ingest/ | Full-build parsing records, review items, and provenance evidence; mainly for the agent and audit tools |
.lightweight/ | Current-page images and processing records for lightweight mode |
See workspace file formats for the full contract.
The skill's value is grounding: connecting what is in your materials but not in the model's prior knowledge, while making unsupported answers visible. The figures below are results from the named benchmark courses and models, not a guarantee for every subject or host (judge: Sonnet).
① Material-specific retrieval improved on these runs. Details mined from course transcripts—such as the professor's examples, obscure studies, and exact numbers—are difficult to answer from general knowledge alone:
| Course · Model | Closed-book | Raw files + generic agent | With the skill |
|---|---|---|---|
| PSYC 110 · Opus 4.8 | 11% | 98% | 100% |
| PSYC 110 · Sonnet 4.6 | 13% | 100% | 100% |
| PSYC 110 · Haiku 4.5 | 11% | 98% | 100% |
| 6.006 · Haiku 4.5 | 45% | 89% | 91% |
② Out-of-scope abstention reached 100% in this benchmark slice. Across the tested probes, three models and two courses abstained on every out-of-scope item with the skill and with raw files; closed-book measured 60%–90%. See the report for sample design and limitations.
In these runs, chapter retrieval had similar accuracy to the raw-files arm with the per-question costs shown below. The mechanism retrieves relevant chapter slices instead of rescanning the whole pile:
| Cost / question | Closed-book | Raw files agent | With the skill |
|---|---|---|---|
| PSYC 110 | $0.033 | $0.117 | $0.102 |
| 6.006 | $0.034 | $0.066 | $0.063 |
Full method, three-arm design, judge calibration, costs, and limitations → benchmark report. The benchmark files were never removed from the repository; v4.3 had only hidden this detailed README presentation during a rewrite.
Why are there no images in Chapter 1? Check that the question-side image is actually visible, not merely printed as a file path. Lightweight mode must inspect the current pages; full mode must have the relevant visual index/crops and no unresolved review issue. A chapter with missing required figures must not be called complete.
Why do formulas still look like raw LaTeX? Chat teaching should unpack formulas in plain language. A visual Study Guide must render formulas into readable notation. Raw formula strings may remain as machine evidence, but they cannot be the only student-facing display.
What if I only have scans or photos? Lightweight mode can inspect the current image or rendered PDF page. Full mode puts uncertain recognition into a review queue instead of silently skipping it. Audio still needs a transcript first.
What if Python is unavailable? Use the reduced manual fallback only after confirming that the interpreter truly cannot start. A script error is not the same as having no Python; fix or report the actual error.
Can I skip a hard question? Yes. Say that you want to skip it; the item is saved to the mistake record, teaching continues, and the item returns during review.
How do I audit an existing workspace? Use exam-audit for a read-only check of material revisions, missing visuals, review issues, bank coverage, and learning state.
The root SKILL.md routes activation. Shared behavior starts at skills/exam-cram/SKILL.md, while locales/en/SKILL.md is the compact English compatibility and wording entry. The sub-skills cover orchestration, ingestion, tutoring, quizzes, review, Study Guides, cheat sheets, audits, help, and concept-confusion tracking.
Useful checks:
python -m unittest discover -s tests -v
python scripts/validate_workspace.py path/to/workspace
python scripts/build_dist.py
See skill architecture, agent portability, PDF capability adapters, and language policy. Release history belongs in the English changelog.
These fixture identifiers are kept here so documentation coverage cannot silently drift from the deterministic smoke suite:
quiz_bank_onlyprovenance_labelshint_skip_mistake_archiveconfusion_trackingcheckpoint_recoveryno_python_fallbackzero_basic_key_questiontime_budget_no_questionsknowledge_window_recheckteaching_templatevisual_first_assetslazy_load_best_effortscope_overridelanguage_first_askartifact_mode_routingnotebook_persist_okworkspace_confirm_okThe corresponding intent and coverage live in the behavior-smoke coverage matrix.
Read the contribution guide before opening a PR. Debugging and reliability come first, followed by real-course teaching evidence and maintenance, then focused new features. Small PRs are welcome, and most can be merged after ordinary review and reasonable verification.
MIT. Contributions of subject templates, parser adapters, and real-course regression samples are welcome. Good luck with your exam. 🎓
.gitattributes
.github/
workflows/
ci.yml
.gitignore
AGENTS.md
assets/
exam-panic.png
benchmark/
.gitignore
aggregate_matrix.py
behavior_smoke/
fixtures/
mini_course/
mini_course_nostate/
references/
assets/
venn_prompt.svg
quiz_bank.json
wiki/
ch1_stack_queue.md
ch2_trees.md
study_plan.md
study_progress.md
references/
assets/
venn_prompt.svg
quiz_bank.json
wiki/
ch1_stack_queue.md
ch2_trees.md
study_plan.md
study_progress.md
study_state.json
mock/
sample_outputs/
artifact_mode_chat_auto_pdf_bad.txt
artifact_mode_chat_good.txt
artifact_mode_chat_not_persisted_bad.txt
artifact_mode_one_shot_good.txt
artifact_mode_one_shot_persist_bad.txt
artifact_mode_one_shot_probe_error_bad.txt
artifact_mode_visual_native_good.txt
artifact_mode_visual_preflight_failed_bad.txt
artifact_mode_visual_subscription_guess_bad.txt
hint_skip_offer.txt
language_ask_good.txt
language_ask_missing_line.txt
language_ask_unglossed.txt
language_persist_good.txt
language_persist_noncanonical.txt
language_urgent_bilingual_explicit.txt
language_urgent_bilingual_negated.txt
language_urgent_bilingual.txt
language_urgent_question.txt
language_urgent_silent.txt
language_urgent_wrong_language.txt
notebook_persist_chat_only.txt
notebook_persist_good.txt
progress_after_confusion.md
progress_after_mistake.md
provenance_answer.txt
quiz_output_good.txt
quiz_output_invented.txt
resume_message.txt
scope_override_good.txt
scope_override_missing.txt
teaching_template_ai_answer_good.txt
teaching_template_formula_first.txt
teaching_template_good.txt
teaching_template_liberal_good.txt
teaching_template_missing_warn.txt
teaching_template_no_source.txt
teaching_template_optin_closers.txt
teaching_template_skip_ask.txt
teaching_template_unlabeled_source.txt
teaching_template_unsolicited_closers.txt
teaching_template_warn_title.txt
time_budget_1day_bad.txt
time_budget_1day_bank_checkpoint.txt
time_budget_1day_good.txt
visual_first_answer_after_prompt.txt
visual_first_answer_before_prompt.txt
visual_first_answer_side_first.txt
visual_first_answer_text_before_prompt.txt
visual_first_good.txt
visual_first_missing_asset.txt
visual_first_path_only.txt
visual_first_prose_before_image.txt
visual_first_question_label_late_asset.txt
visual_first_unlabeled_solution_before_prompt.txt
visual_first_unsafe_url.txt
window_recheck_bad.txt
window_recheck_good.txt
window_recheck_recall_only_bad.txt
window_recheck_test_good.txt
workspace_confirm_good.txt
workspace_confirm_silent.txt
zero_basic_explain.txt
zero_basic_legacy_only.txt
sample_transcript.jsonl
state_after_confusion.json
state_after_mistake.json
README.md
run_behavior_smoke.py
scenarios.json
calibrate_matrix.py
calibrate.py
calibration/
kappa_n24_summary.json
README.md
config.example.json
config.matrix.example.json
docs/
coverage-matrix.en.md
coverage-matrix.md
img/
hard_algo_correct_en.svg
hard_algo_correct_zh.svg
hard_algo_hallu_en.svg
hard_algo_hallu_zh.svg
hard_psyc_correct_en.svg
hard_psyc_correct_zh.svg
hard_psyc_hallu_en.svg
hard_psyc_hallu_zh.svg
oos_algo_abst_en.svg
oos_algo_abst_zh.svg
oos_psyc_abst_en.svg
oos_psyc_abst_zh.svg
realexam_algo_correct_en.svg
realexam_algo_correct_zh.svg
judge-calibration.md
materials_sources.md
matrix_pipeline.md
related_benchmarks.md
running-real-runs.md
test_tiers.md
testing-audit.md
测试流程详解.md
drift/
convert_session_log.py
docs/
live_agent_pilot.md
fixtures/
live_logs/
good_session.expected.jsonl
good_session.md
live_smoke_golden.jsonl
live_smoke_golden.md
mini_course_long/
mini_course_long_state/
references/
quiz_bank.json
wiki/
ch1_stack_queue.md
ch2_trees.md
study_plan.md
study_progress.final.bad.md
study_progress.final.good.md
study_progress.initial.md
study_state.json
references/
quiz_bank.json
wiki/
ch1_stack_queue.md
ch2_trees.md
study_plan.md
study_progress.final.bad.md
study_progress.final.good.md
study_progress.initial.md
README.md
run_drift.py
run_live_smoke.py
scenarios/
live_smoke_basic.json
long_session_basic.json
long_session_state.json
mode_urgent_no_questions.json
window_persist.json
templates/
live_session_template.md
live_smoke_turns.json
transcripts/
bad_checkpoint_reset.jsonl
bad_goal_drift.jsonl
bad_plan_drift.jsonl
bad_progress_loss.jsonl
bad_provenance_drift.jsonl
bad_quiz_invention.jsonl
bad_urgent_1day_questions.jsonl
bad_wiki_overread.jsonl
good_session_state.jsonl
good_session_urgent_1day.jsonl
good_session.jsonl
window_persist_session.jsonl
fixtures/
mini_course_matrix/
.gitignore
config.json
items.jsonl
materials/
_combined.txt
raw_ws/
lecture01.md
skill_ws/
references/
wiki/
ch01_minios.md
gen.py
items/
items_algo_full_q.jsonl
items_pilot_6006.jsonl
items_pilot_psyc110.jsonl
items_psyc_full_q.jsonl
items.example.jsonl
README.md
judge.py
materials/
README.md
README.md
rejudge.py
report_matrix.py
REPORT.en.md
REPORT.md
report.py
results/
chart_delta_en.svg
chart_delta_zh.svg
chart_metrics_en.svg
chart_metrics_zh.svg
convergence_en.svg
convergence_zh.svg
convergence.html
matrix/
chart_convergence_en.svg
chart_convergence_zh.svg
chart_correct_en.svg
chart_correct_zh.svg
chart_hallu_en.svg
chart_hallu_zh.svg
chart_oos_en.svg
chart_oos_zh.svg
chart_psyc_correct_en.svg
chart_psyc_correct_zh.svg
chart_psyc_oos_en.svg
chart_psyc_oos_zh.svg
report.html
summary.json
report.html
report.md
retrieval_candidates.py
retrieval_eval.py
retrieval_gold/
README.md
sample.insufficient.json
schema.json
rounds.py
run_benchmark.py
run_matrix.py
run_retrieval_gate.py
runs/
ledger.py
ledger.sample.jsonl
README.md
skill_workspace/
README.md
stats.py
tests/
fixtures/
matrix_pipeline/
answers.jsonl
expected_summary.json
scores.jsonl
test_aggregate_matrix.py
test_bench.py
test_calibrate_matrix.py
test_numeric_extraction.py
test_report_release_guards.py
test_run_matrix.py
CHANGELOG.en.md
CHANGELOG.md
CONTRIBUTING.md
CONTRIBUTING.zh.md
docs/
agent-portability.md
agent-portability.zh.md
crop-receipt-backfill.md
exam-audit.zh.md
file-format.en.md
file-format.md
formula-audit-importer.md
history/
plans/
e2e-study-guide-and-ingestion-remediation.md
knowledge-ingestion-hardening.md
PLAN-v4.1-real-world-hardening.md
PLAN-v4.md
inline-worked-example-evidence.md
langgraph-host-adapter.md
language-policy.md
language-policy.zh.md
localization.md
openai-study-guide-adapter.md
openai-study-guide-adapter.zh.md
pdf-capability-adapters.en.md
pdf-capability-adapters.json
pdf-capability-adapters.md
releases/
v3.md
retrieval-evaluation.md
runtime-file-contract.md
skill-architecture.en.md
skill-architecture.md
LICENSE
locales/
en/
messages.json
SKILL.md
skills/
confusion-tracker.md
exam-cheatsheet.md
exam-cram.md
exam-help.md
exam-ingest.md
exam-quiz.md
exam-review.md
exam-tutor.md
templates/
quiz_bank_template.json
study_plan_template.md
study_progress_template.md
zh/
messages.json
SKILL.md
skills/
confusion-tracker.md
exam-cheatsheet.md
exam-cram.md
exam-help.md
exam-ingest.md
exam-quiz.md
exam-review.md
exam-tutor.md
templates/
quiz_bank_template.json
study_plan_template.md
study_progress_template.md
prompts/
web_prompt.en.md
web_prompt.md
README.md
README.zh.md
scripts/
asset_crops.py
asset_policy.py
backfill_crop_receipts.py
build_dist.py
build_raw_input_from_workspace.py
build_visual_index.py
cheatsheet_render.py
check_deps.py
chunk.py
exam_start.py
host_adapters/
__init__.py
command_core.py
langgraph_exam.py
openai_study_guide.py
i18n.py
image_validation.py
import_formula_audit.py
ingest_course.py
ingest_review.py
ingest.py
ingestion/
__init__.py
adapters.py
claims.py
dedup.py
evaluation.py
facts.py
identifiers.py
language.py
models.py
ooxml.py
pipeline.py
quality.py
raster.py
retrieval_folding.py
storage.py
xlsx.py
lightweight_session.py
list_figure_pages.py
list_image_questions.py
list_teaching_examples.py
material_generation.py
math_text_policy.py
notebook.py
pdf_capabilities.py
readiness.py
... 198 moreFAQ
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.