Generate micro-theory and three questions (easy, medium, hard) for a module topic. Use this whenever a user asks for a lesson, practice questions, or a learning activity set for a topic.
Produce a short micro-theory and three questions for a module topic.
Use this skill when asked to generate a lesson, micro-lesson, or practice questions for a topic or module.
module_topic stringtarget_difficulty string (easy|medium|hard)Return JSON only. Do not include any extra text.
Schema:
{
"micro_theory": "string",
"questions": [
{
"id": "string",
"prompt": "string",
"difficulty": "easy|medium|hard",
"answer_key": "string"
}
]
}
micro_theory must be under 120 words.micro_theory.answer_key is concise and unambiguous.micro_theory (no direct answers).answer_key per question.Example 1 Input:
{
"module_topic": "SQL Aggregations",
"target_difficulty": "medium"
}
Output:
{
"micro_theory": "Aggregations summarize data by grouping rows on shared values. Common aggregate functions include COUNT, SUM, AVG, MIN, and MAX. GROUP BY defines how rows are grouped, and HAVING filters groups after aggregation. Use clear group keys to avoid accidental over-aggregation.",
"questions": [
{"id": "q1", "prompt": "What does GROUP BY do in an aggregate query?", "difficulty": "easy", "answer_key": "It groups rows that share the same values so aggregates run per group."},
{"id": "q2", "prompt": "Write a query that counts orders per customer using GROUP BY customer_id.", "difficulty": "medium", "answer_key": "SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id;"},
{"id": "q3", "prompt": "How would you filter to only customers with more than 5 orders?", "difficulty": "hard", "answer_key": "Add HAVING COUNT(*) > 5 after GROUP BY."}
]
}