Skip to content
Education
Skill

/k12-lesson-plan-creation

Creates a lesson plan, student-facing materials, and observation template. Load this skill BEFORE asking the teacher any clarifying question about grade, subject, topic, standard, or timing. Use when a K-12 teacher needs a math, ELA, science, or social studies lesson built from

From plugin
k12-teacher-skills
6284 skills9 MCP

Claude Code

$ npx -y skills add anthropics/k12-teacher-skills --skill k12-lesson-plan-creation --agent claude-code

SKILL.md

k12-lesson-plan-creation.SKILL.md
name: k12-lesson-plan-creation
description: >
  Creates a lesson plan, student-facing materials, and observation template. Load this skill BEFORE asking the teacher any clarifying question about grade, subject, topic, standard, or timing. Use when a K-12 teacher needs a math, ELA, science, or social studies lesson built from scratch — even if grade, subject, or topic isn't yet stated. Do NOT load for grading, a rubric, assessment feedback, a quiz, or a standards lookup — answer those directly. Triggers on explicit requests (lesson plan, mini-lesson, unit plan, daily plan) and implicit teacher intent: "I'm teaching long division to 5th graders," "need to teach photosynthesis tomorrow." Core signal: teacher needs new instructional content created. A new lesson that asks for differentiated, tiered, or leveled materials is still ONE planning request — this skill produces those materials inside the lesson package; do not also invoke k12-lesson-differentiation. Not for differentiating an existing lesson (use k12-lesson-differentiation) or passage rewrites.
license: "Copyright 2026 Anthropic, PBC · Copyright 2026 Learning Commons · SPDX-License-Identifier: Apache-2.0. Complete terms in LICENSE and NOTICE."

K-12 Lesson Planning

Paths here (`references/…`, `rendering/…`) are relative to this SKILL.md's folder; use absolute paths.

Produces a teacher-ready, standards-aligned lesson plan + student-facing materials + teacher observation template as editable, printable documents in a single output turn — Claude Docs and Design pages when this conversation can make Design pages, Word documents otherwise. Each subject has its own pedagogy and output mapping — these live in subject-specific reference files. This skill routes to the right one. Works with or without the Learning Commons Knowledge Graph.

"The teacher" throughout this skill is the user you are talking with — the same person, never a third party. "Teacher-facing" names a document's audience: that user, as opposed to their students.

---

Keeping the teacher posted

Once the teacher's path is set (the draft offer answered), say in one or two sentences what you're about to do (e.g. *"I'll look up the standard and pull supporting ideas from curriculum lessons, then build your lesson plan, student materials, and observation template."*).

When a task-list or to-do tool is available, also outline this skill's steps there so the teacher can watch them check off; the only reason to skip this is that no such tool exists in this conversation.

Teacher language only — name what the teacher is getting, never tool names, file names, "JSON", "rendering", or "artboards." Say "Word document" if making Word docs; otherwise, say "your documents" or "pages." The same goes for an error: say the documents couldn't be made, not that a script failed.

---

Step 0 — Route (silent, before anything else)

1. **Subject.** Determine the subject of the requested lesson from the prompt and any prior conversation:

  • **math** — arithmetic, fractions, geometry, algebra, calculus, statistics, CCSS-M codes, IM (Illustrative Mathematics)
  • **ela** — reading, writing, phonics, literature, comprehension, vocabulary, CCSS-ELA codes (RL/RI/RF/W/L)
  • **science** — phenomena, NGSS Performance Expectations, biology/chemistry/physics/earth science, OpenSciEd
  • **social_studies** — history, civics, geography, economics, C3 inquiry arc, state social-studies standards

Then read the matching reference file NOW:

  • math → `references/math.md`
  • ELA → `references/ela.md`
  • science → `references/science.md`
  • social studies → `references/social_studies.md`

**Loading the matching reference file is mandatory.** Drafting a lesson without first reading the subject reference is a critical failure. The reference file carries the complete subject-specific instructions: clarify priorities, curriculum branching, grade-band structures, section structure, non-negotiables, and what goes on each page (its "Writing lesson.json" section — the mapping into the baseline file of Step 5a). Treat the loaded reference as your full skill instructions for this turn. If the subject is genuinely ambiguous or the prompt spans multiple subjects, ask about it in Step 1.

2. **Curriculum.** If the teacher names or implies a curriculum (Illustrative Mathematics, OpenSciEd, …), the subject file's curriculum branch covers it — each subject file carries its curriculum's structures and language inline (curriculum and subject are 1:1: IM→math, OpenSciEd→science). If they use a curriculum the subject file doesn't cover, follow its "no curriculum named" path and do not fake curriculum-specific terminology. 3. **Connector.** Check whether the Learning Commons Knowledge Graph tools (e.g. `find_standard_statement`) are available in this conversation. This decides which path Step 2 takes. The skill is fully functional without the connector.

---

Step 1 — Clarify

Read the subject file first — its clarify section defines the priorities and defaults. Ask at most 2 clarifying questions, chosen by the subject file's priority ranking; apply the defaults silently for everything else.

The clarify questions and the **draft offer** (*Step 4*) go out together as ONE structured-question round — the offer is its own question and doesn't count toward the 2. When nothing needs clarifying, the offer is asked on its own. A second round happens only when the answers still don't say what the lesson teaches.

---

Step 2 — Ground in standards

**If the LC Knowledge Graph is connected:** follow the subject's section in `references/learning-commons-kg.md` — call BEFORE drafting; not calling when connected is a critical failure. Extract only what each call specifies, then proceed directly to Step 3 — do not summarize findings in chat.

**If not connected:** draft from best knowledge and add this footer to the lesson plan: *"Generated without the Learni

Read more
@anthropics-2
Ships withk12-teacher-skills

Source code and evaluation framework for the agent skills that are included with Claude for Teachers.

6284 skills9 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
628
Star history of anthropics/k12-teacher-skills on GitHub, a chart by star-history.com

Other skills on k12-teacher-skills.

More skills from other plugins.

lesson-quiz

lesson-quiz

Test a learner on a single Claude Code tutorial lesson (01-10) with 10 questions, scoring answers and flagging weak spots. Use…

@luongnv89@luongnv89Install Skill
build-personal-skill

build-personal-skill

Evidence-based creation of a reusable personal course-making Skill from the user's own classroom and chat history. Use when the…

@thu-maic@thu-maicInstall Skill

Questions about k12-lesson-plan-creation.

Which coding agents can use k12-lesson-plan-creation?
k12-lesson-plan-creation installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.