Exam Study Guide
ZeKaiNie/universal-examprep-skill
将已经讲完但尚未完成阶段门禁的一个章节整理成强类型教材清单,并在视觉模式下编译为公式可读、图片可见、知识点与全部对应例题逐项精讲的自包含 HTML/PDF。结构化工作区准备阶段完成证据、用户说 Markdown 公式仍是 raw LaTeX、图片缺失、要含课件/作业/Quiz/模拟考试题及答案的零基础讲义,或要求打印版时使用。
Agent skill
by Li-Baichuan-James in Li-Baichuan-James/summarize-slides-skill
Condenses a lecture PDF into an exam-focused LaTeX cheat sheet and compiled PDF with page citations, bilingual terms, formulas and only the diagrams that help.
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slides --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .claude/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slides --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .agents/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slides --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .cursor/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slides --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .gemini/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slidesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .github/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Li-Baichuan-James/summarize-slides-skill summarize-slides --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "summarize-slides" agent skill from https://github.com/Li-Baichuan-James/summarize-slides-skill/tree/main into .opencode/skills/summarize-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "summarize-slides", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
summarize-slidesCondenses a lecture PDF into an exam-focused LaTeX cheat sheet and compiled PDF with page citations, bilingual terms, formulas and only the diagrams that help.
You give the skill a long lecture or course-slide PDF, and it produces a cheat sheet as a .tex file plus a compiled PDF. Entries cite the source pages, terminology appears in two languages, and diagrams are included only when they clearly improve understanding. The description lists key points, formulas, concepts, examples and study guidance as the contents.
It works as a controller: read the whole document first, split it by lecture or topic, hand each segment to a focused reader, merge the results into one draft, then run a separate coverage check before building the final files. It pairs with the pdf skill for reading and says to use no other skills. All generated files, including extracted text and temporary snippets, go into one folder named Summary followed by the PDF name, beside the source PDF. A chat-only summary does not count as a finished result unless you ask for one.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f4168f9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are dot).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Lecture Slides Summarizer loads about 6.7k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 3,665 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Li-Baichuan-James/summarize-slides-skill at commit f4168f9, republished under its MIT licence (© Li-Baichuan-James). 3,665 words, ~6,682 tokens.
.claude/skills/summarize-slides/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Turn a long lecture PDF into a concise, exam-oriented LaTeX cheat sheet and compiled PDF with accurate page references, bilingual terminology, and only the diagrams that materially improve understanding.
Core principle: treat slide summarization as a controller workflow for long documents: read globally first, segment by lecture or topic, dispatch focused readers for each segment, merge into a single cheat-sheet draft, then run a fresh coverage verifier before building final artifacts.
pdf for PDF intake and reading. This workflow is not optional.summarize-slides plus pdf. Do not invoke dispatching-parallel-agents or any other additional skill. Any task-splitting, reader dispatch, verifier separation, or parallelization logic needed for this workflow is already defined inside this skill.xelatex is available before promising the default required compiled PDF output..tex and compiled .pdf, with the PDF treated as the required final artifact unless the user explicitly asks not to produce it, and the default compiled PDF path requires xelatex.Summary - <pdf-stem> inside the same directory that contains the source PDF. Do not scatter .tex, .pdf, helper assets, or intermediate files elsewhere.<pdf-stem>_full.txt, <pdf-stem>_p1-5.txt, OCR dumps, page-range extracts, verifier notes saved to disk, temporary LaTeX snippets, and any other intermediate .txt, .md, .json, .tex, image, or helper outputs must live inside Summary - <pdf-stem> only.same directory that contains the source PDF means the output folder sits alongside the PDF file itself. Example: if the source PDF is .../lecture/foo.pdf, the default output folder is .../lecture/Summary - foo/.cheat sheet in the sense of coverage, brevity, clarity, and fast lookup. It does not mean forced ultra-dense layout, automatic two-column formatting, or unreadable compression.summarize-slides and pdf only.The default successful outcome for this skill is:
Summary - <pdf-stem>.texSummary - <pdf-stem>.pdfSummary - <pdf-stem> inside the same directory as the source PDF unless the user explicitly requested another locationIf no raw PDF path is available and the input is only source-derived text, OCR, extracted images, or page-by-page content:
lecture-slidesSummary - <chosen-stem> in the current working directory unless the user specified another locationSummary - <chosen-stem>.tex and Summary - <chosen-stem>.pdfThe following are not successful completions when this skill applies unless the user explicitly requested them:
Use this skill when the user wants any of the following from a PDF slide deck, lecture PDF, lecture notes PDF, or 课件 PDF:
Common trigger words and phrases:
Requests like 总结一下这个课件 still default to the artifact-producing workflow above. Do not reinterpret them as permission to answer only in chat.
Do not use this skill for:
.pptx workflows that are not already exported to PDFpdf exists.pdf. Do not replace the pdf skill with an ad hoc fallback.dispatching-parallel-agents; follow the dispatch rules written here directly.controller owns intake, global read, segmentation, merge, style normalization, build choice, and final reportingsegment-reader owns one lecture chunk or topic chunk onlyverifier checks coverage, page references, bilingual terminology, and exam usefulness after mergeThis section replaces the need for any separate parallel-dispatch skill.
digraph summarize_slides_flow {
"Intake" [shape=box];
"Read PDF globally" [shape=box];
"Segment by lecture/topic" [shape=box];
"Dispatch segment readers" [shape=box];
"Collect per-segment notes" [shape=box];
"Merge into cheat-sheet draft" [shape=box];
"Add needed LaTeX figures" [shape=box];
"Dispatch fresh verifier" [shape=box];
"Verifier approved?" [shape=diamond];
"Write LaTeX" [shape=box];
"Build PDF" [shape=box];
"Final artifact check" [shape=box];
"Report result" [shape=doublecircle];
"Intake" -> "Read PDF globally";
"Read PDF globally" -> "Segment by lecture/topic";
"Segment by lecture/topic" -> "Dispatch segment readers";
"Dispatch segment readers" -> "Collect per-segment notes";
"Collect per-segment notes" -> "Merge into cheat-sheet draft";
"Merge into cheat-sheet draft" -> "Add needed LaTeX figures";
"Add needed LaTeX figures" -> "Dispatch fresh verifier";
"Dispatch fresh verifier" -> "Verifier approved?";
"Verifier approved?" -> "Merge into cheat-sheet draft" [label="no, revise and re-verify"];
"Verifier approved?" -> "Write LaTeX" [label="yes"];
"Write LaTeX" -> "Build PDF";
"Build PDF" -> "Final artifact check";
"Final artifact check" -> "Report result";
}.tex, .pdf, or both. Default is both, and the PDF is the required final artifact unless the user explicitly opts out of PDF output.Summary - <pdf-stem> inside the same directory as the source PDF and continue rather than waiting for unnecessary clarification.If there is no raw PDF path, choose the output stem using the rule from Required Outcome and create the deterministic output folder from that stem instead of waiting for clarification.
Default style unless the user says otherwise:
Summary - <pdf-stem>.tex and Summary - <pdf-stem>.pdf inside the folder Summary - <pdf-stem> that sits in the same directory as the source PDFxelatex exists before promising the default required compiled PDF.xelatex for Chinese text and math.xelatex is missing, stop and report that the environment prerequisite for the default required PDF output is missing unless the user explicitly changes the output expectation away from compiled PDF. Do not stop at .tex only when PDF output is still required.Do not jump straight into chunk summaries.
For very long decks, segmentation plus per-segment reading is mandatory. Do not summarize a few-hundred-page deck in one shot.
Treat a deck as very long whenever one-pass reading would plausibly cause dropped coverage, unstable page mapping, or weak recall of later sections. In practice, any deck with a few hundred pages should be treated this way.
For long decks, the controller must first produce:
The segmentation map must cover all pages exactly once unless a page is explicitly marked as intentionally excluded, such as a duplicate title slide or blank separator page.
Use the coarsest segmentation that preserves topic integrity.
Prefer, in order:
Do not split a tightly coupled derivation across multiple segment readers unless necessary.
If a segment boundary is not obvious from lecture titles or topic-title slides, record a short justification for that split.
If subagents are available and practical, dispatch one fresh segment-reader per independent segment.
If subagents are not available, the controller must still create separate per-segment notes before any merged summary is written. Do not read and summarize the full deck in one fused pass.
If the proposed segments are not independent enough to read safely in parallel, keep the same per-segment structure but execute sequentially.
Each segment-reader should return exactly these sections:
segment idpage range coveredmain exam pointscore formulaskey concepts with English termsimportant examples or recurring problem patternsproblem-solving techniques or pitfallsfigure candidates if anycoverage concerns or uncertaintySegment readers are not allowed to:
The controller merges all segment notes into one coherent exam-review structure.
The target output is not a page-by-page narrative. It should be organized for fast review, typically by lecture or topic block, with concise bullets under each block.
Every major block should try to include:
定义, 公式, 判据, 技巧, 典型例题, 易错点.Only include figures that materially improve understanding.
Good uses:
Do not add decorative figures.
When a figure is needed:
tikz, pgfplots, or comparable reproducible toolsIf an important figure cannot be reconstructed confidently from the source PDF plus direct page inspection, stop and ask rather than inventing a diagram.
After the draft is merged, run a fresh verifier pass.
If subagents are available and practical, use a separate fresh verifier subagent. Do not reuse a reader subagent as the verifier.
The verifier must check all of the following:
The verifier must return exactly these sections:
verdict with one of: APPROVED, APPROVED_WITH_NOTES, REJECTEDcoverage findingsstyle and fidelity findingsmissing or weak areasIf the verifier reports missing coverage, weak page citations, missing English labels, missing high-value examples, or source-drift concerns, fix the draft and re-run verification.
The verifier must not approve page-cited output without direct source-backed checking.
Do not move to LaTeX writing until:
APPROVEDIf the verifier returns APPROVED_WITH_NOTES, resolve the notes and run a fresh verifier pass. Do not move to LaTeX writing on a stale verifier verdict.
Do not claim the task is complete at the draft stage. Draft completion is not document completion.
.tex file unless the user explicitly wants separate assets.Recommended document qualities:
xelatex..tex and .pdf both exist..pdf file was produced.Compilation success is not enough. Readability and coverage still matter.
If the .tex file does not exist, the .pdf file does not exist, the compile step did not actually run successfully, or the build emitted a fatal LaTeX error, the task is not complete. Report the blocker instead of substituting a prose summary.
Before sending the final answer, verify from actual tool output or filesystem state that the required artifacts exist.
xelatex, extraction quality, or another hard prerequisite, say so explicitly and stop rather than silently downgrading to chat output.Use deterministic names based on the source PDF stem:
Summary - <pdf-stem> placed inside the same directory as the source PDFSummary - <pdf-stem>.texSummary - <pdf-stem>.pdf<pdf-stem> rather than generic names like output.* or temp.*<pdf-stem>_full.txt, <pdf-stem>_p1-5.txt, <pdf-stem>_notes.md, or similar; never place them in the source PDF directoryIf the user specifies a custom output path or filename, follow that instead.
If no source PDF path exists, apply the fallback naming rule from Required Outcome instead of inventing a new naming scheme ad hoc.
Summary - <pdf-stem> folder in the PDF's directory<pdf-stem>_full.txt or page-range .txt files beside the source PDF instead of inside the dedicated output folderdispatching-parallel-agents even though this workflow already defines its own dispatch rulescheat sheet was taken literally.texxelatex| Excuse | Reality |
|---|---|
| "I can summarize the whole PDF in one go" | Long decks need segmentation first or coverage will drift. |
| "Section-level page ranges are good enough" | This task is for lookup; point-level page citations matter. |
| "English terms are obvious" | Bilingual labels are a core deliverable, not optional polish. |
| "Cheat sheet means dense two-column cram format" | Here it means concise and efficient, not unreadable compression. |
| "Words are enough; I can skip figures" | Some concepts are materially clearer with a simple LaTeX figure. |
| "I can use slide screenshots" | The preferred output is a clean, reproducible LaTeX document. |
| "Final formulas are enough" | Exam prep often depends on example patterns and solving techniques. |
"The user only said 总结一下这个课件, so a chat summary is enough" | When this skill is triggered, summary means producing the document artifacts unless the user explicitly opts out. |
| "I already have the draft mentally, so I can report completion" | Mental or unwritten drafts are not deliverables. The .tex and .pdf files must actually exist. |
"I can say it is done before running xelatex" | Completion requires an actual successful build or an explicit blocker report. |
| "It is simpler to save files next to the source PDF" | Keep generated artifacts contained in the Summary - <pdf-stem> folder inside the PDF's directory unless the user explicitly chose another location. |
"I only put extracted .txt files next to the PDF temporarily" | Temporary extraction files still count as generated artifacts and must be created inside the output folder from the start. |
| "I should load another skill to help with subagent dispatch" | Do not load other skills for this workflow; use only summarize-slides plus pdf, and follow the dispatch rules written here. |
| "If the PDF compiles, it is done" | Build success does not verify coverage, readability, or fidelity. |
.tex and .pdf existSummary - <pdf-stem> folder.txt files or other preprocessing artifacts appearing beside the source PDFcheat sheetAll of these mean: stop, fix the workflow, and re-run verification before finalizing.
© Li-Baichuan-James, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (assets) in the repository root of Li-Baichuan-James/summarize-slides-skill.
Open the folder on GitHubat commit f4168f9
Lecture Slides Summarizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lecture Slides Summarizer this skillLi-Baichuan-James/summarize-slides-skill | 313 | — | ~6.7k | Automated safety check: Pass | MIT | |
| Exam Study GuideZeKaiNie/universal-examprep-skill | 303 | — | ~7.6k | Automated safety check: Pass | MIT | |
| Mira Extractsandeco/mira-animator | 218 | — | ~686 | Automated safety check: Pass | Custom licence | |
| Mira Plannersandeco/mira-animator | 218 | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Fill In NotesPolaris-Aeterna/loom-notes | 167 | — | ~975 | Automated safety check: Pass | Custom licence | |
| Paper2patent7toCR/paper2patent | 654 | — | ~2.5k | Automated safety check: Pass | MIT |
ZeKaiNie/universal-examprep-skill
将已经讲完但尚未完成阶段门禁的一个章节整理成强类型教材清单,并在视觉模式下编译为公式可读、图片可见、知识点与全部对应例题逐项精讲的自包含 HTML/PDF。结构化工作区准备阶段完成证据、用户说 Markdown 公式仍是 raw LaTeX、图片缺失、要含课件/作业/Quiz/模拟考试题及答案的零基础讲义,或要求打印版时使用。
sandeco/mira-animator
Extrator de contexto do Mira: lê uma fonte vinculada no mira.config.json (pasta de projeto, PDF, LaTeX ou texto) e produz um briefing estruturado para o /mira-planner.
sandeco/mira-animator
Planeja o conteúdo de apresentações em slides HTML: analisa um capítulo (LaTeX, PDF ou texto) e gera um plano de slides antes da montagem visual.
Polaris-Aeterna/loom-notes
Turn a textbook chapter, lecture, or paper into beautiful "fill-in" study notes — written to be READ (clean statements, intuition) yet engineered to be FILLED (blanks, proof skeletons, "your turn"…
7toCR/paper2patent
Turn an academic paper (PDF, LaTeX, pasted text, thesis chapter or technical disclosure) into a Chinese invention patent application draft — 说明书摘要、摘要附图、权利要求书、说明书、说明书附图 — delivered as DOCX/PDF with…
Faust-Donf/beamer-academic
Generate high-quality academic Beamer slides from a thesis/paper (PDF, Word, or LaTeX source).
Works with
Categories
Condenses a lecture PDF into an exam-focused LaTeX cheat sheet and compiled PDF with page citations, bilingual terms, formulas and only the diagrams that help. tex file plus a compiled PDF. Entries cite the source pages, terminology appears in two languages, and diagrams are included only when they clearly improve understanding.
Lecture Slides Summarizer fits situations like: preparing for an exam from a long lecture slide PDF; building a formula and concept quick-reference sheet from course slides; getting a page-cited summary of lecture notes as a printable PDF.
Run `npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a claude-code`. Or copy the skill folder (the Li-Baichuan-James/summarize-slides-skill repository) into .claude/skills/summarize-slides in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a codex`. Or copy the skill folder (the Li-Baichuan-James/summarize-slides-skill repository) into .agents/skills/summarize-slides in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Li-Baichuan-James/summarize-slides-skill --skill summarize-slides -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/summarize-slides, .gemini/skills/summarize-slides, .github/skills/summarize-slides and .opencode/skills/summarize-slides in your project.
SKILL.md names no scripts, command-line tools or credentials: Lecture Slides Summarizer is instructions for the agent only. Our summary lists: The pdf skill for reading the source PDF; A local XeLaTeX install to compile the final PDF.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Lecture Slides Summarizer is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.7k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lecture Slides Summarizer: Exam Study Guide (ZeKaiNie/universal-examprep-skill, 303 stars), Mira Extract (sandeco/mira-animator, 218 stars), Mira Planner (sandeco/mira-animator, 218 stars) and Fill In Notes (Polaris-Aeterna/loom-notes, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Li-Baichuan-James (a GitHub user) maintains it in Li-Baichuan-James/summarize-slides-skill, which has 313 GitHub stars. The repository was last updated on April 27, 2026.
Source: Li-Baichuan-James/summarize-slides-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.