Lesson Plan Skill
Generate standards-aligned, pedagogy-grounded lesson plans ready to print or drop into a planner.
When to use this skill
Trigger on any phrase combining topic + grade + duration, or any of these concrete cues:
- "Write me a lesson plan on [topic] for [grade]."
- "I need a [duration] lesson on [topic] by tomorrow."
- "Plan a [grade] NGSS lesson on [topic]."
- "Build a Common Core ELA lesson on [topic] for [grade]."
- "Make a homeschool lesson on [topic] for my [grade]er."
- "Give me a [duration] high school [subject] lesson on [topic]."
- "Draft a kindergarten lesson on [topic]."
- "I need an emergency sub plan for [grade] [subject]."
- "Plan a multi-day unit on [topic] for [grade]."
- "Create an IB MYP lesson on [topic]."
- "Cambridge / IGCSE / A Level lesson on [topic]."
- "TEKS-aligned lesson on [topic] for [grade]."
- "First-year-teacher SOS — [duration] lesson on [topic]."
Inputs
Required:
- Topic — free-text.
- Grade — K, 1, 2, … 12, college, grad, or homeschool-equivalent.
- Duration — minutes (or days × minutes for units).
Optional (reasonable defaults applied if absent):
- Standards framework — defaults by subject (CCSS for ELA/Math, NGSS for Science, general best practice otherwise).
- Pedagogy — default Gradual Release (Fisher & Frey "I do / we do / you do"), with UDL as the lens for differentiation. Auto-overrides to 5E for Science lessons unless user specifies otherwise.
- Class size, prior knowledge level, accommodations (ELL/SPED/Gifted).
Output
- Markdown lesson plan (default). 13 sections — see
references/templates/lesson-plan.md for the skeleton.
- YAML footer — machine-readable handoff block for sibling skills (
worksheet, quiz-generator, rubric). Spec in references/output-contract.md.
- Optional PDF — via
shared/scripts/pdf_render.py if the user asks for a printable version.
Inferring grade from phrasing (before asking)
Ask about grade ONLY if you cannot confidently infer it. Use these cues first:
| Cue in user's phrasing |
Likely grade band |
| "my kindergartener," "my 5yo," "circle time," "calendar math" |
K |
| "my 3rd grader," "multiplication tables," "book report" |
3-5 |
| "middle school," "pre-algebra," "ratios," "5 paragraph essay" |
6-8 |
| "AP ___," "PSAT," "thesis statement," "MLA works cited" |
9-12 |
| "syllabus," "semester," "lecture," "TA," "office hours" |
College |
| "dissertation," "my students' IRB," "cohort" |
Grad |
| "my ELL/EB student," "newcomer," "WIDA" |
pair with grade + add ELL strategies |
| "homeschool," "my own kid" |
use grade number; add home-friendly mods |
If confidence is still low, ask ONE clarifying question in this exact shape:
Quick check so I can calibrate this — which grade is this for? (e.g. K · 3rd · 7th · 10th · college)
Do not stack questions. Do not ask for framework, duration, class size, etc. unless the user explicitly wants tight customization.
Workflow (summary — full details in references/workflow.md)
- Parse request — extract topic, grade, duration, framework, flags (sub-plan, multi-day, mini-lesson, block).
- Infer, then clarify — attempt grade inference from the table above first. Only ask one question if grade is still unclear. Duration defaults to 45 min if unspecified.
- Infer defaults — framework by subject, pedagogy = Gradual Release (or 5E for science).
- Select template — default / sub-plan / multi-day unit / mini-lesson trim / block-schedule expansion.
- Load standards reference — read only the file(s) matching the framework.
- Load pedagogy reference — Gradual Release by default; 5E / Madeline Hunter if user-specified.
- Load differentiation catalog — plus learner-category file(s) as needed.
- Load grade-calibration rules — tone, vocabulary, session structure.
- Fill template — measurable objectives, cited standards, topic-specific hook, concrete differentiation.
- Self-check — all sections present, standards cited, YAML valid, timing sums to duration.
- Format + offer follow-ups — suggest sibling skills (worksheet / quiz-generator / rubric) but do NOT auto-invoke.
Progressive disclosure — reference files
Load on demand based on the request. Do NOT read all references for every request.
Standards (load one matching the user's framework)
references/standards/common-core-ela.md — CCSS ELA strands (RL, RI, W, SL, L, RH, RST, WHST) K-12.
references/standards/common-core-math.md — CCSS Math domains + Mathematical Practices K-12.
references/standards/ngss.md — NGSS Performance Expectations, DCIs, SEPs, CCCs.
references/standards/state-frameworks.md — TEKS, NY NGLS, CA, FL B.E.S.T., VA SOL (+ pointers to other states).
references/standards/ib.md — PYP, MYP, DP.
references/standards/cambridge.md — Primary, Lower Secondary, IGCSE, A Level.
Pedagogy
references/pedagogy/gradual-release.md — default — Fisher & Frey.
references/pedagogy/udl.md — always apply — Universal Design for Learning lens.
references/pedagogy/5e.md — auto-override for Science.
references/pedagogy/madeline-hunter.md — on explicit user request.
Differentiation
references/differentiation/catalog.md — always load — cross-cutting strategy index.
references/differentiation/ell-strategies.md — WIDA + SIOP scaffolds.
references/differentiation/sped-strategies.md — IEP / 504 accommodations.
references/differentiation/gifted-strategies.md — depth-not-pace extensions.
Templates
references/templates/lesson-plan.md — default 13-section template.
references/templates/sub-plan.md — emergency substitute plan.
references/templates/multi-day-unit.md — unit with daily sub-sections.
Meta
references/grade-calibration.md — tone + length + vocabulary + activity rules by band.
references/workflow.md — step-by-step generation procedure.
references/edge-cases.md — sub-plan, multi-day, mini-lesson, block schedule, cross-grade, sensitive topics, non-English-primary.
references/output-contract.md — YAML footer spec.
Locked defaults
| Setting |
Default |
| Pedagogy |
Gradual Release (I do / we do / you do) |
| Differentiation lens |
UDL (multiple means of engagement / representation / action & expression) |
| Framework — ELA |
CCSS ELA |
| Framework — Math |
CCSS Math |
| Framework — Science |
NGSS (+ auto-override pedagogy to 5E) |
| Framework — other |
General best practice |
| Output |
Markdown + YAML footer |
| Cross-skill invocation |
None — offer sibling-skill suggestions, do not auto-invoke. |
Micro-example
User: "45-minute lesson on photosynthesis for my 7th grader"
Inferred: grade 7 (explicit), subject=Science → NGSS + 5E pedagogy, duration 45.
Skill responds (no clarifying question needed): fully formed plan starting —
# Photosynthesis: How Plants Make Food (7th Grade Science)
**Standards:** NGSS MS-LS1-6 — Construct a scientific explanation based on evidence
for the role of photosynthesis in the cycling of matter and flow of energy…
**Objective:** Students will model the chemical equation of photosynthesis and
explain how light energy is captured by chloroplasts and converted into chemical
energy in glucose, with 80% accuracy on the exit ticket.
## 5E Workflow (45 min)
1. **Engage (5 min)** — Show a sped-up timelapse of a seedling sprouting in light…
2. **Explore (10 min)** — Lab: observe two elodea sprigs, one in light one in dark…
…
Full YAML footer follows the plan. Sibling-skill suggestions appear at the end.
PDF export (optional)
When the user asks for a PDF, run the shared script from the repo root:
python3 shared/scripts/pdf_render.py \
--input <markdown-file.md> \
--output <output-file.pdf> \
--style lesson-plan
The script expects lesson-plan-style formatting (letterhead, section headers). If the --style lesson-plan flag is unsupported (first-time run against a worksheet-only script), fall back to --style default and note to the user: "PDF rendered with default style — the lesson-plan-specific template is planned for a later update."
Quality bar
Every generated plan must satisfy:
- All required template sections present.
- Standards cited with framework + code + full text (or explicit "no framework applies" note).
- Objectives use measurable Bloom's verbs (NOT "understand," "know," "learn about" as sole verb).
- Differentiation has ELL + SPED + Gifted subsections with 2+ concrete strategies each.
- Materials list matches activity requirements.
- Timing sums to the requested duration.
- Grade-band calibration applied.
- YAML footer present and valid.
What NOT to do
- Do not invent standards codes. If uncertain, describe the strand and note "Verify the specific code with your district."
- Do not use "understand," "know," or "learn about" as the sole verb in any objective.
- Do not skip the Differentiation section, even for short lessons.
- Do not auto-invoke sibling skills — just suggest.
1---2name: lesson-plan3description: Lesson Plan Skill4---56# Lesson Plan Skill78Generate standards-aligned, pedagogy-grounded lesson plans ready to print or drop into a planner.910## When to use this skill1112Trigger on any phrase combining topic + grade + duration, or any of these concrete cues:1314- "Write me a lesson plan on [topic] for [grade]."15- "I need a [duration] lesson on [topic] by tomorrow."16- "Plan a [grade] NGSS lesson on [topic]."17- "Build a Common Core ELA lesson on [topic] for [grade]."18- "Make a homeschool lesson on [topic] for my [grade]er."19- "Give me a [duration] high school [subject] lesson on [topic]."20- "Draft a kindergarten lesson on [topic]."21- "I need an emergency sub plan for [grade] [subject]."22- "Plan a multi-day unit on [topic] for [grade]."23- "Create an IB MYP lesson on [topic]."24- "Cambridge / IGCSE / A Level lesson on [topic]."25- "TEKS-aligned lesson on [topic] for [grade]."26- "First-year-teacher SOS — [duration] lesson on [topic]."2728## Inputs2930Required:31- **Topic** — free-text.32- **Grade** — K, 1, 2, … 12, college, grad, or homeschool-equivalent.33- **Duration** — minutes (or days × minutes for units).3435Optional (reasonable defaults applied if absent):36- Standards framework — defaults by subject (CCSS for ELA/Math, NGSS for Science, general best practice otherwise).37- Pedagogy — default **Gradual Release** (Fisher & Frey "I do / we do / you do"), with **UDL** as the lens for differentiation. Auto-overrides to **5E** for Science lessons unless user specifies otherwise.38- Class size, prior knowledge level, accommodations (ELL/SPED/Gifted).3940## Output4142- **Markdown** lesson plan (default). 13 sections — see `references/templates/lesson-plan.md` for the skeleton.43- **YAML footer** — machine-readable handoff block for sibling skills (`worksheet`, `quiz-generator`, `rubric`). Spec in `references/output-contract.md`.44- **Optional PDF** — via `shared/scripts/pdf_render.py` if the user asks for a printable version.4546## Inferring grade from phrasing (before asking)4748Ask about grade ONLY if you cannot confidently infer it. Use these cues first:4950| Cue in user's phrasing | Likely grade band |51|---|---|52| "my kindergartener," "my 5yo," "circle time," "calendar math" | K |53| "my 3rd grader," "multiplication tables," "book report" | 3-5 |54| "middle school," "pre-algebra," "ratios," "5 paragraph essay" | 6-8 |55| "AP ___," "PSAT," "thesis statement," "MLA works cited" | 9-12 |56| "syllabus," "semester," "lecture," "TA," "office hours" | College |57| "dissertation," "my students' IRB," "cohort" | Grad |58| "my ELL/EB student," "newcomer," "WIDA" | pair with grade + add ELL strategies |59| "homeschool," "my own kid" | use grade number; add home-friendly mods |6061If confidence is still low, ask ONE clarifying question in this exact shape:6263> Quick check so I can calibrate this — which grade is this for? (e.g. **K · 3rd · 7th · 10th · college**)6465Do not stack questions. Do not ask for framework, duration, class size, etc. unless the user explicitly wants tight customization.6667## Workflow (summary — full details in `references/workflow.md`)68691. **Parse request** — extract topic, grade, duration, framework, flags (sub-plan, multi-day, mini-lesson, block).702. **Infer, then clarify** — attempt grade inference from the table above first. Only ask one question if grade is still unclear. Duration defaults to 45 min if unspecified.713. **Infer defaults** — framework by subject, pedagogy = Gradual Release (or 5E for science).724. **Select template** — default / sub-plan / multi-day unit / mini-lesson trim / block-schedule expansion.735. **Load standards reference** — read only the file(s) matching the framework.746. **Load pedagogy reference** — Gradual Release by default; 5E / Madeline Hunter if user-specified.757. **Load differentiation catalog** — plus learner-category file(s) as needed.768. **Load grade-calibration rules** — tone, vocabulary, session structure.779. **Fill template** — measurable objectives, cited standards, topic-specific hook, concrete differentiation.7810. **Self-check** — all sections present, standards cited, YAML valid, timing sums to duration.7911. **Format + offer follow-ups** — suggest sibling skills (worksheet / quiz-generator / rubric) but do NOT auto-invoke.8081## Progressive disclosure — reference files8283Load on demand based on the request. Do NOT read all references for every request.8485### Standards (load one matching the user's framework)8687- `references/standards/common-core-ela.md` — CCSS ELA strands (RL, RI, W, SL, L, RH, RST, WHST) K-12.88- `references/standards/common-core-math.md` — CCSS Math domains + Mathematical Practices K-12.89- `references/standards/ngss.md` — NGSS Performance Expectations, DCIs, SEPs, CCCs.90- `references/standards/state-frameworks.md` — TEKS, NY NGLS, CA, FL B.E.S.T., VA SOL (+ pointers to other states).91- `references/standards/ib.md` — PYP, MYP, DP.92- `references/standards/cambridge.md` — Primary, Lower Secondary, IGCSE, A Level.9394### Pedagogy9596- `references/pedagogy/gradual-release.md` — **default** — Fisher & Frey.97- `references/pedagogy/udl.md` — **always apply** — Universal Design for Learning lens.98- `references/pedagogy/5e.md` — auto-override for Science.99- `references/pedagogy/madeline-hunter.md` — on explicit user request.100101### Differentiation102103- `references/differentiation/catalog.md` — **always load** — cross-cutting strategy index.104- `references/differentiation/ell-strategies.md` — WIDA + SIOP scaffolds.105- `references/differentiation/sped-strategies.md` — IEP / 504 accommodations.106- `references/differentiation/gifted-strategies.md` — depth-not-pace extensions.107108### Templates109110- `references/templates/lesson-plan.md` — **default** 13-section template.111- `references/templates/sub-plan.md` — emergency substitute plan.112- `references/templates/multi-day-unit.md` — unit with daily sub-sections.113114### Meta115116- `references/grade-calibration.md` — tone + length + vocabulary + activity rules by band.117- `references/workflow.md` — step-by-step generation procedure.118- `references/edge-cases.md` — sub-plan, multi-day, mini-lesson, block schedule, cross-grade, sensitive topics, non-English-primary.119- `references/output-contract.md` — YAML footer spec.120121## Locked defaults122123| Setting | Default |124|---|---|125| Pedagogy | Gradual Release (I do / we do / you do) |126| Differentiation lens | UDL (multiple means of engagement / representation / action & expression) |127| Framework — ELA | CCSS ELA |128| Framework — Math | CCSS Math |129| Framework — Science | NGSS (+ auto-override pedagogy to 5E) |130| Framework — other | General best practice |131| Output | Markdown + YAML footer |132| Cross-skill invocation | None — offer sibling-skill suggestions, do not auto-invoke. |133134## Micro-example135136**User:** "45-minute lesson on photosynthesis for my 7th grader"137138**Inferred:** grade 7 (explicit), subject=Science → NGSS + 5E pedagogy, duration 45.139**Skill responds (no clarifying question needed):** fully formed plan starting —140141```142# Photosynthesis: How Plants Make Food (7th Grade Science)143144**Standards:** NGSS MS-LS1-6 — Construct a scientific explanation based on evidence145for the role of photosynthesis in the cycling of matter and flow of energy…146147**Objective:** Students will model the chemical equation of photosynthesis and148explain how light energy is captured by chloroplasts and converted into chemical149energy in glucose, with 80% accuracy on the exit ticket.150151## 5E Workflow (45 min)1521. **Engage (5 min)** — Show a sped-up timelapse of a seedling sprouting in light…1532. **Explore (10 min)** — Lab: observe two elodea sprigs, one in light one in dark…154…155```156157Full YAML footer follows the plan. Sibling-skill suggestions appear at the end.158159## PDF export (optional)160161When the user asks for a PDF, run the shared script from the repo root:162163```bash164python3 shared/scripts/pdf_render.py \165 --input <markdown-file.md> \166 --output <output-file.pdf> \167 --style lesson-plan168```169170The script expects lesson-plan-style formatting (letterhead, section headers). If the `--style lesson-plan` flag is unsupported (first-time run against a worksheet-only script), fall back to `--style default` and note to the user: *"PDF rendered with default style — the lesson-plan-specific template is planned for a later update."*171172## Quality bar173174Every generated plan must satisfy:175176- All required template sections present.177- Standards cited with framework + code + full text (or explicit "no framework applies" note).178- Objectives use measurable Bloom's verbs (NOT "understand," "know," "learn about" as sole verb).179- Differentiation has ELL + SPED + Gifted subsections with 2+ concrete strategies each.180- Materials list matches activity requirements.181- Timing sums to the requested duration.182- Grade-band calibration applied.183- YAML footer present and valid.184185## What NOT to do186187- Do not invent standards codes. If uncertain, describe the strand and note "Verify the specific code with your district."188- Do not use "understand," "know," or "learn about" as the sole verb in any objective.189- Do not skip the Differentiation section, even for short lessons.190- Do not auto-invoke sibling skills — just suggest.