From fluent
Adaptive language-learning session interleaving writing, speaking, vocabulary, and reading exercises based on learner level and weak patterns. Triggered by /fluent-learn.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fluent:fluent-learnThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The flagship command. Interleaves skills, adapts difficulty per answer, and covers the whole evidence-based loop: active recall → immediate feedback → spaced repetition → tracking. Typically runs 15-20 min, mixing 2-3 patterns to force discrimination.
The flagship command. Interleaves skills, adapts difficulty per answer, and covers the whole evidence-based loop: active recall → immediate feedback → spaced repetition → tracking. Typically runs 15-20 min, mixing 2-3 patterns to force discrimination.
Trigger this skill only when the learner types /fluent-learn. The skill is gated with disable-model-invocation: true — an ambiguous auto-trigger would launch a 20-min interactive session and mutate 6 JSON databases.
Skip this skill the very first time a learner runs the system — route to /fluent-setup instead.
python3 "${CLAUDE_PLUGIN_ROOT:-${CLAUDE_PROJECT_DIR:-.}}/.claude/hooks/read-db.py"
Need all 6 DBs. If any missing, direct the learner to /fluent-setup and stop.
learner-profile.current_streak_dayscomputed.due_reviews_countmistakes-db.error_patterns where mastery_level <= 2 (descending by frequency)progress-db.weekly_summarymastery-db.skills_mastery.{skill}.last_practiced# {greeting in target language}, {name}! 👋
**Today's Status:**
- 🔥 Streak: {X} {day/days}
- 📚 Review items due: {Y}
- 🎯 Focus area: {weakest skill or top weak pattern}
- ⭐ Level: {current} → {target} ({progress}%)
**What would you like to practice today?**
1. 📝 Writing (emails, letters, forms)
2. 🗣️ Speaking (typed conversation)
3. 📖 Vocabulary (flashcard drills)
4. 👀 Reading (comprehension)
5. 🔄 Spaced Review (today's due items)
6. 🎲 Surprise me! (adaptive mix)
**Type a number or skill name:**
fluent-writing, fluent-speaking, fluent-vocab, fluent-reading, fluent-review). Those skills cover everything needed; this skill's job here is just to dispatch.Plan a 20-min session:
Run one exercise at a time with immediate feedback via fluent-feedback-formatter.
Use fluent-session-analyzer to choose which patterns to target.
After every 3-4 exercises, check rolling accuracy:
Formula reference:
if mastery_level <= 1:
difficulty = "easy"
elif mastery_level == 2:
difficulty = "medium" if recent_accuracy > 0.60 else "easy"
elif mastery_level == 3:
difficulty = "medium" if recent_accuracy > 0.70 else "medium"
elif mastery_level >= 4:
difficulty = "hard" if recent_accuracy > 0.80 else "medium"
Writing: sentence completion, translation, error correction, full email, reordering.
Speaking: personal Qs, picture description, role-play, phonetic typing.
Vocabulary: recognition, production, cloze, associations, synonym matching.
Reading: short text + comprehension, cloze paragraph, true/false, summarization.
Use fluent-feedback-formatter template. Score 0-10 + severity tag. Stage for end-of-session update.
Also prompt the learner to retype the correct form after a critical mistake — motor memory helps:
Now type the correct version yourself: "{correct_sentence}"
## 🎉 Session Complete!
**Today's Stats:**
- ⏱️ Duration: {X} min
- ✅ Exercises: {Y}
- 📊 Accuracy: {Z}%
- 📈 Improvement: +{N}% from start
**Breakthroughs:** ✨
- {what mastered or improved}
**Next Time Focus:**
- {what to practice next}
**Streak:** 🔥 {X} {day/days}! {motivational line}
{goodbye in target language}! 👏
Then use the fluent-db-updater skill:
command_used: "/fluent-learn"skills_practiced: [all skills touched]skill_scores per skillerrors[], new_vocabulary[], review_results[]breakthroughs[], focus_next_session[], session_notesSave exchange to /results/fluent-learn-session-{NNN}.md.
Goedemorgen, Mohammad! 👋
Today's Status:
- 🔥 Streak: 6 days
- 📚 Review items due: 6
- 🎯 Focus area: formal_informal confusion (5 total occurrences)
- ⭐ Level: A1 → A2 (38%)
What would you like to practice today?
- 📝 Writing (emails, letters, forms)
- 🗣️ Speaking (typed conversation)
- 📖 Vocabulary (flashcard drills)
- 👀 Reading (comprehension)
- 🔄 Spaced Review (today's due items)
- 🎲 Surprise me! (adaptive mix)
Type a number or skill name:
After 4 exercises, accuracy is 55% (target zone). Hold difficulty; introduce pattern #2:
Nice — you're right in the sweet spot. Let's switch patterns now.
Exercise 5:
omdatword orderRewrite this correctly: "omdat ik ben te laat"
Type your answer:
fluent-sm2-calculator, fluent-feedback-formatter, fluent-db-updater, fluent-session-analyzer) — don't reimplement.omdat word order that tripped you up last time — nice."npx claudepluginhub m98/fluent --plugin fluentRuns an interactive vocabulary drill with flashcard prompts, spaced repetition, and per-answer feedback. Triggered only by /fluent-vocab.
Facilitates structured speaking practice for language learners, using ACTFL OPI and CEFR-aligned techniques to develop fluency, accuracy, and pragmatic competence through guided conversation.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.