Generate and maintain active_recall_pool.json for the vocabulary SRS active recall system. Use when the user asks to create, extend, regenerate, or improve active recall checkpoints, sentences, hints, or translations. Trigger on requests like 'active recall oluştur', 'yeni checkpoint ekle', 'grammar hints düzelt', 'active recall pool genişlet', 'create active recall questions', 'add checkpoint for 60 words'. Also use when reviewing or fixing quality issues in existing active recall content (poor hints, missing checkpoints, translation errors).
Generate checkpoint-based translation exercises for the vocabulary SRS module. Users learn N5 vocabulary via flashcards; at milestones (every 5 words learned) the system presents Japanese sentence-construction challenges.
assets/data/vocabulary/active_recall_pool.json in the jlpt-bites app repo.
jlpt-bites-ecosystem/backend/n5_vocabulary/data/n5_vocabulary.json to see which words exist at each milestone.active_recall_pool.json, find the last checkpoint, continue from there.python3 .agent/skills/active-recall-pool-creator/scripts/validate_pool.py assets/data/vocabulary/active_recall_pool.json --vocab-source <path/to/n5_vocabulary.json>
These are the most commonly violated rules. Full details in references/json-schema.md.
WRONG (category label, useless):
"grammar_hints": { "tr": "Yer sorma.", "en": "Asking about a location." }
RIGHT (actionable clue that helps the user construct the sentence):
"grammar_hints": {
"tr": "'Burası' = ここ, 'neresi' = どこ. Soru kalıbı: [yer]は どこですか。",
"en": "'Here' = ここ, 'where' = どこ. Question pattern: [place]は どこですか。"
}
A hint must give the user partial vocabulary mappings, grammar patterns, or structural clues — never just restate the category of the question.
Checkpoint cp_N (learned_word_count = N) may only reference vocabulary from n5_vocab_001 through n5_vocab_N (the first N words in order). Do not use words the user hasn't learned yet.
Checkpoints must exist at every multiple of 5 (5, 10, 15, 20, ...) with no gaps.