name: generate-exercises description: Generate a batch of exercises for a Danish grammar topic user-invocable: true
Generate Exercises
Generate a batch of exercises for a Danish grammar topic or vocabulary set, following DanskPrep's exercise type specifications and quality standards.
Reference: Read
.claude/references/danish-content.mdfirst — it covers grammatical accuracy rules, exam scope, and exercise quality standards.
Instructions
The user will specify a grammar topic or vocabulary list. Follow these steps:
Identify scope — Ask for (or infer from context):
- Grammar topic (e.g., "Omvendt Ordstilling", "Verber og Tider")
- Exercise types requested (default: cloze, type_answer, multiple_choice, word_order)
- Module level (default: 2)
- Number of exercises per type (default: 5)
Generate exercises in this JSON format matching the
exercisestable schema:
{
"exercise_type": "cloze",
"question": "Han ___ (spise) morgenmad hver dag.",
"correct_answer": "spiser",
"alternatives": null,
"hint": "present tense of spise",
"explanation": "In main clauses, the verb takes present tense ending -er: spiser.",
"module_level": 2,
"difficulty": 1
}
Exercise type rules:
type_answer: Danish prompt → user types English (or vice versa). Single word or short phrase.cloze: Sentence with one___blank. Include verb in parentheses for conjugation cloze, or leave bare for word choice cloze.multiple_choice: Include exactly 3 plausiblealternatives(wrong answers). Distractors must be grammatically similar to the correct answer.word_order:questionis a scrambled list of words separated by/.correct_answeris the correct sentence.error_correction:questioncontains a sentence with one grammatical error.correct_answeris the fixed sentence.
Content standards:
- Use everyday Danish vocabulary (Module 2 level). Avoid obscure words.
- Sentences must be grammatically correct except in
error_correctiontype. - Every exercise must have a non-empty
explanationthat teaches the rule, not just states the answer. - Difficulty 1 = single form/word, 2 = short phrase, 3 = full clause transformation.
- Distribute difficulty: 40% easy, 40% medium, 20% hard.
Output a JSON array ready to insert into
src/data/seed/exercises-module2.json. After generating, ask if the user wants to run the seed script or review individual items.