Install
openclaw skills install vocabulary-builderBuild and review vocabulary from books, podcasts, and daily encounters. Use when the user wants to READ a book, shares a new word, asks about a word while reading a book, requests a vocabulary quiz, asks about word progress, or when a cron/heartbeat triggers a scheduled quiz. Handles reading sessions, word collection, 3-step learning, spaced repetition, and progress tracking.
openclaw skills install vocabulary-builderThis skill reads and writes the following files (paths relative to workspace):
memory/vocabulary.md — all word data lives heredocs/tts-fr/ — read-only; user places pronunciation audio files hereEnsure these paths exist or create them before first use.
When the user wants to read/practice reading a book:
tail or read the last entries) to find the actual last word. Note: memory_search may return partial/ranked results, so also verify by reading the file directly when checking the latest entry.When the user gives a new word:
/ˈtrɑːli/)Always prefer IPA over ad-hoc respelling in both the explanation and the word card. If a plain-English pronunciation hint is helpful, include it only after the IPA, not instead of it.
If the user says they are focusing on pronunciation, ask which words they confuse (for example: seem / same / sim). In pronunciation-focused mode:
### seem / same / simAdd to the ## Active Words section, at the END (before --- separator for Long-Term Review).
### [word]
- **Type:** noun/verb/adj/adv
- **Learned:** YYYY-MM-DD HH:MM TZ
- **Book:** [source name]
- **Page:** [number]
- **Pronunciation:** /IPA/
- **Meaning:** [explanation]
- **Synonyms:** [similar words]
- **Context:** "[sentence from source]"
- **Practice History:**
- YYYY-MM-DD HH:MM TZ: Step N ✓/✗ (notes)
### [word 1] / [word 2] / [word 3]
- **Type:** pronunciation comparison set
- **Learned:** YYYY-MM-DD HH:MM TZ
- **Book:** [source name]
- **Page:** [number]
- **Pronunciation:**
- **[word 1]** — /IPA/
- **[word 2]** — /IPA/
- **[word 3]** — /IPA/
- **Meaning:** Short pronunciation guidance explaining the sound difference (for example: `[word 1]` has /iː/, `[word 2]` has /eɪ/, `[word 3]` has /ɪ/)
- **Synonyms:** pronunciation set, minimal comparison set
- **Context:**
- **[word 1]:** "[very simple sentence]"
- **[word 2]:** "[very simple sentence]"
- **[word 3]:** "[very simple sentence]"
- **Practice History:**
docs/tts-fr/ → add Audio field with the file pathRun all 3 steps in one conversation flow (not spread across hours):
Trust-based pronunciation — no voice/ASR check. User types word to confirm.
If the user wants pronunciation practice instead of meaning-first vocabulary study:
After completing all 3 steps, review at:
Words move through three sections in the tracker:
(current_timestamp_ms % N) + 1 to pick positionAlways show review count when quizzing: e.g. "(reviewed 0 times)" or "(reviewed 3 times)".
User can request specific quizzes anytime — these override normal priority and spam rules:
On-demand refresher: If no words are due/pending, pick random word from all learned words. Still record quiz date.
Keep a ## Quiz State section at the top of the tracker file:
## Quiz State
- **Pending quiz:** [word] ([review type], [step] sent)
- **Last quiz sent:** YYYY-MM-DD HH:MM TZ
Update after each quiz interaction.
When the user asks to set up a scheduled vocabulary quiz:
vocabulary-quiz-{agentName} (e.g. vocabulary-quiz-english)vocabulary-builder skill to run a quiz