lesson-builder — Claude Code skill: what it does, how to install
Generates college-level lesson plans, lecture prose, slide outlines, and active-learning activities for single classes or multi-week blocks.
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a claude-codeWhat lesson-builder does
The skill runs a team of six specialized agents that turn course goals into ready-to-teach class packages. One agent designs the timing arc, another drafts lecture prose with worked examples, while others generate slide outlines, discussion guides, teaching cases, and active-learning sheets adapted to room constraints.
Input data is pulled from course_passport.yaml or through an intake dialogue covering class size, delivery mode, and target outcomes. Factual claims the system cannot verify are tagged with [VERIFY], making manual subject checks mandatory before class.
Graded assessments fall outside this skill. If points or formal rubrics attach to an exercise, the workflow hands off to assessment-architect instead.
What it helps with
- structure a timed college lecture arc with active-learning breaks
- draft prose lecture notes complete with step-by-step examples
- design a flipped classroom session with pre-class specs
- produce a teaching case study with a classroom discussion plan
Example prompts for the agent
- Build my Week 5 class on hash tables — 80 students, 75 minutes
- I need an in-class activity for recursion that works with 120 students in fixed seating
- Turn Week 9 into a flipped session: video spec + in-class problem session
How to install lesson-builder
1Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a claude-code2Manually: put the files in place
~/.claude/skills/lesson-builder/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/lesson-builder/
1Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a codex2Manually: put the files in place
.agents/skills/lesson-builder/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a cursor2Manually: put the files in place
.cursor/skills/lesson-builder/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install YujxZJCN/teaching-skills lesson-builder2Manually: put the files in place
.github/skills/lesson-builder/SKILL.md1Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a gemini-cli2Platform CLI
gemini skills install https://github.com/YujxZJCN/teaching-skills --path lesson-builderManually: put the files in place
.devin/skills/lesson-builder/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about lesson-builder
How to install lesson-builder in Claude Code?
Run npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a claude-code in your terminal.
What does lesson-builder do?
It coordinates six agents to turn curriculum outcomes into complete teaching packages: lecture notes, slides outlines, timing plans, and active exercises.
Can I use lesson-builder without course_passport.yaml?
Yes. When the passport file is missing, it runs an intake step asking for class size, duration, format, and week outcomes before drafting.
Source text
SKILL.md · MIT
---
name: lesson-builder
description: "Class-meeting materials builder for university professors. 6-agent team turning a confirmed course design into lesson plans, lecture notes, slide outlines, active-learning activities, teaching cases, discussion guides, and flipped-classroom packages — one meeting or whole passport weeks at a time. Triggers on: lesson plan, lecture notes, slides, slide outline, in-class activity, active learning, case study, discussion questions, flipped classroom, prepare my class, teach next week, 备课, 教案, 讲稿, 课件, 课堂活动, 案例教学, 讨论课, 翻转课堂, 互动环节."
metadata:
version: "1.0.0"
last_updated: "2026-06-10"
status: active
pipeline_stage: 2
related_skills:
- course-designer
- assessment-architect
- teaching-pipeline
---
# Lesson Builder — Class-Meeting Materials Team
Builds the materials a professor actually walks into class with, from the design the
pipeline already confirmed: passport schedule weeks in, lesson packages out. The
professor brings the discipline content and knowledge of the room; this skill brings
lesson structure, active-learning craft, and tireless drafting — and it marks every
domain claim it cannot vouch for instead of sounding confident.
> **Prime rule:** a lesson serves the week's outcomes, not the other way around. If the
> professor asks for materials on a topic mapped to no outcome, build them — and flag the
> orphan once (Pedagogy Foundations §2), then let the professor decide.
## Quick Start
```
Build my Week 5 class on hash tables — 80 students, 75 minutes
帮我准备下周二的课,主题是回归分析,需要教案和课件大纲
I need an in-class activity for recursion that works with 120 students in fixed seating
Turn Week 9 into a flipped session: video spec + in-class problem session
Write a teaching case on a product-recall decision for my operations course
```
## Modes
| Mode | Trigger intent | Output |
|------|---------------|--------|
| `full` | "Prepare my class on X" / "build Week N" for one meeting | Complete package: lesson plan + lecture notes + slide outline + activity sheets |
| `lecture-notes` | "Write lecture notes / 讲稿 on…" | Full prose lecture notes with worked examples and speaker asides |
| `slides-outline` | "Make slides for…" | Slide-by-slide outline (assertion titles, figure specs) — not finished slides |
| `activities` | "I need an activity / make this interactive" | Active-learning activity design(s) with sheets and instructor logistics |
| `case-study` | "Write a teaching case on…" | Teaching case + teaching notes (discussion arc, board plan) |
| `discussion-guide` | "Discussion questions for…" / seminar prep | Question ladder + facilitation guide + async variant |
| `flipped` | "Flip this class" / pre-class video + in-class work | Pre-class material spec + in-class application session plan |
| `week-batch` | "Build Weeks 3–6" / pipeline Stage 2 run | `full` packages for each meeting in the range, one checkpoint per week |
**Mode dispatch rule:** ambiguous between a single artifact and `full` → ask which the
professor wants before building; a lesson package nobody asked for is wasted review
time. `week-batch` is the pipeline's mode — standalone professors usually want one
meeting at a time. Detect intent in any language.
### Does NOT trigger
| Scenario | Use instead |
|----------|-------------|
| Designing outcomes, the semester schedule, or the syllabus | `course-designer` |
| Writing graded instruments — exams, quizzes, rubrics, project briefs | `assessment-architect` |
| Full design → materials → assessment run across stages | `teaching-pipeline` |
(Ungraded in-class checks — minute papers, clicker questions used formatively — belong
here; the moment points attach, route to `assessment-architect`.)
## Agent Team (6)
| Agent | Role |
|-------|------|
| `lesson_planner_agent` | Designs the meeting arc: activation opener, timed segments, closure check, contingency notes; verifies the week's outcomes from the passport |
| `lecture_writer_agent` | Full prose lecture notes per segment: signal-before-detail, worked examples, anticipated misconceptions, `[VERIFY]` markers on uncertain claims |
| `slide_outliner_agent` | Slide-by-slide outlines: one idea per slide, assertion titles, figure specs with alt-text notes; flags where board work beats slides |
| `activity_designer_agent` | Selects and adapts techniques from `references/active_learning_catalog.md` to class size/modality; outputs activity sheets with full logistics |
| `case_study_writer_agent` | Teaching cases + teaching notes; synthetic scenarios are labeled, never passed off as real-world fact |
| `discussion_designer_agent` | Discussion guides: question ladders, equity-of-voice tactics, facilitation moves, online-async variant |
## Workflow (`full` mode)
```
Phase 0 LOAD — read the target week from course_passport.yaml: topic, outcomes,
assessments_due, learner_profile, class_size, modality, meeting
length. No passport → standalone intake: ask for exactly these
facts (Passport Iron Rule 2 — ask, don't guess), offer passport
creation at exit.
Phase 1 ARC — lesson_planner drafts the meeting arc per
references/lesson_anatomy.md: opener, segments with minute
timings, active-segment placement, closure, contingencies
🧑 checkpoint: arc confirmed (cheapest moment to change the lesson's shape —
present the timing budget, where actives land, and what got cut)
Phase 2 BUILD — parallel: lecture_writer (notes per segment) + slide_outliner
(outline keyed to segments) + activity_designer (sheets for each
active segment). All three build against the SAME confirmed arc;
none renegotiates timings unilaterally — conflicts go to the
checkpoint, not into the artifacts.
Phase 3 ASSEMBLE — package: lesson plan (templates/lesson_plan_template.md) +
lecture notes + slide outline + activity sheets; cross-check
segment IDs and timings agree across all four; collect every
[VERIFY] marker into one review list
🧑 checkpoint: package confirmed → passport week updated (activities[],
artifact_refs[], confirmed_by_professor)
```
Default lesson shape (overridable, surfaced as a "key decision" at the arc checkpoint):
at least one active segment per 20–25 minutes of lecture, scaled to class size and
modality (Pedagogy Foundations §4); worked examples before open problems when the
learner profile says novices (§9). `flipped` mode moves first-exposure input to the
pre-class spec and rebuilds the in-class arc around application. `week-batch` runs this
workflow per meeting; checkpoint cadence is per week, collapsing to minimal
confirmations when the professor says "just proceed" (Checkpoint Protocol).
## Iron rules
1. **Backward dependency.** Every lesson serves its week's outcomes from the passport.
Content serving no outcome is flagged at the arc checkpoint — once, with the orphaned
segment named — never silently built or silently dropped.
2. **No fabricated discipline content.** Facts, data, formulas, dates, and examples the
agent is not certain of carry `[VERIFY: <claim> — <why uncertain>]` inline. The
assembled package leads with the consolidated [VERIFY] list; a lesson ships with zero
unresolved markers or the professor's explicit acceptance.
3. **Activities are runnable, not aspirational.** Every activity states timing, group
size, materials, the launch script (what the instructor literally says), and failure
modes with fixes. "Have students discuss in groups" without logistics does not pass
Phase 3 assembly.
4. **UDL basics by default** (Quality Gate U1): heading structure in handouts, alt-text
notes on every figure spec, caption notes on any video spec, colorblind-safe palette
notes in graphics specs. Gaps are flagged at the package checkpoint, not left for
Gate 3.5 to find.
5. **Passport discipline.** After package confirmation, write `activities[]` and
`artifact_refs[]` to the week's schedule entry — append, never overwrite, and never
before the professor confirms (Passport Iron Rules 1, 4). Artifacts stay clean of
pedagogy citations; rationale at checkpoints cites Pedagogy Foundations §.
## Outputs
- `lessons/W<N>_lesson_plan.md` — from `templates/lesson_plan_template.md`
- `lessons/W<N>_lecture_notes.md` — prose notes keyed to plan segments
- `lessons/W<N>_slides_outline.md` — slide-by-slide outline with figure specs
- `lessons/W<N>_activity_<name>.md` — from `templates/activity_sheet_template.md`, one per active segment
- (`case-study` mode) `lessons/case_<name>.md` + `lessons/case_<name>_teaching_notes.md`
- (`discussion-guide` mode) `lessons/W<N>_discussion_guide.md`
- (`flipped` mode) `lessons/W<N>_preclass_spec.md` + in-class session plan
- Updated `course_passport.yaml` schedule entries (after confirmation)
## References
- `references/active_learning_catalog.md` — ~15 techniques with time/size/modality/prep fit and failure modes
- `references/lesson_anatomy.md` — the lesson-plan anatomy this skill enforces, and how it flexes
- `templates/lesson_plan_template.md`
- `templates/activity_sheet_template.md`
- Shared: `shared/pedagogy_foundations.md`, `shared/course_passport_schema.md`,
`shared/checkpoint_protocol.md`, `shared/quality_gate_protocol.md`
© YujxZJCN · MIT · YujxZJCN/teaching-skills