[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: Photosynthesis
Grade level: 6
Number of content slides: 4
Return JSON only.

[Assistant] {"title": "Photosynthesis for 6th Grade", "slides": [{"title": "What Is Photosynthesis?", "bullets": ["Plants make their own food using sunlight", "The process happens mainly in leaves"], "speaker_note": "Ask students what they already know about how plants eat."}, {"title": "Ingredients Plants Need", "bullets": ["Sunlight provides energy", "Water comes from roots and carbon dioxide from air"], "speaker_note": "Draw a simple leaf diagram while you explain inputs."}, {"title": "What Plants Produce", "bullets": ["Glucose is the sugar plants use for energy", "Oxygen is released into the air"], "speaker_note": "Connect oxygen release to why forests matter for breathing."}, {"title": "Why It Matters", "bullets": ["Photosynthesis feeds nearly all life on Earth", "It helps keep our atmosphere balanced"], "speaker_note": "End with a quick pair-share: one reason photosynthesis matters."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: Fractions
Grade level: 4
Number of content slides: 3
Return JSON only.

[Assistant] {"title": "Understanding Fractions", "slides": [{"title": "Parts of a Whole", "bullets": ["A fraction shows equal parts of a whole", "The top number counts parts; the bottom shows total equal parts"], "speaker_note": "Use a paper pizza cut into equal slices as a visual."}, {"title": "Reading Common Fractions", "bullets": ["One-half means one of two equal parts", "One-fourth means one of four equal parts"], "speaker_note": "Have students name fractions they see in the room."}, {"title": "Comparing Fractions", "bullets": ["Larger denominators can mean smaller pieces", "Use drawings to compare two simple fractions"], "speaker_note": "Give two fraction cards and ask which shows more pizza."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: The water cycle
Grade level: 5
Number of content slides: 5
Return JSON only.

[Assistant] {"title": "The Water Cycle", "slides": [{"title": "Water Moves Constantly", "bullets": ["Water travels between Earth, air, and living things", "The same water has been recycled for millions of years"], "speaker_note": "Show a simple cycle diagram before diving into each stage."}, {"title": "Evaporation", "bullets": ["Heat turns liquid water into water vapor", "Oceans, lakes, and puddles lose water to the air"], "speaker_note": "Ask what happens to a wet sidewalk on a sunny day."}, {"title": "Condensation", "bullets": ["Water vapor cools and forms tiny droplets", "Clouds form when droplets gather in the sky"], "speaker_note": "Hold a cold cup and point out the outside moisture."}, {"title": "Precipitation", "bullets": ["Droplets combine and fall as rain, snow, sleet, or hail", "Precipitation returns water to land and water bodies"], "speaker_note": "Let students name types of precipitation they have seen."}, {"title": "Collection and Runoff", "bullets": ["Water collects in rivers, lakes, and groundwater", "Runoff carries water back toward oceans"], "speaker_note": "Trace a raindrop's path on your diagram to close the loop."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: AI agents
Grade level: 8
Number of content slides: 4
Return JSON only.

[Assistant] {"title": "Introduction to AI Agents", "slides": [{"title": "What Is an AI Agent?", "bullets": ["An AI agent is software that takes goals and acts to reach them", "Agents can use tools, memory, and feedback loops"], "speaker_note": "Contrast a chatbot that only replies with an agent that plans steps."}, {"title": "How Agents Work", "bullets": ["They observe input or environment state", "They decide actions and update their plan"], "speaker_note": "Walk through a simple example like booking a meeting."}, {"title": "Everyday Examples", "bullets": ["Navigation apps reroute based on traffic", "Email filters can sort and draft responses"], "speaker_note": "Invite students to suggest other agent-like tools they use."}, {"title": "Benefits and Risks", "bullets": ["Agents can save time on repetitive tasks", "They need clear rules and human oversight"], "speaker_note": "Close with a short discussion on when automation helps or hurts."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: The American Revolution
Grade level: 8
Number of content slides: 5
Return JSON only.

[Assistant] {"title": "Causes of the American Revolution", "slides": [{"title": "Colonial Grievances", "bullets": ["Colonists protested taxation without representation", "Trade restrictions limited colonial economies"], "speaker_note": "Connect taxes on everyday goods to student purchases today."}, {"title": "Key Events", "bullets": ["The Boston Tea Party protested the Tea Act", "The Intolerable Acts tightened British control"], "speaker_note": "Place events on a timeline as you introduce each one."}, {"title": "Ideas That Spread", "bullets": ["Enlightenment ideas emphasized rights and consent", "Pamphlets and speeches spread revolutionary arguments"], "speaker_note": "Read a short excerpt from a primary source if time allows."}, {"title": "Leaders and Groups", "bullets": ["Committees and congresses organized resistance", "Leaders like Adams and Washington gained prominence"], "speaker_note": "Highlight diverse roles beyond famous military figures."}, {"title": "Road to Independence", "bullets": ["The Declaration explained the break from Britain", "War followed when compromise failed"], "speaker_note": "End by asking what principle students would defend most strongly."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: Kindness and friendship
Grade level: 2
Number of content slides: 3
Return JSON only.

[Assistant] {"title": "Being a Good Friend", "slides": [{"title": "What Friends Do", "bullets": ["Friends listen and share", "Friends help when someone feels sad"], "speaker_note": "Ask students to share one kind thing a friend did for them."}, {"title": "Using Kind Words", "bullets": ["Please and thank you show respect", "Compliments can make others feel happy"], "speaker_note": "Practice turning an unkind sentence into a kind one together."}, {"title": "Solving Small Problems", "bullets": ["Take turns when you disagree", "Ask a grown-up if you need help"], "speaker_note": "Role-play a simple sharing conflict and a peaceful solution."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: Linear equations
Grade level: 9
Number of content slides: 4
Return JSON only.

[Assistant] {"title": "Introduction to Linear Equations", "slides": [{"title": "What Makes an Equation Linear?", "bullets": ["A linear equation graphs as a straight line", "The highest power of the variable is one"], "speaker_note": "Show y = 2x + 1 on a coordinate plane."}, {"title": "Slope-Intercept Form", "bullets": ["y = mx + b uses slope m and y-intercept b", "m tells how steep the line is"], "speaker_note": "Have students identify m and b from one example."}, {"title": "Graphing from an Equation", "bullets": ["Plot the y-intercept first", "Use the slope to find another point"], "speaker_note": "Work one example slowly on the board."}, {"title": "Real-World Connections", "bullets": ["Phone plans with a flat fee plus per-minute cost are linear", "Distance at constant speed changes linearly over time"], "speaker_note": "Ask students to invent their own linear situation."}]}


[System]
You are a lesson-planning assistant for teachers.
Follow the skill workflow below and output ONLY valid JSON (no markdown fences).

Skill workflow:
1. Ask for topic, audience grade, and slide count (3–8 content slides).
2. Produce a JSON outline with `title` and `slides` (each slide has `title`, `bullets`, `speaker_note`).
3. Call `create_pptx` with the validated outline.
4. Return a download link and markdown preview for the teacher.

JSON schema:
{
  "title": "string — presentation title",
  "slides": [
    {
      "title": "string — slide heading",
      "bullets": ["string", "..."],
      "speaker_note": "string — one sentence for the teacher"
    }
  ]
}

Rules:
- Use exactly the requested number of content slides (title slide is added separately by the tool).
- Bullets should be short, age-appropriate, and factual.
- speaker_note is optional but helpful for each slide.

[User]
Topic: The solar system
Grade level: 3
Number of content slides: 4
Return JSON only.

[Assistant] {"title": "Our Solar System", "slides": [{"title": "The Sun at the Center", "bullets": ["The Sun is a star that gives Earth light and heat", "Planets orbit, or travel around, the Sun"], "speaker_note": "Use a lamp and balls to model orbits if you have them."}, {"title": "Inner Planets", "bullets": ["Mercury, Venus, Earth, and Mars are rocky planets", "Earth is the only one known to have life"], "speaker_note": "Compare sizes with classroom objects."}, {"title": "Outer Planets", "bullets": ["Jupiter and Saturn are gas giants", "Uranus and Neptune are icy giants farther from the Sun"], "speaker_note": "Mention that Jupiter is the largest planet."}, {"title": "Other Objects", "bullets": ["Asteroids and comets also orbit the Sun", "The Moon orbits Earth, not the Sun directly"], "speaker_note": "Clarify that moons are not planets."}]}