pedrohcgs/teach-from-paper
Turn a research paper into teaching materials — a lecture outline, the 3-5 results worth presenting (with intuition), a slide skeleton ready for `/create-lecture`, discussion questions, and a problem-set brief. Reads the paper end-to-end and pitches to a stated audience level. Use when user says "turn this paper into a lecture", "teach from this paper", "build slides from this PDF", "make teaching materials from X", "I'm presenting this paper to my class".
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill teach-from-paper
Convert one research paper into a ready-to-build teaching package: a lecture outline, a shortlist of teachable results with the intuition spelled out, a slide skeleton, discussion questions, and an exercise brief. The deliverable is an outline and a brief — not a finished deck; the slide skeleton is shaped to hand straight to /create-lecture, and the exercise brief to /scaffold-exercises.
.tex, .md) and a slot to teach it — a lecture, a reading group, a job-market practice talk./create-lecture to do the drafting.Not for: literature surveys across many papers (use /lit-review); refereeing the paper's correctness (use /review-paper); drafting the actual Beamer slides (use /create-lecture).
$0 — path to the paper.| Format | How to read it |
| --- | --- |
| .tex, .qmd, .md, .txt | Read directly with the Read tool. |
| .pdf | TMP=$(mktemp -t paper).txt && pdftotext "$0" "$TMP" (poppler-utils), then Read/Grep "$TMP". |
If extraction fails or the tool is missing, ask the user for a plain-text version and stop. The full paper goes in the context window (1M) — read it end-to-end before extracting; do not skim the abstract and guess.
Read the paper start to finish. Then resolve the audience level and time budget — from --level / --minutes if given, otherwise ask once. Echo a Pre-Flight Report before extracting:
## Pre-Flight Report
**Paper:** [title, authors, year]
**One-line thesis:** [the paper's central claim in your words]
**Audience level:** undergrad | phd | seminar (drives notation depth + which proofs survive)
**Time budget:** N minutes (~N/2 slides)
**Prerequisites assumed:** [concepts students must already have]
**Running example candidate:** [the paper's application that can thread the lecture]
Get a nod on level + thesis, then proceed. Level governs everything downstream: undergrad keeps intuition and drops proofs; phd keeps the identifying assumptions and one key derivation; seminar foregrounds the contribution-vs-literature framing.
Produce a motivation → setup → key result → method → takeaways arc, then a slide skeleton matching the time budget (~2 min/slide). Each skeleton entry is a title + one-line content note + figure/diagram placeholder — enough for /create-lecture to draft from, no prose. Honor the project's pedagogy invariants in shape: motivation before formalism, a worked example near each definition, a transition slide at each act break.
/scaffold-exercises, which fleshes out problems, data, and answer keys. Skip if --no-exercises.Write to quality_reports/teach_from_paper_[sanitized-title].md:
# Teaching Package: [Paper Title]
**Audience:** [level] · **Budget:** [N min] · **Date:** [YYYY-MM-DD]
## 1. Lecture Outline
Motivation → Setup → Key Result → Method → Takeaways (one line each)
## 2. Results Worth Presenting
### R1 — [name]
- **Statement:** … · **Intuition:** … · **Breaks when:** …
[R2..R5]
## 3. Slide Skeleton (→ /create-lecture)
| # | Title | Content note | Figure/diagram |
## 4. Discussion Questions
1. [comprehension] … 5. [critique] …
## 5. Exercise Brief (→ /scaffold-exercises)
- **E1:** [prompt] — drills [skill] — answer shape: [form]
/create-lecture [Topic]. Exercise brief ready — run /scaffold-exercises."--level — undergrad | phd | seminar. Sets notation depth, which proofs survive, and question difficulty. Asked interactively if omitted.--minutes — target lecture length; the slide count is roughly --minutes/2.--no-exercises — skip Phase 3's exercise brief (keep discussion questions)./create-lecture — consumes the Phase 2 slide skeleton to draft the actual Beamer deck. See .claude/skills/create-lecture/SKILL.md./review-paper — referee the paper's correctness *before* teaching it if you're unsure the result holds. See .claude/skills/review-paper/SKILL.md./lit-review — for situating the paper among many, rather than teaching one deeply. See .claude/skills/lit-review/SKILL.md./scaffold-exercises (a downstream skill that fleshes out problem sets); this skill stops at the brief./create-lecture. The slide skeleton is an outline, not Beamer./scaffold-exercises./review-paper if the result's validity is in doubt.Take pedrohcgs/teach-from-paper from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.