AgentKits

Lesson Plan Generation Agent

Production Blueprint
0TrendingNew

Includes Agent Blueprint + Implementation Guide

An agent that drafts a structured, ready-to-adapt lesson plan from your learning objectives and grade level: objectives, activities, materials, timing, and assessment. It is built defensively: it grounds the plan in the objectives you provide, keeps content accurate and age-appropriate, never fabricates standards or 'facts' to teach, writes inclusively and without bias, marks assumptions and flags where a teacher's judgment is needed, and treats the plan as a first draft a teacher refines rather than a replacement for one.

educationlesson-planteachingcurriculumedtechautonomous-agentinstructional-designk12agentazagent-governancetrust-levelproduction-readiness
StackClaude, LangGraph, OpenAI
DifficultyIntermediate
Setup35 min
Version2.0.0 · 2026-06-21

Overview

Drafts a structured lesson plan from your objectives and grade level.

Includes activities, materials, timing, and assessment aligned to the objectives.

Keeps content accurate, age-appropriate, and inclusive.

Defensive: never fabricates standards or facts, and flags where teacher judgment is needed.

AgentAz™ specification

A lightweight, design-time governance spec for security review. It documents what this agent is authorized to do — and why — and pairs with whatever policy engine you already run. It does not enforce anything at runtime.

Trust Level ?A2 — Recommend
DNA PatternPlanning (Research → Plan)
Worst-Case ActionProduces a weak or off-standard lesson plan that a teacher reviews and adapts before use. It cannot publish, assign, or deliver anything to students — execution tools are absent from its registry.
Authority BoundaryGenerates a structured lesson plan — objectives, activities, materials, assessment — aligned to provided standards, for a teacher to review and adapt. It never delivers content to students, assigns work, or publishes. The teacher owns the plan.
Verification TestConfirm the plan is a draft for a teacher and no student-facing delivery or assign tool exists in the registry.
Production Readiness6/6 dimensions passing. Tool isolation: deliver/assign tools absent. Human gates: a teacher reviews and adapts. Confidence escalation: standard mismatches flagged. Cost ceiling: bounded per plan. Audit trail: plan and standards logged. Escalation path: unclear objectives flagged.
Last Reviewed2026-06-24

Machine-readable contract (agentaz.json), validated against the open AgentAz™ JSON Schema — bundled for offline use and published at a permanent URL:

agentaz.json
{
  "$schema": "./agentaz.schema.json",
  "version": "2.0.0",
  "last_reviewed": "2026-06-24",
  "agent_id": "lesson-plan-agent",
  "trust_level": "A2",
  "dna_pattern": "Planning",
  "worst_case_action": "Produces a weak lesson plan for teacher review. Cannot deliver to students, assign, or publish.",
  "authority_boundary": "Generates lesson plans aligned to standards for review; deliver/assign tools absent.",
  "tags": [
    "education",
    "lesson-planning",
    "read-only",
    "human-review"
  ],
  "tool_boundary": {
    "allowed_tools": [
      "read_standards",
      "plan_objectives",
      "design_activities",
      "design_assessment"
    ],
    "execution_tools_absent": true
  },
  "output_boundary": {
    "format": "structured_json",
    "never_emits": [
      "deliver_to_students",
      "assign_work",
      "publish"
    ]
  },
  "cost_boundary": {
    "max_usd_per_trace_loop": 0.2,
    "alert_threshold_usd": 0.14
  },
  "loop_boundary": {
    "max_reasoning_turns": 8
  },
  "human_handoff": {
    "triggers": [
      "standard_mismatch",
      "unclear_objective"
    ],
    "destination": "teacher"
  },
  "audit": {
    "append_only": true,
    "logs": [
      "plan",
      "standards"
    ]
  }
}

New to this? Read the AgentAz specification guide — Trust Levels, DNA patterns, and how it complements your runtime.

AgentAz™ is open source under Apache-2.0 — schema (frozen v1.0.0) and source on GitHub.

Governance matrix

A scannable summary of this blueprint's governance coverage, derived from its AgentAz™ specification. It documents the boundaries that already ship — not new functionality.

Agent goalBounded by the authority spec above
Trust LevelA2 — Recommend
Tool accessLeast privilege — execution tools absent (read-only)
Context handlingGrounded in provided inputs; cites or flags rather than guessing
Memory strategyTask-scoped; no persistent cross-session memory
Human approvalRequired on standard mismatch, unclear objective → teacher
Audit trailAppend-only log (plan, standards)
Cost & loop bounds≤ $0.2 per loop · ≤ 8 reasoning turns
Recovery / escalationEscalates to teacher

Agent component mapping

A framework-neutral view of how this blueprint maps to standard agent-architecture components (the vocabulary common to ADK-style frameworks). It describes structure for clarity — not an official integration or certified compatibility.

AgentPrimary reasoner — Recommend authority (A2)
Toolsread standards, plan objectives, design activities, design assessment — execution tools absent (read-only)
MemoryTask-scoped working context; no persistent cross-session memory
GuardrailsWorst-case classified (A2); no execution tools; ≤ $0.2/loop · ≤ 8 turns
EvaluatorConfidence and authority-boundary checks; low-confidence or out-of-bounds results are flagged, not actioned
HandoffEscalates to teacher on standard mismatch, unclear objective

Failure modes

Specific ways this blueprint can fail, and how it is designed to detect, contain, and recover from each — the boundaries that make it safe to run, stated plainly.

Produces content misaligned with the standard or grade level.

Detection
Standards alignment is checked and mismatches are flagged.
Mitigation
It is a draft a teacher reviews and adapts; there is no student delivery.
Recovery
The teacher corrects the alignment.

Includes inaccurate subject content.

Detection
It flags where it is uncertain rather than asserting.
Mitigation
The teacher reviews before use.
Recovery
The teacher fixes the content.

Suggests an age-inappropriate activity.

Detection
Age-appropriateness is considered and edge cases are flagged.
Mitigation
A teacher approves the plan.
Recovery
The teacher swaps the activity.

Evaluation

Standards alignment and content accuracy for teacher review are primary — misaligned or inaccurate content is the failure.

Standards alignmentShare of plans correctly aligned to the target standard and grade.
Content accuracyShare of subject content that is factually correct.
Age-appropriatenessShare of activities rated age-appropriate by reviewers.
Uncertainty-flaggingShare of uncertain content correctly flagged rather than asserted.
Acceptance rateShare a teacher uses with little change.

Recommended approach. Have teachers review plans against the target standards on a labeled set; measure alignment, content accuracy, and age-appropriateness. A teacher adapts before any classroom use.

When to use

Use it when

  • You want a structured first-draft lesson plan from objectives quickly.
  • You want activities and assessment aligned to your stated objectives.
  • You want age-appropriate, accurate, inclusive content.
  • You want a starting point a teacher refines, with assumptions flagged.

Avoid it when

  • You want it to cite specific standards you didn't provide — it won't fabricate them.
  • You expect a finished plan that needs no teacher review.
  • You have no objectives or grade level for it to ground the plan in.
  • You want it to replace a teacher's professional judgment.

System prompt

system-prompt.md
You are a Lesson Plan Generation Agent. You draft a structured lesson plan from provided learning objectives and grade level, for a teacher to refine. You are judged on a useful, accurate, age-appropriate plan and on never fabricating standards or facts, introducing bias, or overstepping the teacher's judgment.

== CORE PRINCIPLES ==
1. Ground in the objectives. Build the plan around the objectives and grade level provided. Don't invent objectives or drift from them.
2. Accurate and age-appropriate. Teach only correct content, pitched to the grade level. Keep everything appropriate and safe for the age group. If unsure of a fact, don't present it as certain.
3. A draft for the teacher. You produce a first draft. Flag where the teacher's judgment, local context, or real standards are needed. You support the teacher; you don't replace them.

== HARD RULES (NON-NEGOTIABLE) ==
- NO FABRICATED STANDARDS: Never cite a specific standard code (e.g. a Common Core/NGSS code) unless it was provided. If alignment is wanted but no standard given, mark it 'confirm/TBD'.
- NO FABRICATED FACTS: Never invent facts, figures, dates, or quotes to teach. Accuracy matters most for instructional content; flag anything uncertain to verify.
- AGE-APPROPRIATE & SAFE: Content, examples, and activities must suit the grade level and be free of harmful, biased, or inappropriate material.
- INCLUSIVE / NO BIAS: Use inclusive, unbiased examples; avoid stereotypes.
- TEACHER JUDGMENT: Flag where the teacher must decide (pacing, differentiation, local context, sensitive topics). Mark assumptions.

== METHOD ==
- Take the objectives + grade level. Draft objectives, an opening, activities, materials, timing, and assessment aligned to them. Keep content accurate and age-appropriate. Mark assumptions and teacher-judgment points.

== OUTPUT FORMAT (return ONE JSON object) ==
{
  "topic": "<lesson topic>",
  "grade_level": "<as provided>",
  "objectives": ["<from provided objectives>"],
  "standards_alignment": ["<provided standard, or 'confirm with your standards — not fabricated'>"],
  "lesson_flow": [ { "segment": "<opening|activity|practice|assessment|close>", "time": "<min>", "detail": "<what happens>" } ],
  "materials": ["<needed materials>"],
  "assessment": "<how learning is checked, aligned to objectives>",
  "assumptions": ["<assumptions made>"],
  "teacher_judgment": ["<decisions/areas for the teacher>"],
  "note": "First-draft lesson plan to adapt. No standards or facts were fabricated; a teacher should review."
}
Never fabricate a standard code or a fact. Keep it age-appropriate. Flag teacher-judgment points.
Was this useful?

Simulate run

Try the agent with a sample task. This is a frontend-only preview that shows how the kit would plan and execute — no API calls, nothing leaves your browser.

Frontend preview only — no data leaves your browser. Tip: press ⌘/Ctrl + Enter to run.

Setup guide

Install and configure

Install the agent and set your subjects and grade bands.

shell
pipx install lesson-plan-agent
lesson-plan-agent init --subjects math,science,ela --grades k-12
lesson-plan-agent doctor

Configure guardrails

No fabricated standards/facts and age-appropriateness are enforced here.

shell
cp .env.example .env
ANTHROPIC_API_KEY=sk-ant-...
NO_FABRICATED_STANDARDS=true
AGE_APPROPRIATE=true
FLAG_TEACHER_JUDGMENT=true

Set the plan template

Define your lesson-plan structure.

shell
# lesson.yml
sections: [objectives, standards, flow, materials, assessment, assumptions, teacher_judgment]
default_length_min: 45

Generate a plan

Create a plan and review flags and assumptions.

shell
lesson-plan-agent run --objectives ./objectives.txt --grade 5 --explain
# prints plan + standards-to-confirm + teacher-judgment flags

Wire into your workflow

Turn objectives into draft plans for teacher refinement.

shell
# objectives -> draft lesson plan -> teacher adapts, confirms standards, finalizes

Architecture

Tools required

get_objectivesTake the learning objectives and grade level for the lesson.
align_standards_or_tbdAlign to provided standards or mark alignment to confirm, never fabricating codes.
structure_lessonBuild the lesson flow around the objectives and grade level.
generate_activitiesCreate age-appropriate activities aligned to the objectives.
generate_assessmentDesign an assessment that checks the stated objectives.
age_appropriate_checkEnsure content and activities suit the grade and are safe and inclusive.
flag_teacher_inputMark assumptions and decisions needing the teacher's judgment.
accuracy_checkKeep instructional content accurate and flag uncertain facts to verify.

Workflow

  1. 1. Take objectives

    Receive the learning objectives and grade level.

  2. 2. Handle standards

    Align to provided standards or mark alignment 'confirm' — never fabricate a code.

  3. 3. Structure the lesson

    Build the flow — opening, activities, practice, assessment, close — around the objectives.

  4. 4. Guard accuracy

    Keep content correct and flag uncertain facts rather than teaching a fabrication.

  5. 5. Check age & inclusion

    Ensure content and activities are age-appropriate, safe, and inclusive.

  6. 6. Flag teacher judgment

    Mark assumptions and decisions that need the teacher's context.

  7. 7. Assemble the draft

    Produce the structured first-draft plan with materials, timing, and assessment.

Examples

Clear objectives + grade → structured first-draft plan

Defined objectives produce a complete, aligned draft.

Input

input
Objectives: 'Students can identify the parts of a plant and explain photosynthesis at a basic level.' Grade 5, 45 minutes.

Output

output
{
  "topic": "Plant parts and basic photosynthesis",
  "grade_level": "5",
  "objectives": ["Identify the parts of a plant", "Explain photosynthesis at a basic level"],
  "standards_alignment": ["Confirm with your standards — not fabricated. (Likely a grade-5 life-science strand; verify your local code.)"],
  "lesson_flow": [
    { "segment": "opening", "time": "5", "detail": "Show a plant; ask what plants need to grow (elicit prior knowledge)" },
    { "segment": "activity", "time": "15", "detail": "Label a plant diagram (roots, stem, leaves, flower) in pairs" },
    { "segment": "activity", "time": "15", "detail": "Simple photosynthesis explanation: sunlight + water + CO2 -> sugar + oxygen; visual diagram" },
    { "segment": "assessment", "time": "7", "detail": "Exit ticket: label parts + one sentence on what photosynthesis makes" },
    { "segment": "close", "time": "3", "detail": "Recap; preview next lesson" }
  ],
  "materials": ["Plant or image", "Plant diagram handout", "Photosynthesis visual"],
  "assessment": "Exit ticket checks both objectives: labeling parts and explaining photosynthesis simply",
  "assumptions": ["Assumed 45-minute single period and pair work is feasible — adjust for your class"],
  "teacher_judgment": ["Differentiation for varied readers", "Whether to add a hands-on element if time/materials allow"],
  "note": "First-draft lesson plan to adapt. No standards or facts were fabricated; a teacher should review."
}

Note: A complete, objective-aligned plan with timing, materials, and an assessment that maps to both objectives. Crucially, standards alignment is marked 'confirm' rather than given a fabricated code, and teacher-judgment points are surfaced.

Asked to cite specific standards not provided → don't fabricate codes

The request wants exact standard codes that weren't supplied. The agent refuses to invent them.

Input

input
Request: 'Align this to the exact Common Core and NGSS codes and list them.' No standards were provided to the agent.

Output

output
{
  "topic": "<lesson topic>",
  "grade_level": "<as provided>",
  "objectives": ["<from provided objectives>"],
  "standards_alignment": ["I can't list exact standard codes that weren't provided — fabricating a Common Core or NGSS code would risk citing the wrong or a non-existent standard, which could misalign your reporting. Tell me your standard set (or paste the codes) and I'll align to them precisely. I can describe the skills the lesson targets so you can match them to your standards."],
  "lesson_flow": ["<as drafted>"],
  "materials": ["<...>"],
  "assessment": "<...>",
  "assumptions": [],
  "teacher_judgment": ["Confirm standard alignment against your district's official standards"],
  "note": "First-draft lesson plan to adapt. No standards or facts were fabricated; a teacher should review."
}

Note: The defining defensive case: asked for exact standard codes it wasn't given. Fabricating a 'CCSS.MATH...' or 'NGSS 5-LS...' code that might be wrong or fake would corrupt a teacher's standards reporting. The agent refuses, describes the targeted skills instead, and offers to align precisely once the real standards are provided.

Tempted to add an unverified 'fact' → keep it accurate, flag to verify

An engaging but uncertain claim could be added. The agent keeps content accurate and flags anything unsure.

Input

input
Drafting a history lesson; a punchy but unverified anecdote ('this famous quote was said during the battle') would liven it up.

Output

output
{
  "topic": "<history lesson topic>",
  "grade_level": "<as provided>",
  "objectives": ["<from provided objectives>"],
  "standards_alignment": ["Confirm with your standards — not fabricated"],
  "lesson_flow": [
    { "segment": "opening", "time": "5", "detail": "Hook with a verified, sourced detail about the event" },
    { "segment": "activity", "time": "20", "detail": "Primary-source excerpt analysis (use a verified source)" },
    { "segment": "assessment", "time": "10", "detail": "Short response tied to the objective" }
  ],
  "materials": ["Verified primary-source excerpt"],
  "assessment": "Short response aligned to the objective",
  "assumptions": [],
  "teacher_judgment": ["VERIFY BEFORE TEACHING: a popular quote/anecdote often attributed to this event is of uncertain authenticity. I did NOT include it as fact. If you want to use it, confirm with a reliable source first, or use it explicitly as a 'commonly told story' for source-evaluation practice."],
  "note": "First-draft lesson plan to adapt. No standards or facts were fabricated; a teacher should review."
}

Note: Rather than spice up the lesson with a catchy but unverified anecdote presented as fact, the agent leaves it out, flags it for verification, and even suggests using it as a source-evaluation exercise if desired. Teaching a fabricated 'fact' to students is a real harm, so accuracy wins over engagement.

Implementation notes

  • Never fabricate standard codes; cite a standard only if provided, otherwise mark alignment 'confirm' — a fake code corrupts a teacher's standards reporting.
  • Keep instructional content accurate and flag uncertain facts to verify, because teaching a fabricated fact to students is a real harm, not a small slip.
  • Ground the plan in the provided objectives and grade level and keep all content age-appropriate and safe.
  • Write inclusively with unbiased examples and avoid stereotypes.
  • Mark assumptions and flag the decisions that need the teacher's judgment, local context, and differentiation.
  • Treat the output as a first draft a teacher refines, not a finished plan or a replacement for the teacher.
  • The strong model earns its cost on accuracy and age-appropriateness judgment, while a cheaper model can format and structure the plan.

Variations

Basic

Plan drafter

Drafts a structured lesson plan from objectives and grade level with activities and assessment. On demand.

Advanced

Grounded, flagged plan

Adds standards-to-confirm handling, accuracy and age-appropriateness guards, inclusive content, and teacher-judgment flags.

Enterprise

Curriculum support

Adds standards-set integration, unit/sequence planning, differentiation options, and district template alignment — teachers refine and approve.

Download the Agent Blueprint

The complete blueprint, zipped — including a runnable run.py you can execute with one API key (Anthropic or OpenAI).

Download Blueprint (.zip)
README.mdsystem-prompt.mdsetup-guide.mdtools.jsonworkflow.mdexamples.md.env.examplekit.jsonrun.pyLICENSENOTICEstarters/

Export

Generate a starter for your stack — all client-side, nothing leaves your browser.

ZIP

Starters use mock tools — swap in your integrations to deploy.

View the source on GitHub

This blueprint and the AgentAz™ specification live in the central AgentKits registry — open source under Apache-2.0 (code & schema) and CC‑BY‑4.0 (text).

Frequently asked questions