anki-vocab
Anki Vocab
Activation Contract
Use for the vocab mode of /learn on language-learning topics — any target language (the language named in mission.md), always translated into Spanish: generating a batch of Anki-importable vocabulary cards from words, phrases, or a situation/theme. Owns vocabulary.md (the learned-unit registry, from assets/vocabulary-template.md) and anki/ (batch exports, format fixture for an English-topic batch in assets/batch-format.txt) under each .ai/learning/<topic-slug>/.
Do not use for non-language topics: if mission.md shows the topic is not a language, say vocab mode only applies to language topics and ask (via native-question-ux) whether to pick a language topic or run another mode — never generate anyway. Do not create Leitner cards for exported units: Anki is their spaced-repetition system; review-queue.md stays for conceptual cues (add a vocab unit there only on explicit learner request).
Hard Rules
- Phrase as unit: every row anchors a common, natural phrase or chunk of the target language as native speakers use it — never an isolated dictionary word with a synthetic sentence.
- Situation-driven: sentences come from real situations relevant to the learner — the theme they passed, or contexts drawn from
mission.md/path.mdwhen they passed none. - Reinforcement (i+1): build each sentence preferentially from units already in
vocabulary.mdand cues inreview-queue.md, so one new element rides on known material. Due or recently demoted cards are preferred filler. - No duplicates: a unit already in
vocabulary.mdis never re-exported as a new row's anchor (it may still appear inside other rows' sentences). Report skipped duplicates. - Registry stays in sync: every generated batch appends its new units to
vocabulary.mdin the same session — an exported unit that is not registered breaks future reinforcement. - Batch files are the one non-Markdown artifact in the learning state: plain UTF-8
.txt, exactly per the Output Format below.