[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-k12-lesson-plan-creation":3,"mdc--72ydcx-key":34,"related-org-anthropic-k12-lesson-plan-creation":1055,"related-repo-anthropic-k12-lesson-plan-creation":1237},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"k12-lesson-plan-creation","create K-12 lesson plans and materials","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.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20],{"name":14,"slug":15,"type":16},"Documentation","documentation","tag",{"name":18,"slug":19,"type":16},"Education","education",{"name":21,"slug":22,"type":16},"Templates","templates",95,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fk12-teacher-skills","2026-08-29T09:48:11.913027","Copyright 2026 Anthropic, PBC · Copyright 2026 Learning Commons · SPDX-License-Identifier: Apache-2.0. Complete terms in LICENSE and NOTICE.",23,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Skills and eval rubrics for K-12 teachers, co-developed with Learning Commons","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fk12-teacher-skills\u002Ftree\u002FHEAD\u002Fplugin\u002Fskills\u002Fk12-lesson-plan-creation","---\nname: k12-lesson-plan-creation\ndescription: >\n  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.\nlicense: \"Copyright 2026 Anthropic, PBC · Copyright 2026 Learning Commons · SPDX-License-Identifier: Apache-2.0. Complete terms in LICENSE and NOTICE.\"\n---\n\n# K-12 Lesson Planning\n\nProduces a teacher-ready, standards-aligned lesson plan + student-facing materials + teacher\nobservation template as editable Word documents in a single output turn, rendered from one material-source JSON via\nbundled scripts. Each subject has its own pedagogy and\noutput mapping — these live in subject-specific reference files. This skill routes to the\nright one. Works with or without the Learning Commons Knowledge Graph.\n\n\"The teacher\" throughout this skill is the user you are talking with — the same person, never\na third party. \"Teacher-facing\" names a document's audience: that user, as opposed to their\nstudents.\n\n---\n\n## Keeping the teacher posted\n\nOnce the teacher's path is set (the draft offer answered), say in one or two sentences\nwhat you're about to do (e.g. *\"I'll look up the standard and pull supporting ideas from\ncurriculum lessons, then build your lesson plan, student materials, and observation\ntemplate.\"*).\n\nWhen a task-list or to-do tool is available, also outline this skill's steps there so the\nteacher can watch them check off; the only reason to skip this is that no such tool exists\nin this conversation.\n\nTeacher language only — name what the teacher is getting, never tool names, file names,\n\"JSON\", or \"rendering\".\n\n---\n\n## Step 0 — Route (silent, before anything else)\n\n1. **Subject.** Determine the subject of the requested lesson from the prompt and any prior\n   conversation:\n\n   - **math** — arithmetic, fractions, geometry, algebra, calculus, statistics, CCSS-M codes, IM (Illustrative Mathematics)\n   - **ela** — reading, writing, phonics, literature, comprehension, vocabulary, CCSS-ELA codes (RL\u002FRI\u002FRF\u002FW\u002FL)\n   - **science** — phenomena, NGSS Performance Expectations, biology\u002Fchemistry\u002Fphysics\u002Fearth science, OpenSciEd\n   - **social_studies** — history, civics, geography, economics, C3 inquiry arc, state social-studies standards\n\n   Then read the matching reference file NOW:\n\n   - math → `references\u002Fmath.md`\n   - ELA → `references\u002Fela.md`\n   - science → `references\u002Fscience.md`\n   - social studies → `references\u002Fsocial_studies.md`\n\n   **Loading the matching reference file is mandatory.** Drafting a lesson without first\n   reading the subject reference is a critical failure. The reference file carries the\n   complete subject-specific instructions: clarify priorities, curriculum branching,\n   grade-band structures, section structure, non-negotiables, and the lesson.json mapping.\n   Treat the loaded reference as your full skill instructions for this turn. If the subject\n   is genuinely ambiguous or the prompt spans multiple subjects, ask about it\n   in Step 1.\n\n2. **Curriculum.** If the teacher names or implies a curriculum (Illustrative Mathematics,\n   OpenSciEd, …), the subject file's curriculum branch covers it — each subject\n   file carries its curriculum's structures and language inline (curriculum and subject are\n   1:1: IM→math, OpenSciEd→science). If they use a curriculum the subject\n   file doesn't cover, follow its \"no curriculum named\" path and do not fake\n   curriculum-specific terminology.\n3. **Connector.** Check whether the Learning Commons Knowledge Graph tools (e.g.\n   `find_standard_statement`) are available in this conversation. This decides which path\n   Step 2 takes. The skill is fully functional without the connector.\n\n---\n\n## Step 1 — Clarify\n\nRead the subject file first — its clarify section defines the priorities and defaults. Ask\nat most 2 clarifying questions, chosen by the subject file's priority ranking; apply the\ndefaults silently for everything else.\n\nThe clarify questions and the **draft offer** (*Step 4*) go out together as ONE\nstructured-question round — the offer is its own question and doesn't count toward the 2.\nWhen nothing needs clarifying, the offer is asked on its own. A second round happens only\nwhen the answers still don't say what the lesson teaches.\n\n---\n\n## Step 2 — Ground in standards\n\n**If the LC Knowledge Graph is connected:** follow the subject's section in\n`references\u002Flearning-commons-kg.md` — call BEFORE drafting; not calling when connected is a\ncritical failure. Extract only what each call specifies, then proceed directly to Step 3 — do\nnot summarize findings in chat.\n\n**If not connected:** draft from best knowledge and add this footer to the lesson plan:\n*\"Generated without the Learning Commons Knowledge Graph. Standards and misconceptions reflect\ngeneral best practice.\"* Do not invent KG citations or attribute content to curriculum\nmaterials you have not seen.\n\n---\n\n## Step 3 — Build the lesson\n\nFollow the subject file's build section: curriculum branching, grade-band structure, section\nstructure, and non-negotiables. Respect the **Copyright guardrail** below — never reproduce\ncurriculum student-facing text verbatim.\n\n---\n\n## Copyright guardrail\n\nAlways write original content. KG curriculum materials inform structure, scope, text\nselection, phenomenon selection, problem context, and lesson-arc design only — never\nreproduce student-facing text, teacher notes, comprehension questions, investigation\nprompts, discussion questions, activity narratives, or problem contexts verbatim from KG\ncurriculum materials.\n\nIf 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\nthat curriculum anywhere in the output or in any chat message — not in headers, footnotes,\nrationale sections, facilitation notes, or your message presenting the artifacts. The KG\ndata informs the design without being cited.\n\n---\n\n## Step 4 — The draft offer\n\nThe teacher gets the choice of a fast draft before the build. The offer rides in Step 1's\nround (structured question tool when available, chat otherwise), and its two sides are\nalways the packet and the draft. The wording below lives in the question itself — the\nteacher may act on it without reading the chat text around it:\n\n- Question: *Should I build a full classroom-ready packet (lesson plan + student\n  materials, as editable Word docs), or do you want to see a quick draft first?*\n- Options: **Go ahead and build it** · **Quick draft first** — the lesson at a glance,\n  right here in chat\n\n**The full packet is the default.** A reply that selects the draft option or asks to see\nthe draft gets the draft; every other reply runs Steps 2–3 and goes straight to Step 5.\n\n**The draft (on a yes) is built on Steps 2–3, never instead of them.** Run Step 2 in\nfull — every KG call, exactly as written — and Step 3 before sketching anything. A draft\nsketched without the Step 2 grounding is a critical failure, the same failure as skipping\nthe KG on the full build. Then present the lesson in chat — the draft is chat text only;\nrendering happens at Step 5 once the teacher approves. Show:\n\n- one line naming the grade, topic, and the standard the lesson is anchored to (code plus\n  a gist of ten words or fewer);\n- a summary of at most 3 sentences (what students do and why it works for this class);\n- the sequence as one bullet per phase (name, minutes, one line of what happens);\n- the student work at a glance — the actual tasks students will do, enough for the\n  teacher to skim and judge coverage;\n- what the lesson assumes students already know — the prerequisite skills or key\n  vocabulary in play — so the teacher can catch a mismatch with where their class is;\n- the exit ticket\n\nThe draft borrows its names from the documents it previews — phases, tasks, tiers,\nand sections are called what the plan will call them.\n\nAfterwards, ask what's next in plain chat — a typed reply can carry the changes themselves,\nwhich a picked option cannot: *\"Want anything different? Tell me here — or tell me to go\nahead and I'll create the materials (lesson plan, student materials, and observation\ntemplate, as editable Word docs).\"*\n\nApply change requests to the draft in chat and re-present it — changes are quick at this\nstage. Step 5 runs in the turn the teacher gives the go-ahead.\n\n---\n\n## Step 5 — Output (one turn)\n\nRuns immediately when the teacher chose the full packet, or in the turn the draft is\napproved.\n\nThe artifacts are rendered by bundled scripts from **one material-source `lesson.json`**. The JSON\nholds a `shared` block (content registered once) and a `documents[]` array (each document\nauthored as free-form `sections`). A section's `heading` renders as a large title directly\nabove its blocks; a block's `label` renders as a bold lead-in on the block itself. A label\nthat repeats its section's heading prints the same words twice in a row — labels carry what\nthe heading doesn't (the task's name belongs in one of them, not both). You\ncompose every page — the lesson plan, the student\nmaterials, the observation template, and any others the lesson needs (e.g. a source packet)\n— directly in `documents[]`. Anything that appears on more than one page is registered once\nin `shared` under a key you choose and pulled into each document with\n`{\"type\": \"from_shared\", \"key\": …}`, so the pages cannot drift apart.\n\nNever write layout code, never re-type lesson content into another format, and never edit a\ngenerated document directly — every change goes into `lesson.json` and is re-rendered\n(re-rendering is instant). **Do not open, cat, head, or grep the renderer scripts** — their\nbehavior is fully specified by the commands and output paths in §5a–5e, and\n`references\u002Fexample_lesson.json` is a filled-in worked example. Reading script source tells\nyou nothing these instructions don't already state.\n\n**Plain language with the teacher.** The machinery above is invisible to the teacher: never\nmention JSON, HTML, schemas, scripts, rendering, file names (`lesson.json`), or code in any\nteacher-facing message — and never link or name the `.html` files the render command also\nwrites. Say *\"Here's your lesson plan — the student materials and observation template are on\ntheir way\"*, not *\"I've rendered lesson.json\"*. The only format word in your prose is\n\"Word document\". This\napplies to every turn: presenting artifacts, the satisfaction ask, revision summaries, and\nerror messages (if generation fails, say the documents couldn't be created — not that a\nscript or JSON failed).\n\nBefore writing `lesson.json`, read `references\u002Foutput.md` in full — it carries the hard\nrequirements for every document (density, consistency, reading level, integrity) and the\ncomplete `lesson.json` schema and block guide (§5a and §5e live there).\n\n### 5b. Render every Word document — one command, same turn\n\n```bash\nbash scripts\u002Frender_all.sh lesson.json \"$OUTPUT_DIR\"\n```\n\nThis writes one editable `.docx` per `documents[]` entry, named by `id` (e.g.\n`$OUTPUT_DIR\u002Flesson_plan.docx`, `student_materials.docx`, `observation_template.docx`,\n`source_packet.docx`), plus `.html` and `lesson.json` working files. Render straight into\n`$OUTPUT_DIR` and leave everything the script writes in place — later revision turns\nre-render from the working files even though the teacher only sees the Word documents. Then list `$OUTPUT_DIR`\nand confirm every document has both its `.docx` and `.html`; if either is missing or tiny,\nrerun the script. Present the Word documents to the teacher together — attach the lesson plan\nlast so it lands on top (chat surfaces stack newest-first). If there is no `student_materials`\ndocument, say so plainly (\"This lesson is oral, so there's no student handout — students will\nwork with …\"). If the script errors, fix `lesson.json` (it is almost always malformed JSON)\nand rerun. If file generation fails entirely, say so clearly — do not silently fall back to a\nchat-only delivery.\n\n### 5c. The satisfaction ask + iteration options (every output turn)\n\nEnd the turn with EXACTLY ONE closing message that does three things, in this order:\n\n1. **If Materials names equipment the classroom has that a paper version can stand in\n   for** — coins, blocks, dice, a hundred chart — lead with a bolded offer to print it:\n   *\"**This lesson uses base-ten blocks — want me to make a printable set in case\n   yours are short?**\"* Anything whose content this lesson wrote — word cards, a\n   source excerpt, a sorting mat with this lesson's categories — already ships with\n   the package.\n2. Asks whether the teacher is satisfied with **every artifact produced** or wants changes —\n   e.g. *\"Take a look at the lesson plan, student materials, and observation template — anything\n   you'd like me to adjust?\"* Do not skip the ask.\n3. Offers 3–4 high-leverage, **specific** iteration options customized to the subject and\n   topic. Do not write \"let me know if you want changes\" — that's a non-offer. For example,\n   for a 3–5 ELA reading comprehension lesson: *\"Would you like to (1) add more scaffolds for\n   English learners, (2) differentiate by proficiency level, or (3) adapt to be specific to\n   your state standards?\"*\n\n### 5d. Revisions — one edit, every artifact stays in sync\n\nMake **targeted edits to `lesson.json`**, then re-render every document (instant). Rules that\nkeep the artifacts consistent:\n\n- If the change touches content registered in `shared` (a problem, a source, the exit ticket,\n  vocabulary, look-fors, the phenomenon\u002Fcontext\u002Fnumbers), edit it **in `shared`** — every\n  document that pulls that key updates automatically.\n- **Consistency sweep after any context\u002Fnumber\u002Ftask change:** after editing `shared`, re-read\n  every prose block in every `documents[]` entry and update every sentence that still mentions\n  the old context, names, or numbers. When you are done, no document may reference the\n  replaced content anywhere — stale prose is the most common consistency failure.\n- A change aimed at one document (e.g. \"more workspace on the worksheet\", \"add a column to the\n  observation grid\") goes in that document's `sections` — never by forking a `shared` key into\n  two variants.\n- Styling: `theme` fields (`primary`, `title_size`, `body_size`) apply to every artifact.\n  Artifacts use minimal color so they print cleanly in black-and-white; do not set\n  per-section or per-phase colors.\n\n",{"data":35,"body":36},{"name":4,"description":6,"license":26},{"type":37,"children":38},"root",[39,48,54,59,63,70,83,88,93,96,102,254,257,263,268,287,290,296,314,331,334,340,352,355,360,365,370,373,379,384,416,426,436,469,474,484,489,492,498,503,583,610,649,676,683,733,848,854,859,921,927,944,1049],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"k-12-lesson-planning",[45],{"type":46,"value":47},"text","K-12 Lesson Planning",{"type":40,"tag":49,"props":50,"children":51},"p",{},[52],{"type":46,"value":53},"Produces a teacher-ready, standards-aligned lesson plan + student-facing materials + teacher\nobservation template as editable Word documents in a single output turn, rendered from one material-source JSON via\nbundled scripts. Each subject has its own pedagogy and\noutput mapping — these live in subject-specific reference files. This skill routes to the\nright one. Works with or without the Learning Commons Knowledge Graph.",{"type":40,"tag":49,"props":55,"children":56},{},[57],{"type":46,"value":58},"\"The teacher\" throughout this skill is the user you are talking with — the same person, never\na third party. \"Teacher-facing\" names a document's audience: that user, as opposed to their\nstudents.",{"type":40,"tag":60,"props":61,"children":62},"hr",{},[],{"type":40,"tag":64,"props":65,"children":67},"h2",{"id":66},"keeping-the-teacher-posted",[68],{"type":46,"value":69},"Keeping the teacher posted",{"type":40,"tag":49,"props":71,"children":72},{},[73,75,81],{"type":46,"value":74},"Once the teacher's path is set (the draft offer answered), say in one or two sentences\nwhat you're about to do (e.g. ",{"type":40,"tag":76,"props":77,"children":78},"em",{},[79],{"type":46,"value":80},"\"I'll look up the standard and pull supporting ideas from\ncurriculum lessons, then build your lesson plan, student materials, and observation\ntemplate.\"",{"type":46,"value":82},").",{"type":40,"tag":49,"props":84,"children":85},{},[86],{"type":46,"value":87},"When a task-list or to-do tool is available, also outline this skill's steps there so the\nteacher can watch them check off; the only reason to skip this is that no such tool exists\nin this conversation.",{"type":40,"tag":49,"props":89,"children":90},{},[91],{"type":46,"value":92},"Teacher language only — name what the teacher is getting, never tool names, file names,\n\"JSON\", or \"rendering\".",{"type":40,"tag":60,"props":94,"children":95},{},[],{"type":40,"tag":64,"props":97,"children":99},{"id":98},"step-0-route-silent-before-anything-else",[100],{"type":46,"value":101},"Step 0 — Route (silent, before anything else)",{"type":40,"tag":103,"props":104,"children":105},"ol",{},[106,226,236],{"type":40,"tag":107,"props":108,"children":109},"li",{},[110,116,118,162,166,168,216,219,224],{"type":40,"tag":111,"props":112,"children":113},"strong",{},[114],{"type":46,"value":115},"Subject.",{"type":46,"value":117}," Determine the subject of the requested lesson from the prompt and any prior\nconversation:",{"type":40,"tag":119,"props":120,"children":121},"ul",{},[122,132,142,152],{"type":40,"tag":107,"props":123,"children":124},{},[125,130],{"type":40,"tag":111,"props":126,"children":127},{},[128],{"type":46,"value":129},"math",{"type":46,"value":131}," — arithmetic, fractions, geometry, algebra, calculus, statistics, CCSS-M codes, IM (Illustrative Mathematics)",{"type":40,"tag":107,"props":133,"children":134},{},[135,140],{"type":40,"tag":111,"props":136,"children":137},{},[138],{"type":46,"value":139},"ela",{"type":46,"value":141}," — reading, writing, phonics, literature, comprehension, vocabulary, CCSS-ELA codes (RL\u002FRI\u002FRF\u002FW\u002FL)",{"type":40,"tag":107,"props":143,"children":144},{},[145,150],{"type":40,"tag":111,"props":146,"children":147},{},[148],{"type":46,"value":149},"science",{"type":46,"value":151}," — phenomena, NGSS Performance Expectations, biology\u002Fchemistry\u002Fphysics\u002Fearth science, OpenSciEd",{"type":40,"tag":107,"props":153,"children":154},{},[155,160],{"type":40,"tag":111,"props":156,"children":157},{},[158],{"type":46,"value":159},"social_studies",{"type":46,"value":161}," — history, civics, geography, economics, C3 inquiry arc, state social-studies standards",{"type":40,"tag":163,"props":164,"children":165},"br",{},[],{"type":46,"value":167},"Then read the matching reference file NOW:",{"type":40,"tag":119,"props":169,"children":170},{},[171,183,194,205],{"type":40,"tag":107,"props":172,"children":173},{},[174,176],{"type":46,"value":175},"math → ",{"type":40,"tag":177,"props":178,"children":180},"code",{"className":179},[],[181],{"type":46,"value":182},"references\u002Fmath.md",{"type":40,"tag":107,"props":184,"children":185},{},[186,188],{"type":46,"value":187},"ELA → ",{"type":40,"tag":177,"props":189,"children":191},{"className":190},[],[192],{"type":46,"value":193},"references\u002Fela.md",{"type":40,"tag":107,"props":195,"children":196},{},[197,199],{"type":46,"value":198},"science → ",{"type":40,"tag":177,"props":200,"children":202},{"className":201},[],[203],{"type":46,"value":204},"references\u002Fscience.md",{"type":40,"tag":107,"props":206,"children":207},{},[208,210],{"type":46,"value":209},"social studies → ",{"type":40,"tag":177,"props":211,"children":213},{"className":212},[],[214],{"type":46,"value":215},"references\u002Fsocial_studies.md",{"type":40,"tag":163,"props":217,"children":218},{},[],{"type":40,"tag":111,"props":220,"children":221},{},[222],{"type":46,"value":223},"Loading the matching reference file is mandatory.",{"type":46,"value":225}," Drafting a lesson without first\nreading the subject reference is a critical failure. The reference file carries the\ncomplete subject-specific instructions: clarify priorities, curriculum branching,\ngrade-band structures, section structure, non-negotiables, and the lesson.json mapping.\nTreat the loaded reference as your full skill instructions for this turn. If the subject\nis genuinely ambiguous or the prompt spans multiple subjects, ask about it\nin Step 1.",{"type":40,"tag":107,"props":227,"children":228},{},[229,234],{"type":40,"tag":111,"props":230,"children":231},{},[232],{"type":46,"value":233},"Curriculum.",{"type":46,"value":235}," If the teacher names or implies a curriculum (Illustrative Mathematics,\nOpenSciEd, …), the subject file's curriculum branch covers it — each subject\nfile carries its curriculum's structures and language inline (curriculum and subject are\n1:1: IM→math, OpenSciEd→science). If they use a curriculum the subject\nfile doesn't cover, follow its \"no curriculum named\" path and do not fake\ncurriculum-specific terminology.",{"type":40,"tag":107,"props":237,"children":238},{},[239,244,246,252],{"type":40,"tag":111,"props":240,"children":241},{},[242],{"type":46,"value":243},"Connector.",{"type":46,"value":245}," Check whether the Learning Commons Knowledge Graph tools (e.g.\n",{"type":40,"tag":177,"props":247,"children":249},{"className":248},[],[250],{"type":46,"value":251},"find_standard_statement",{"type":46,"value":253},") are available in this conversation. This decides which path\nStep 2 takes. The skill is fully functional without the connector.",{"type":40,"tag":60,"props":255,"children":256},{},[],{"type":40,"tag":64,"props":258,"children":260},{"id":259},"step-1-clarify",[261],{"type":46,"value":262},"Step 1 — Clarify",{"type":40,"tag":49,"props":264,"children":265},{},[266],{"type":46,"value":267},"Read the subject file first — its clarify section defines the priorities and defaults. Ask\nat most 2 clarifying questions, chosen by the subject file's priority ranking; apply the\ndefaults silently for everything else.",{"type":40,"tag":49,"props":269,"children":270},{},[271,273,278,280,285],{"type":46,"value":272},"The clarify questions and the ",{"type":40,"tag":111,"props":274,"children":275},{},[276],{"type":46,"value":277},"draft offer",{"type":46,"value":279}," (",{"type":40,"tag":76,"props":281,"children":282},{},[283],{"type":46,"value":284},"Step 4",{"type":46,"value":286},") go out together as ONE\nstructured-question round — the offer is its own question and doesn't count toward the 2.\nWhen nothing needs clarifying, the offer is asked on its own. A second round happens only\nwhen the answers still don't say what the lesson teaches.",{"type":40,"tag":60,"props":288,"children":289},{},[],{"type":40,"tag":64,"props":291,"children":293},{"id":292},"step-2-ground-in-standards",[294],{"type":46,"value":295},"Step 2 — Ground in standards",{"type":40,"tag":49,"props":297,"children":298},{},[299,304,306,312],{"type":40,"tag":111,"props":300,"children":301},{},[302],{"type":46,"value":303},"If the LC Knowledge Graph is connected:",{"type":46,"value":305}," follow the subject's section in\n",{"type":40,"tag":177,"props":307,"children":309},{"className":308},[],[310],{"type":46,"value":311},"references\u002Flearning-commons-kg.md",{"type":46,"value":313}," — call BEFORE drafting; not calling when connected is a\ncritical failure. Extract only what each call specifies, then proceed directly to Step 3 — do\nnot summarize findings in chat.",{"type":40,"tag":49,"props":315,"children":316},{},[317,322,324,329],{"type":40,"tag":111,"props":318,"children":319},{},[320],{"type":46,"value":321},"If not connected:",{"type":46,"value":323}," draft from best knowledge and add this footer to the lesson plan:\n",{"type":40,"tag":76,"props":325,"children":326},{},[327],{"type":46,"value":328},"\"Generated without the Learning Commons Knowledge Graph. Standards and misconceptions reflect\ngeneral best practice.\"",{"type":46,"value":330}," Do not invent KG citations or attribute content to curriculum\nmaterials you have not seen.",{"type":40,"tag":60,"props":332,"children":333},{},[],{"type":40,"tag":64,"props":335,"children":337},{"id":336},"step-3-build-the-lesson",[338],{"type":46,"value":339},"Step 3 — Build the lesson",{"type":40,"tag":49,"props":341,"children":342},{},[343,345,350],{"type":46,"value":344},"Follow the subject file's build section: curriculum branching, grade-band structure, section\nstructure, and non-negotiables. Respect the ",{"type":40,"tag":111,"props":346,"children":347},{},[348],{"type":46,"value":349},"Copyright guardrail",{"type":46,"value":351}," below — never reproduce\ncurriculum student-facing text verbatim.",{"type":40,"tag":60,"props":353,"children":354},{},[],{"type":40,"tag":64,"props":356,"children":358},{"id":357},"copyright-guardrail",[359],{"type":46,"value":349},{"type":40,"tag":49,"props":361,"children":362},{},[363],{"type":46,"value":364},"Always write original content. KG curriculum materials inform structure, scope, text\nselection, phenomenon selection, problem context, and lesson-arc design only — never\nreproduce student-facing text, teacher notes, comprehension questions, investigation\nprompts, discussion questions, activity narratives, or problem contexts verbatim from KG\ncurriculum materials.",{"type":40,"tag":49,"props":366,"children":367},{},[368],{"type":46,"value":369},"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\nthat curriculum anywhere in the output or in any chat message — not in headers, footnotes,\nrationale sections, facilitation notes, or your message presenting the artifacts. The KG\ndata informs the design without being cited.",{"type":40,"tag":60,"props":371,"children":372},{},[],{"type":40,"tag":64,"props":374,"children":376},{"id":375},"step-4-the-draft-offer",[377],{"type":46,"value":378},"Step 4 — The draft offer",{"type":40,"tag":49,"props":380,"children":381},{},[382],{"type":46,"value":383},"The teacher gets the choice of a fast draft before the build. The offer rides in Step 1's\nround (structured question tool when available, chat otherwise), and its two sides are\nalways the packet and the draft. The wording below lives in the question itself — the\nteacher may act on it without reading the chat text around it:",{"type":40,"tag":119,"props":385,"children":386},{},[387,397],{"type":40,"tag":107,"props":388,"children":389},{},[390,392],{"type":46,"value":391},"Question: ",{"type":40,"tag":76,"props":393,"children":394},{},[395],{"type":46,"value":396},"Should I build a full classroom-ready packet (lesson plan + student\nmaterials, as editable Word docs), or do you want to see a quick draft first?",{"type":40,"tag":107,"props":398,"children":399},{},[400,402,407,409,414],{"type":46,"value":401},"Options: ",{"type":40,"tag":111,"props":403,"children":404},{},[405],{"type":46,"value":406},"Go ahead and build it",{"type":46,"value":408}," · ",{"type":40,"tag":111,"props":410,"children":411},{},[412],{"type":46,"value":413},"Quick draft first",{"type":46,"value":415}," — the lesson at a glance,\nright here in chat",{"type":40,"tag":49,"props":417,"children":418},{},[419,424],{"type":40,"tag":111,"props":420,"children":421},{},[422],{"type":46,"value":423},"The full packet is the default.",{"type":46,"value":425}," A reply that selects the draft option or asks to see\nthe draft gets the draft; every other reply runs Steps 2–3 and goes straight to Step 5.",{"type":40,"tag":49,"props":427,"children":428},{},[429,434],{"type":40,"tag":111,"props":430,"children":431},{},[432],{"type":46,"value":433},"The draft (on a yes) is built on Steps 2–3, never instead of them.",{"type":46,"value":435}," Run Step 2 in\nfull — every KG call, exactly as written — and Step 3 before sketching anything. A draft\nsketched without the Step 2 grounding is a critical failure, the same failure as skipping\nthe KG on the full build. Then present the lesson in chat — the draft is chat text only;\nrendering happens at Step 5 once the teacher approves. Show:",{"type":40,"tag":119,"props":437,"children":438},{},[439,444,449,454,459,464],{"type":40,"tag":107,"props":440,"children":441},{},[442],{"type":46,"value":443},"one line naming the grade, topic, and the standard the lesson is anchored to (code plus\na gist of ten words or fewer);",{"type":40,"tag":107,"props":445,"children":446},{},[447],{"type":46,"value":448},"a summary of at most 3 sentences (what students do and why it works for this class);",{"type":40,"tag":107,"props":450,"children":451},{},[452],{"type":46,"value":453},"the sequence as one bullet per phase (name, minutes, one line of what happens);",{"type":40,"tag":107,"props":455,"children":456},{},[457],{"type":46,"value":458},"the student work at a glance — the actual tasks students will do, enough for the\nteacher to skim and judge coverage;",{"type":40,"tag":107,"props":460,"children":461},{},[462],{"type":46,"value":463},"what the lesson assumes students already know — the prerequisite skills or key\nvocabulary in play — so the teacher can catch a mismatch with where their class is;",{"type":40,"tag":107,"props":465,"children":466},{},[467],{"type":46,"value":468},"the exit ticket",{"type":40,"tag":49,"props":470,"children":471},{},[472],{"type":46,"value":473},"The draft borrows its names from the documents it previews — phases, tasks, tiers,\nand sections are called what the plan will call them.",{"type":40,"tag":49,"props":475,"children":476},{},[477,479],{"type":46,"value":478},"Afterwards, ask what's next in plain chat — a typed reply can carry the changes themselves,\nwhich a picked option cannot: ",{"type":40,"tag":76,"props":480,"children":481},{},[482],{"type":46,"value":483},"\"Want anything different? Tell me here — or tell me to go\nahead and I'll create the materials (lesson plan, student materials, and observation\ntemplate, as editable Word docs).\"",{"type":40,"tag":49,"props":485,"children":486},{},[487],{"type":46,"value":488},"Apply change requests to the draft in chat and re-present it — changes are quick at this\nstage. Step 5 runs in the turn the teacher gives the go-ahead.",{"type":40,"tag":60,"props":490,"children":491},{},[],{"type":40,"tag":64,"props":493,"children":495},{"id":494},"step-5-output-one-turn",[496],{"type":46,"value":497},"Step 5 — Output (one turn)",{"type":40,"tag":49,"props":499,"children":500},{},[501],{"type":46,"value":502},"Runs immediately when the teacher chose the full packet, or in the turn the draft is\napproved.",{"type":40,"tag":49,"props":504,"children":505},{},[506,508,519,521,527,529,535,537,543,545,551,553,559,561,566,568,573,575,581],{"type":46,"value":507},"The artifacts are rendered by bundled scripts from ",{"type":40,"tag":111,"props":509,"children":510},{},[511,513],{"type":46,"value":512},"one material-source ",{"type":40,"tag":177,"props":514,"children":516},{"className":515},[],[517],{"type":46,"value":518},"lesson.json",{"type":46,"value":520},". The JSON\nholds a ",{"type":40,"tag":177,"props":522,"children":524},{"className":523},[],[525],{"type":46,"value":526},"shared",{"type":46,"value":528}," block (content registered once) and a ",{"type":40,"tag":177,"props":530,"children":532},{"className":531},[],[533],{"type":46,"value":534},"documents[]",{"type":46,"value":536}," array (each document\nauthored as free-form ",{"type":40,"tag":177,"props":538,"children":540},{"className":539},[],[541],{"type":46,"value":542},"sections",{"type":46,"value":544},"). A section's ",{"type":40,"tag":177,"props":546,"children":548},{"className":547},[],[549],{"type":46,"value":550},"heading",{"type":46,"value":552}," renders as a large title directly\nabove its blocks; a block's ",{"type":40,"tag":177,"props":554,"children":556},{"className":555},[],[557],{"type":46,"value":558},"label",{"type":46,"value":560}," renders as a bold lead-in on the block itself. A label\nthat repeats its section's heading prints the same words twice in a row — labels carry what\nthe heading doesn't (the task's name belongs in one of them, not both). You\ncompose every page — the lesson plan, the student\nmaterials, the observation template, and any others the lesson needs (e.g. a source packet)\n— directly in ",{"type":40,"tag":177,"props":562,"children":564},{"className":563},[],[565],{"type":46,"value":534},{"type":46,"value":567},". Anything that appears on more than one page is registered once\nin ",{"type":40,"tag":177,"props":569,"children":571},{"className":570},[],[572],{"type":46,"value":526},{"type":46,"value":574}," under a key you choose and pulled into each document with\n",{"type":40,"tag":177,"props":576,"children":578},{"className":577},[],[579],{"type":46,"value":580},"{\"type\": \"from_shared\", \"key\": …}",{"type":46,"value":582},", so the pages cannot drift apart.",{"type":40,"tag":49,"props":584,"children":585},{},[586,588,593,595,600,602,608],{"type":46,"value":587},"Never write layout code, never re-type lesson content into another format, and never edit a\ngenerated document directly — every change goes into ",{"type":40,"tag":177,"props":589,"children":591},{"className":590},[],[592],{"type":46,"value":518},{"type":46,"value":594}," and is re-rendered\n(re-rendering is instant). ",{"type":40,"tag":111,"props":596,"children":597},{},[598],{"type":46,"value":599},"Do not open, cat, head, or grep the renderer scripts",{"type":46,"value":601}," — their\nbehavior is fully specified by the commands and output paths in §5a–5e, and\n",{"type":40,"tag":177,"props":603,"children":605},{"className":604},[],[606],{"type":46,"value":607},"references\u002Fexample_lesson.json",{"type":46,"value":609}," is a filled-in worked example. Reading script source tells\nyou nothing these instructions don't already state.",{"type":40,"tag":49,"props":611,"children":612},{},[613,618,620,625,627,633,635,640,642,647],{"type":40,"tag":111,"props":614,"children":615},{},[616],{"type":46,"value":617},"Plain language with the teacher.",{"type":46,"value":619}," The machinery above is invisible to the teacher: never\nmention JSON, HTML, schemas, scripts, rendering, file names (",{"type":40,"tag":177,"props":621,"children":623},{"className":622},[],[624],{"type":46,"value":518},{"type":46,"value":626},"), or code in any\nteacher-facing message — and never link or name the ",{"type":40,"tag":177,"props":628,"children":630},{"className":629},[],[631],{"type":46,"value":632},".html",{"type":46,"value":634}," files the render command also\nwrites. Say ",{"type":40,"tag":76,"props":636,"children":637},{},[638],{"type":46,"value":639},"\"Here's your lesson plan — the student materials and observation template are on\ntheir way\"",{"type":46,"value":641},", not ",{"type":40,"tag":76,"props":643,"children":644},{},[645],{"type":46,"value":646},"\"I've rendered lesson.json\"",{"type":46,"value":648},". The only format word in your prose is\n\"Word document\". This\napplies to every turn: presenting artifacts, the satisfaction ask, revision summaries, and\nerror messages (if generation fails, say the documents couldn't be created — not that a\nscript or JSON failed).",{"type":40,"tag":49,"props":650,"children":651},{},[652,654,659,661,667,669,674],{"type":46,"value":653},"Before writing ",{"type":40,"tag":177,"props":655,"children":657},{"className":656},[],[658],{"type":46,"value":518},{"type":46,"value":660},", read ",{"type":40,"tag":177,"props":662,"children":664},{"className":663},[],[665],{"type":46,"value":666},"references\u002Foutput.md",{"type":46,"value":668}," in full — it carries the hard\nrequirements for every document (density, consistency, reading level, integrity) and the\ncomplete ",{"type":40,"tag":177,"props":670,"children":672},{"className":671},[],[673],{"type":46,"value":518},{"type":46,"value":675}," schema and block guide (§5a and §5e live there).",{"type":40,"tag":677,"props":678,"children":680},"h3",{"id":679},"_5b-render-every-word-document-one-command-same-turn",[681],{"type":46,"value":682},"5b. Render every Word document — one command, same turn",{"type":40,"tag":684,"props":685,"children":690},"pre",{"className":686,"code":687,"language":688,"meta":689,"style":689},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bash scripts\u002Frender_all.sh lesson.json \"$OUTPUT_DIR\"\n","bash","",[691],{"type":40,"tag":177,"props":692,"children":693},{"__ignoreMap":689},[694],{"type":40,"tag":695,"props":696,"children":699},"span",{"class":697,"line":698},"line",1,[700,705,711,716,722,728],{"type":40,"tag":695,"props":701,"children":703},{"style":702},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[704],{"type":46,"value":688},{"type":40,"tag":695,"props":706,"children":708},{"style":707},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[709],{"type":46,"value":710}," scripts\u002Frender_all.sh",{"type":40,"tag":695,"props":712,"children":713},{"style":707},[714],{"type":46,"value":715}," lesson.json",{"type":40,"tag":695,"props":717,"children":719},{"style":718},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[720],{"type":46,"value":721}," \"",{"type":40,"tag":695,"props":723,"children":725},{"style":724},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[726],{"type":46,"value":727},"$OUTPUT_DIR",{"type":40,"tag":695,"props":729,"children":730},{"style":718},[731],{"type":46,"value":732},"\"\n",{"type":40,"tag":49,"props":734,"children":735},{},[736,738,744,746,751,753,759,761,767,769,775,776,782,784,790,792,797,799,804,806,811,813,818,820,825,826,831,833,839,841,846],{"type":46,"value":737},"This writes one editable ",{"type":40,"tag":177,"props":739,"children":741},{"className":740},[],[742],{"type":46,"value":743},".docx",{"type":46,"value":745}," per ",{"type":40,"tag":177,"props":747,"children":749},{"className":748},[],[750],{"type":46,"value":534},{"type":46,"value":752}," entry, named by ",{"type":40,"tag":177,"props":754,"children":756},{"className":755},[],[757],{"type":46,"value":758},"id",{"type":46,"value":760}," (e.g.\n",{"type":40,"tag":177,"props":762,"children":764},{"className":763},[],[765],{"type":46,"value":766},"$OUTPUT_DIR\u002Flesson_plan.docx",{"type":46,"value":768},", ",{"type":40,"tag":177,"props":770,"children":772},{"className":771},[],[773],{"type":46,"value":774},"student_materials.docx",{"type":46,"value":768},{"type":40,"tag":177,"props":777,"children":779},{"className":778},[],[780],{"type":46,"value":781},"observation_template.docx",{"type":46,"value":783},",\n",{"type":40,"tag":177,"props":785,"children":787},{"className":786},[],[788],{"type":46,"value":789},"source_packet.docx",{"type":46,"value":791},"), plus ",{"type":40,"tag":177,"props":793,"children":795},{"className":794},[],[796],{"type":46,"value":632},{"type":46,"value":798}," and ",{"type":40,"tag":177,"props":800,"children":802},{"className":801},[],[803],{"type":46,"value":518},{"type":46,"value":805}," working files. Render straight into\n",{"type":40,"tag":177,"props":807,"children":809},{"className":808},[],[810],{"type":46,"value":727},{"type":46,"value":812}," and leave everything the script writes in place — later revision turns\nre-render from the working files even though the teacher only sees the Word documents. Then list ",{"type":40,"tag":177,"props":814,"children":816},{"className":815},[],[817],{"type":46,"value":727},{"type":46,"value":819},"\nand confirm every document has both its ",{"type":40,"tag":177,"props":821,"children":823},{"className":822},[],[824],{"type":46,"value":743},{"type":46,"value":798},{"type":40,"tag":177,"props":827,"children":829},{"className":828},[],[830],{"type":46,"value":632},{"type":46,"value":832},"; if either is missing or tiny,\nrerun the script. Present the Word documents to the teacher together — attach the lesson plan\nlast so it lands on top (chat surfaces stack newest-first). If there is no ",{"type":40,"tag":177,"props":834,"children":836},{"className":835},[],[837],{"type":46,"value":838},"student_materials",{"type":46,"value":840},"\ndocument, say so plainly (\"This lesson is oral, so there's no student handout — students will\nwork with …\"). If the script errors, fix ",{"type":40,"tag":177,"props":842,"children":844},{"className":843},[],[845],{"type":46,"value":518},{"type":46,"value":847}," (it is almost always malformed JSON)\nand rerun. If file generation fails entirely, say so clearly — do not silently fall back to a\nchat-only delivery.",{"type":40,"tag":677,"props":849,"children":851},{"id":850},"_5c-the-satisfaction-ask-iteration-options-every-output-turn",[852],{"type":46,"value":853},"5c. The satisfaction ask + iteration options (every output turn)",{"type":40,"tag":49,"props":855,"children":856},{},[857],{"type":46,"value":858},"End the turn with EXACTLY ONE closing message that does three things, in this order:",{"type":40,"tag":103,"props":860,"children":861},{},[862,885,904],{"type":40,"tag":107,"props":863,"children":864},{},[865,870,872,883],{"type":40,"tag":111,"props":866,"children":867},{},[868],{"type":46,"value":869},"If Materials names equipment the classroom has that a paper version can stand in\nfor",{"type":46,"value":871}," — coins, blocks, dice, a hundred chart — lead with a bolded offer to print it:\n",{"type":40,"tag":76,"props":873,"children":874},{},[875,877,882],{"type":46,"value":876},"\"",{"type":40,"tag":111,"props":878,"children":879},{},[880],{"type":46,"value":881},"This lesson uses base-ten blocks — want me to make a printable set in case\nyours are short?",{"type":46,"value":876},{"type":46,"value":884}," Anything whose content this lesson wrote — word cards, a\nsource excerpt, a sorting mat with this lesson's categories — already ships with\nthe package.",{"type":40,"tag":107,"props":886,"children":887},{},[888,890,895,897,902],{"type":46,"value":889},"Asks whether the teacher is satisfied with ",{"type":40,"tag":111,"props":891,"children":892},{},[893],{"type":46,"value":894},"every artifact produced",{"type":46,"value":896}," or wants changes —\ne.g. ",{"type":40,"tag":76,"props":898,"children":899},{},[900],{"type":46,"value":901},"\"Take a look at the lesson plan, student materials, and observation template — anything\nyou'd like me to adjust?\"",{"type":46,"value":903}," Do not skip the ask.",{"type":40,"tag":107,"props":905,"children":906},{},[907,909,914,916],{"type":46,"value":908},"Offers 3–4 high-leverage, ",{"type":40,"tag":111,"props":910,"children":911},{},[912],{"type":46,"value":913},"specific",{"type":46,"value":915}," iteration options customized to the subject and\ntopic. Do not write \"let me know if you want changes\" — that's a non-offer. For example,\nfor a 3–5 ELA reading comprehension lesson: ",{"type":40,"tag":76,"props":917,"children":918},{},[919],{"type":46,"value":920},"\"Would you like to (1) add more scaffolds for\nEnglish learners, (2) differentiate by proficiency level, or (3) adapt to be specific to\nyour state standards?\"",{"type":40,"tag":677,"props":922,"children":924},{"id":923},"_5d-revisions-one-edit-every-artifact-stays-in-sync",[925],{"type":46,"value":926},"5d. Revisions — one edit, every artifact stays in sync",{"type":40,"tag":49,"props":928,"children":929},{},[930,932,942],{"type":46,"value":931},"Make ",{"type":40,"tag":111,"props":933,"children":934},{},[935,937],{"type":46,"value":936},"targeted edits to ",{"type":40,"tag":177,"props":938,"children":940},{"className":939},[],[941],{"type":46,"value":518},{"type":46,"value":943},", then re-render every document (instant). Rules that\nkeep the artifacts consistent:",{"type":40,"tag":119,"props":945,"children":946},{},[947,971,995,1014],{"type":40,"tag":107,"props":948,"children":949},{},[950,952,957,959,969],{"type":46,"value":951},"If the change touches content registered in ",{"type":40,"tag":177,"props":953,"children":955},{"className":954},[],[956],{"type":46,"value":526},{"type":46,"value":958}," (a problem, a source, the exit ticket,\nvocabulary, look-fors, the phenomenon\u002Fcontext\u002Fnumbers), edit it ",{"type":40,"tag":111,"props":960,"children":961},{},[962,964],{"type":46,"value":963},"in ",{"type":40,"tag":177,"props":965,"children":967},{"className":966},[],[968],{"type":46,"value":526},{"type":46,"value":970}," — every\ndocument that pulls that key updates automatically.",{"type":40,"tag":107,"props":972,"children":973},{},[974,979,981,986,988,993],{"type":40,"tag":111,"props":975,"children":976},{},[977],{"type":46,"value":978},"Consistency sweep after any context\u002Fnumber\u002Ftask change:",{"type":46,"value":980}," after editing ",{"type":40,"tag":177,"props":982,"children":984},{"className":983},[],[985],{"type":46,"value":526},{"type":46,"value":987},", re-read\nevery prose block in every ",{"type":40,"tag":177,"props":989,"children":991},{"className":990},[],[992],{"type":46,"value":534},{"type":46,"value":994}," entry and update every sentence that still mentions\nthe old context, names, or numbers. When you are done, no document may reference the\nreplaced content anywhere — stale prose is the most common consistency failure.",{"type":40,"tag":107,"props":996,"children":997},{},[998,1000,1005,1007,1012],{"type":46,"value":999},"A change aimed at one document (e.g. \"more workspace on the worksheet\", \"add a column to the\nobservation grid\") goes in that document's ",{"type":40,"tag":177,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":46,"value":542},{"type":46,"value":1006}," — never by forking a ",{"type":40,"tag":177,"props":1008,"children":1010},{"className":1009},[],[1011],{"type":46,"value":526},{"type":46,"value":1013}," key into\ntwo variants.",{"type":40,"tag":107,"props":1015,"children":1016},{},[1017,1019,1025,1027,1033,1034,1040,1041,1047],{"type":46,"value":1018},"Styling: ",{"type":40,"tag":177,"props":1020,"children":1022},{"className":1021},[],[1023],{"type":46,"value":1024},"theme",{"type":46,"value":1026}," fields (",{"type":40,"tag":177,"props":1028,"children":1030},{"className":1029},[],[1031],{"type":46,"value":1032},"primary",{"type":46,"value":768},{"type":40,"tag":177,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":46,"value":1039},"title_size",{"type":46,"value":768},{"type":40,"tag":177,"props":1042,"children":1044},{"className":1043},[],[1045],{"type":46,"value":1046},"body_size",{"type":46,"value":1048},") apply to every artifact.\nArtifacts use minimal color so they print cleanly in black-and-white; do not set\nper-section or per-phase colors.",{"type":40,"tag":1050,"props":1051,"children":1052},"style",{},[1053],{"type":46,"value":1054},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1056,"total":1236},[1057,1069,1088,1102,1114,1133,1149,1160,1179,1199,1213,1228],{"slug":1058,"name":1058,"fn":1059,"description":1060,"org":1061,"tags":1062,"stars":1066,"repoUrl":1067,"updatedAt":1068},"academy-guide","recommend Claude Academy resources","Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: \"how do I\", \"how can I\", \"getting started with\", \"what can Claude do\", \"teach me\", \"learn to use\"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1063,1064,1065],{"name":9,"slug":8,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-08-19T03:59:01.021254",{"slug":1070,"name":1070,"fn":1071,"description":1072,"org":1073,"tags":1074,"stars":1066,"repoUrl":1067,"updatedAt":1087},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1075,1078,1081,1084],{"name":1076,"slug":1077,"type":16},"Creative","creative",{"name":1079,"slug":1080,"type":16},"Design","design",{"name":1082,"slug":1083,"type":16},"Generative Art","generative-art",{"name":1085,"slug":1086,"type":16},"JavaScript","javascript","2026-04-06T17:56:15.455818",{"slug":1089,"name":1089,"fn":1090,"description":1091,"org":1092,"tags":1093,"stars":1066,"repoUrl":1067,"updatedAt":1101},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1094,1097,1098],{"name":1095,"slug":1096,"type":16},"Branding","branding",{"name":1079,"slug":1080,"type":16},{"name":1099,"slug":1100,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":1103,"name":1103,"fn":1104,"description":1105,"org":1106,"tags":1107,"stars":1066,"repoUrl":1067,"updatedAt":1113},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1108,1109,1110],{"name":1076,"slug":1077,"type":16},{"name":1079,"slug":1080,"type":16},{"name":1111,"slug":1112,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":1115,"name":1115,"fn":1116,"description":1117,"org":1118,"tags":1119,"stars":1066,"repoUrl":1067,"updatedAt":1132},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1120,1123,1124,1127,1129],{"name":1121,"slug":1122,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":1125,"slug":1126,"type":16},"Anthropic SDK","anthropic-sdk",{"name":1128,"slug":1115,"type":16},"Claude API",{"name":1130,"slug":1131,"type":16},"LLM","llm","2026-08-22T03:23:17.470772",{"slug":1134,"name":1134,"fn":1135,"description":1136,"org":1137,"tags":1138,"stars":1066,"repoUrl":1067,"updatedAt":1148},"discernment-nudge","provide discernment nudges for user decisions","After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1139,1142,1145],{"name":1140,"slug":1141,"type":16},"Coaching","coaching",{"name":1143,"slug":1144,"type":16},"Productivity","productivity",{"name":1146,"slug":1147,"type":16},"Strategy","strategy","2026-08-19T03:59:01.539281",{"slug":1150,"name":1150,"fn":1151,"description":1152,"org":1153,"tags":1154,"stars":1066,"repoUrl":1067,"updatedAt":1159},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1155,1156],{"name":14,"slug":15,"type":16},{"name":1157,"slug":1158,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":1161,"name":1161,"fn":1162,"description":1163,"org":1164,"tags":1165,"stars":1066,"repoUrl":1067,"updatedAt":1178},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1166,1169,1171,1174,1175],{"name":1167,"slug":1168,"type":16},"Documents","documents",{"name":1170,"slug":1161,"type":16},"DOCX",{"name":1172,"slug":1173,"type":16},"Office","office",{"name":21,"slug":22,"type":16},{"name":1176,"slug":1177,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":1180,"name":1180,"fn":1181,"description":1182,"org":1183,"tags":1184,"stars":1066,"repoUrl":1067,"updatedAt":1198},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1185,1186,1189,1192,1195],{"name":1079,"slug":1080,"type":16},{"name":1187,"slug":1188,"type":16},"Frontend","frontend",{"name":1190,"slug":1191,"type":16},"React","react",{"name":1193,"slug":1194,"type":16},"Tailwind CSS","tailwind-css",{"name":1196,"slug":1197,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":1200,"name":1200,"fn":1201,"description":1202,"org":1203,"tags":1204,"stars":1066,"repoUrl":1067,"updatedAt":1212},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1205,1208,1209],{"name":1206,"slug":1207,"type":16},"Communications","communications",{"name":21,"slug":22,"type":16},{"name":1210,"slug":1211,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":1214,"name":1214,"fn":1215,"description":1216,"org":1217,"tags":1218,"stars":1066,"repoUrl":1067,"updatedAt":1227},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1219,1220,1223,1224],{"name":1121,"slug":1122,"type":16},{"name":1221,"slug":1222,"type":16},"API Development","api-development",{"name":1130,"slug":1131,"type":16},{"name":1225,"slug":1226,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":1112,"name":1112,"fn":1229,"description":1230,"org":1231,"tags":1232,"stars":1066,"repoUrl":1067,"updatedAt":1235},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1233,1234],{"name":1167,"slug":1168,"type":16},{"name":1111,"slug":1112,"type":16},"2026-04-06T17:56:02.483316",499,{"items":1238,"total":1281},[1239,1253,1265,1271],{"slug":1240,"name":1240,"fn":1241,"description":1242,"org":1243,"tags":1244,"stars":23,"repoUrl":24,"updatedAt":1252},"k12-check-for-understanding","create formative math checks for understanding","Creates a Check for Understanding (CFU) for a math topic or standard: 1–3 targeted formative items whose distractors come from documented student misconceptions, plus a teacher guide routing each likely response to a specific next instructional step. Load BEFORE asking any clarifying question about grade, standard, or topic. This skill is for math; for other subjects, help as you normally would and don't mention the skill to the user. Triggers on asks to create, write, generate, or design a check for understanding, formative check, quick check, or exit ticket for a math concept or standard, and on implicit signals like \"I need to see who got it before I move on.\" Not a quiz, test, or practice set — a CFU is read for what it reveals, not scored, so a numbered quiz or a bare answer key is a different job. Does not create a lesson (k12-lesson-plan-creation, which brings its own exit ticket), tier one (k12-lesson-differentiation), or prepare a teacher to teach one (k12-lesson-prep).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1245,1248,1249],{"name":1246,"slug":1247,"type":16},"Assessment","assessment",{"name":18,"slug":19,"type":16},{"name":1250,"slug":1251,"type":16},"Mathematics","mathematics","2026-08-29T09:48:11.356258",{"slug":1254,"name":1254,"fn":1255,"description":1256,"org":1257,"tags":1258,"stars":23,"repoUrl":24,"updatedAt":1264},"k12-lesson-differentiation","adapt K-12 lessons for proficiency levels","Adapts an existing K-12 lesson (math, ELA, science, or social studies) for students at different proficiency levels (below \u002F at \u002F above grade level). Load this skill BEFORE asking the teacher any clarifying question about the lesson, tiers, or student levels. Triggers on explicit asks to differentiate, tier, or scaffold a lesson, and on implicit signals like \"my students are at different levels\". Produces 1 teacher-facing differentiation plan + 3 student-ready tier documents as editable Word documents in a single output turn, rendered from one material-source JSON via bundled scripts (shared content is written once so tiers cannot drift). Uses the Learning Commons Knowledge Graph when connected; works without it. This skill adapts a lesson the teacher brings or names. Not for creating a new lesson from scratch — a new-lesson request that asks for differentiated or leveled materials is k12-lesson-plan-creation's job, one package. Not for grading, rubrics, assessment feedback, or quizzes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1259,1260,1263],{"name":18,"slug":19,"type":16},{"name":1261,"slug":1262,"type":16},"Planning","planning",{"name":1210,"slug":1211,"type":16},"2026-08-29T09:23:42.081244",{"slug":4,"name":4,"fn":5,"description":6,"org":1266,"tags":1267,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1268,1269,1270],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"slug":1272,"name":1272,"fn":1273,"description":1274,"org":1275,"tags":1276,"stars":23,"repoUrl":24,"updatedAt":1280},"k12-lesson-prep","prepare K-12 lesson plans","Helps a teacher prepare to teach an existing K-12 lesson (math \u002F ELA \u002F science \u002F social studies) — a prep partner that thinks through the lesson's key student task with the teacher and leaves a short teacher-only prep note. Triggers on asks to internalize, prepare for, get ready to teach, or understand a lesson, including implicit ones (\"help me get ready for tomorrow's lesson\"), and right after another skill built a lesson, which it can follow. Not for building or adapting a lesson, grading, rubrics, assessment feedback, or generating quizzes or student-facing material, and not for single-fact lookups a sentence would answer (\"what standard is this?\", \"how long is this lesson?\").\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1277,1278,1279],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":1261,"slug":1262,"type":16},"2026-08-29T09:48:01.763421",4]