
K-12 Lesson Plan Creation
SkillCreates K-12 lesson plans from scratch aligned to US state standards, with student materials and a classroom observation template as editable Word documents, for math, English language arts, science and social studies. From Anthropic and Learning Commons.
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)
-
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.
-
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.
-
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 Learning Commons Knowledge Graph. Standards and misconceptions reflect general best practice." Do not invent KG citations or attribute content to curriculum materials you have not seen.
Step 3 — Build the lesson
Follow the subject file's build section: curriculum branching, grade-band structure, section structure, and non-negotiables. Respect the Copyright guardrail below — never reproduce curriculum student-facing text verbatim.
Copyright guardrail
Always write original content. KG curriculum materials inform structure, scope, text selection, phenomenon selection, problem context, and lesson-arc design only — never reproduce student-facing text, teacher notes, comprehension questions, investigation prompts, discussion questions, activity narratives, or problem contexts verbatim from KG curriculum materials.
If the loaded reference identifies a source curriculum (e.g., IM for math, OpenSciEd for science) and the teacher is not curriculum-confirmed for it, never name that curriculum anywhere in the output or in any chat message — not in headers, footnotes, rationale sections, facilitation notes, or your message presenting the artifacts. The KG data informs the design without being cited.
Step 4 — The draft offer
The teacher gets the choice of a fast draft before the build. The offer rides in Step 1's round (structured question tool when available, chat otherwise), and its two sides are always the packet and the draft. The wording below lives in the question itself — the teacher may act on it without reading the chat text around it:
- Question: Should I build a full classroom-ready packet (lesson plan + student materials, as editable, printable documents), or do you want to see a quick draft first?
- Options: Go ahead and build it · Quick draft first — the lesson at a glance, right here in chat
The full packet is the default. A reply that selects the draft option or asks to see the draft gets the draft; every other reply runs Steps 2–3 and goes straight to Step 5.
The draft (on a yes) is built on Steps 2–3, never instead of them. Run Step 2 in full — every KG call, exactly as written — and Step 3 before sketching anything. A draft sketched without the Step 2 grounding is a critical failure, the same failure as skipping the KG on the full build. Then present the lesson in chat — the draft is chat text only; the documents are made at Step 5 once the teacher approves. Show:
- one line naming the grade, topic, and the standard the lesson is anchored to (code plus a gist of ten words or fewer);
- a summary of at most 3 sentences (what students do and why it works for this class);
- the sequence as one bullet per phase (name, minutes, one line of what happens);
- the student work at a glance — the actual tasks students will do, enough for the teacher to skim and judge coverage;
- what the lesson assumes students already know — the prerequisite skills or key vocabulary in play — so the teacher can catch a mismatch with where their class is;
- the exit ticket
The draft borrows its names from the documents it previews — phases, tasks, tiers, and sections are called what the plan will call them.
Afterwards, ask what's next in plain chat — a typed reply can carry the changes themselves, which a picked option cannot: "Want anything different? Tell me here — or tell me to go ahead and I'll create the materials (lesson plan, student materials, and observation template, as editable, printable documents)."
Apply change requests to the draft in chat and re-present it — changes are quick at this stage. Step 5 runs in the turn the teacher gives the go-ahead.
Step 5 — Output (one turn)
Runs immediately when the teacher chose the full packet, or in the turn the draft is approved.
5a. Read references and make the common JSON
- Read
references/output.mdin full first and the hard requirements for every document's content: brevity, everything matches, reading level and workload, sentence supports, integrity. - Then read
references/lesson-json.mdand write ONE completelesson.json, which is the lesson's common baseline. Every path makes its documents from it; it fixes WHAT each document carries, not how a page looks.
5b. Make every document — same turn
Check whether your artifact tool can create an artifact from a published type; if it can, look at its type list. Take the first row that applies and read its file:
| What you have | Read |
|---|---|
| Design is in the type list | rendering/claude-artifact.md |
| Design isn't listed, or there is no such tool | rendering/docx.md |
After creation, if there is no student page, say so plainly ("This lesson is oral, so there's no student handout — students will work with …"). If making the documents fails entirely, say so; don't silently fall back to chat.
5c. The satisfaction ask + iteration options (every output turn)
End the turn with EXACTLY ONE closing message that does three things, in this order:
- If Materials names equipment the classroom has that a paper version can stand in for — coins, blocks, dice, a hundred chart — lead with a bolded offer to print it: "This lesson uses base-ten blocks — want me to make a printable set in case yours are short?" Anything whose content this lesson wrote — word cards, a source excerpt, a sorting mat with this lesson's categories — already ships with the package.
- Asks whether the teacher is satisfied with every artifact produced or wants changes — e.g. "Take a look at the lesson plan, student materials, and observation template — anything you'd like me to adjust?" Do not skip the ask.
- Offers 3–4 high-leverage, specific iteration options customized to the subject and topic. Do not write "let me know if you want changes" — that's a non-offer. For example, for a 3–5 ELA reading comprehension lesson: "Would you like to (1) add more scaffolds for English learners, (2) differentiate by proficiency level, or (3) adapt to be specific to your state standards?"
5d. Revisions — one change, every document stays in sync
- Make targeted edits to
lesson.jsonfirst: content registered inshared(a problem, a source, the exit ticket, vocabulary, look-fors, the context's numbers) is edited there, once, and every document that pulls it follows identically. - Consistency sweep after any context/number/task change: re-read every document and update every sentence that still mentions the old context, names, or numbers. When you are done, no document may reference the replaced content anywhere — stale prose is the most common consistency failure.
- A change aimed at one document (e.g. "more workspace on the worksheet", "add a column to the observation grid") stays in that document.
- Then carry it into the documents the way your path's file says (Docs and canvas: only the parts and pages whose content changed; Word: re-render).
관련 리소스

K-12 Lesson Differentiation
SkillAdapts an existing K-12 lesson into below, at and above grade-level versions, producing a teacher differentiation plan and three student handouts as Word documents; can use the Learning Commons Knowledge Graph. Official Anthropic skill.
anthropics/k12-teacher-skills568
Claude Academy Guide
SkillWhen answering questions about using Claude and its products, attaches a matching course, tutorial or case study from the Claude Academy catalog. Recommends only strong matches and never invents courses. Official Anthropic skill.
anthropics/skills182k
K-12 Check for Understanding
SkillGenerates 1-3 in-class check-for-understanding questions for a math concept or standard, with distractors drawn from common student misconceptions and a teacher guide on what to teach next for each answer. Official Anthropic skill; math only for now.
anthropics/k12-teacher-skills567
K-12 Lesson Prep
SkillHelps teachers prepare to teach an existing K-12 lesson: walk through the key student tasks together and leave a short teacher prep note. Works for math, English language arts, science and social studies. Official Anthropic skill.
anthropics/k12-teacher-skills567
document-skills
PluginAnthropic's document skills, the implementation behind Claude's file features: create, edit and analyze Word, Excel, PowerPoint and PDF files, including tracked changes, comments, formulas and form filling. Source-available, not under an open-source license.
anthropics/skills182k
Explanatory Output Style
PluginRecreates the deprecated Explanatory output style with a SessionStart hook: adds Insight notes before and after code that explain implementation trade-offs and codebase conventions. Official Anthropic plugin; uses extra tokens.
anthropics/claude-code151k