← Back to list
⚡

k12-lesson-differentiation

Adapts an existing K-12 lesson (math, ELA, science, or social studies) for students at different …
⚡ Productivity skills By anthropics Version v1.0.0 Added 2026-10-31 Updated 2026-10-31 Source ↗
9.3Overall rating
0Views
0Downloads
606Stars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "k12-lesson-differentiation" skill by following the instructions at https://skill123.me/install/k12-lesson-differentiation.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/k12-lesson-differentiation.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 99 KB
📊 Static rating
9.3/10
Trigger
9.5
Structure
8.9
Workflow
9.4
Content
9.2
Engineering
8.8
Security
9.8

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

Adapts an existing K-12 lesson (math, ELA, science, or social studies) for students at different proficiency levels (below / at / 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, printable documents in a single output turn (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.

K-12 Lesson Differentiation

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

paths.

Adapts an existing K-12 lesson for below / at / above grade-level proficiency using

research-based differentiation principles (Tomlinson framework + subject-specific access

design). Works with or without the Learning Commons Knowledge Graph connector.

"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.

---

Documentation

Adapts an existing K-12 lesson (math, ELA, science, or social studies) for students at different proficiency levels (below / at / 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, printable documents in a single output turn (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.

K-12 Lesson Differentiation

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

paths.

Adapts an existing K-12 lesson for below / at / above grade-level proficiency using

research-based differentiation principles (Tomlinson framework + subject-specific access

design). Works with or without the Learning Commons Knowledge Graph connector.

"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 read your lesson, ground it in the standard and

curriculum materials, design the three tiers, and build the worksheets."*).

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.

The teacher reads every line you write, the ones beside tool calls included. Between tool calls say

nothing, or speak in teacher language: name what the teacher is getting — the differentiation plan

and the three tier documents — never tool names, file names, "JSON", "artboards" or "rendering". Say

"Word document" only on the Word path; otherwise "your documents" or "pages". The same goes for

errors: say the documents couldn't be made, not that a script or JSON failed.

---

Step 0 — Route (silent, before anything else)

1. **Subject.** Detect math / ELA / science / social studies from the source lesson or the

request, 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
View full documentation

**Loading the matching reference file is mandatory.** It carries the pedagogy for Steps 1

and 3 (source-lesson identification, curriculum detection, the eight differentiation rules

R1–R8, the document content templates, and the differentiation.json mapping).

2. **Curriculum.** The subject file's "Identify the source lesson" section includes curriculum

detection (Illustrative Mathematics / OpenSciEd). When confirmed, use that

curriculum's discourse language and structures in the teacher plan, per the subject file.

**Curriculum is confirmed when:** the teacher explicitly names it, OR the uploaded source

lesson references it (the upload is implicit confirmation).

**If curriculum is NOT confirmed** (not detectable from upload or link, no explicit mention):

never name a specific module, unit number, lesson number, or proprietary routine name anywhere

in the output OR in any chat message — even if you recognize the routine from training.

Describe the instructional move in your own generic terms ("a compare-strategies

discussion", not the routine's trademarked name). This is a hard rule; violating it fails P9,

and chat messages count. See **Copyright guardrail** (after Step 3) for the companion rule on

verbatim reproduction.

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.

4. **State.** Before any KG call, scan the conversation and any uploaded source lesson for

state signals and store as state:

  • Teacher says "I teach in [state]," "I'm in [state]," or "We're in [state]"
  • Standard codes follow a state-specific format (TEKS, SOL, OAS/PASS, MA, CA/HSS or

CA/CCSS; other state-prefixed codes → check state)

  • Source lesson URL includes a state agency domain (tea.texas.gov, etc.)

If state found: store state = [state name]. Pass as jurisdiction="<state>" in every

find_standard_statement call in Step 2. Use state framework codes (not national proxies)

in all output.

If state not found:

  • for science, math, or ELA, proceed with national defaults (CCSS for math/ELA, NGSS for science). Add this single footer line to the teacher plan:

*"Standards applied using [CCSS / NGSS] — if you're in Texas, Virginia,

Oklahoma, or another state with a distinct framework, share your state and I'll re-anchor."*

  • for social studies, ask the teacher what state they teach in before proceeding.

---

Step 1 — Identify the source lesson

Follow the subject file's source-lesson section: Scenario A (lesson exists earlier in this

conversation — use it directly, do not re-ask), Scenario B (teacher uploads a lesson — read it

first; if unreadable, say so and ask to re-share, never silently fabricate), Scenario B2

(teacher links a lesson by URL — fetch and read it; if the fetch fails,

ask them to paste or upload), Scenario B3 (math or science only — teacher names a curriculum lesson by position or title —

e.g. "IM Grade 6, Unit 2, Lesson 3" or "the OpenSciEd lesson on ecosystem dynamics" — Step 1

is complete; proceed directly to Step 2 where find_curriculum_lessons will retrieve the

lesson materials; do NOT ask the teacher to upload or link the lesson), or Scenario C (no source lesson present —

ask the subject file's clarifying question before proceeding).

A fetched link lands in the conversation whole, so a document bigger than one lesson

(a module or unit teacher edition) will not fit. When a link points at one, work from

what the request itself tells you about the lesson and confirm the specifics with the

teacher — topic, grade, and standard carry enough to build from, the same way Scenario C

proceeds after its clarify.

**Learner needs check (silent, runs every time):** Before generating, scan the conversation

for any mention of ELL levels, WIDA levels, IEP goal areas, 504 accommodations, or specific

student needs. If found, incorporate into the tier design — especially the Below tier.

Say "home language," not a specific language, unless the teacher names one.

If no learner needs are mentioned AND the pre-generation R8 ask hasn't fired (scope was already

specified), add one sentence to the FIRST response: "No specific learner needs were provided —

I've applied UDL defaults (sentence supports and vocabulary across all tiers). Share any ELL

levels, IEP goals, or specific student data and I'll adjust."

This check runs even when scope is already specified.

---

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, no matter how the source lesson was obtained — retrieving

the lesson never satisfies this step.

**If not connected:** proceed from best knowledge and add this footer to the teacher plan:

*"Generated without the Learning Commons KG. Standard text, prerequisite grounding, and

misconceptions reflect general best practice."* Do not invent KG citations.

---

Step 3 — The differentiation rules

Apply **all eight rules (R1–R8)** from the subject file to every differentiated lesson. The

rules are subject-specific (scaffold types, tier entry points, extension quality tests differ

by subject) but their structure is shared: output structure (R1), standard scope preservation

(R2), tier entry points (R3), below-level scaffolds with a density cap (R4), required

pedagogical infrastructure (R5), invisible modifications (R6), within-level progressive

scaffolding (R7), and scope/defaults (R8).

---

Copyright guardrail

Always write original content. When the source lesson draws from a named curriculum (IM,

OpenSciEd), use it to understand structure, scope, task context, and standards

alignment only — never reproduce student-facing text, activity narratives, investigation

prompts, comprehension questions, or problem contexts verbatim from curriculum materials.

Each subj

Score breakdown

Trigger
9.5
Trigger 9.5/10 — Description covers explicit and implicit triggers with precise when-not boundaries (not for new lessons, grading, rubrics), and the body has strong executable workflow with confirmation gates (draft offer, satisfaction ask) and verification steps (learner-needs check, copyright guardrail). YAML frontmatter is valid and referenced files are concrete, though heavy reliance on external subject files slightly lowers engineering confidence; security is excellent with copyright guardrails and no dangerous commands.
Structure
8.9
Structure 8.9/10
Workflow
9.4
Workflow 9.4/10
Content
9.2
Content 9.2/10
Engineering
8.8
Engineering 8.8/10
Security
9.8
Security 9.8/10