Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add YujxZJCN/teaching-skills --skill lesson-builder -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/lesson-builder/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/lesson-builder/

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

Similar skills

All skills for Writing and docs →

From the same set15

ta-coordinator A skill that runs the teaching team behind a course: onboarding, grading calibration, workload split and weekly meetings. Useful when several graders share one syllabus. CX Codex +1 ★ 41repo stars submission-auditor Audits student papers, lab reports, and coding assignments against a verified grading standard, anchoring every issue to exact pages or lines. CX Codex +1 ★ 41repo stars student-mentor Draft feedback, student emails, recommendation letters, and mentoring plans with this teaching-support skill. Use it for office-hour prep or difficult student conversations. CX Codex +1 ★ 41repo stars media-scripter Turns lecture notes and flipped-class specs into mini-lecture scripts, shot-by-shot storyboards, episode series and tidied captions. Built for professors who record their teaching. CX Codex +1 ★ 41repo stars lab-forge Builds lab and programming assignments with datasets, starter code, an autograder, and an executed reference solution. Useful when you need a complete set of teaching materials. CX Codex +1 ★ 41repo stars deck-studio Turns a confirmed slide outline or lecture notes into actual deck files, handouts and posters through Marp, Pandoc, Beamer or python-pptx, using a four-agent team. CX Codex +1 ★ 41repo stars course-publisher Drafts course announcements, weekly updates, static websites, and LMS upload bundles from the Course Passport. Designed for professors delegating student comms. CX Codex +1 ★ 41repo stars course-designer Plans a university course from learning outcomes through assessment and scheduling to the syllabus. Use it to build a course or revise an existing one. CX Codex +1 ★ 41repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor