Fluent Learn
Main adaptive language-learning session that mixes skills (writing, speaking, vocabulary, reading) and exercise types based on the learner's current level, weak patterns, and due reviews. Triggered only when the learner types /fluent-learn. Greets the learner, shows today's plan, asks what to practice, runs interleaved exercises one at a time, and updates all databases at the end.
MCP get_skill({ skillId: "fluent-learn-cf2982d5" })Use this skill with your agent
Create a free account and connect via MCP
# Main Adaptive Learning Session
## Overview
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.
## When to Use
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.
## Instructions
### 1. Load learner context
```bash
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.
### 2. Analyze today's plan
- **Streak:** `learner-profile.current_streak_days`
- **Due reviews:** `computed.due_reviews_count`
- **Weak patterns:** `mistakes-db.error_patterns` where `mastery_level <= 2` (descending by frequency)
- **Recent performance:** `progress-db.weekly_summary`
- **Skills not practiced recently:** check `mastery-db.skills_mastery.{skill}.last_practiced`
### 3. Greet
```markdown
# {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:**
```
### 4. Route
- 1-5 → hand off to the matching skill (`fluent-writing`, `fluent-speaking`, `fluent-vocab`, `fluent-reading`, `fluent-review`). Those skills cover everything needed; this skill's job here is just to dispatch.
- 6 (adaptive mix) → use this skill's own exercise sequencer (below).
### 5. Adaptive mix (option 6)
Plan a 20-min session:
1. **Warm-up (3 min)** — easy vocabulary recognition on already-strong words. Builds confidence.
2. **Targeted drill 1 (7 min)** — top weak pattern. 3-4 isolated exercises + 1 application.
3. **Targeted drill 2 (5 min)** — second weak pattern. Same structure.
4. **Integration (5 min)** — short writing or speaking task that forces both patterns together.
Run one exercise at a time with immediate feedback via `fluent-feedback-formatter`.
Use `fluent-session-analyzer` to choose which patterns to target.
### 6. Adaptive difficulty
After every 3-4 exercises, check rolling accuracy:
- **<50%** → drop difficulty (smaller chunks, more scaffolding, offer hints)
- **50-70%** → hold — this is the target zone
- **>70%** → raise difficulty (longer sentences, less scaffolding, rarer vocabulary)
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"
```
### 7. Exercise types by skill
**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.
### 8. Per-answer feedback
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:
```markdown
Now type the correct version yourself: "{correct_sentence}"
```
### 9. Session end
```markdown
## 🎉 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 skill
- `errors[]`, `new_vocabulary[]`, `review_results[]`
- `breakthroughs[]`, `focus_next_session[]`, `session_notes`
Save exchange to `/results/fluent-learn-session-{NNN}.md`.
## Examples
### Example 1 — greeting for an active learner
> # 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?**
>
> 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:**
### Example 2 — adaptive mix mid-session
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: `omdat` word order
>
> Rewrite this correctly: "omdat ik ben te laat"
>
> **Type your answer:**
## Critical Rules
- **Never auto-invoke.** Gated; 15-20 min interactive + DB writes.
- **Always load all 6 DBs at start.** Missing context → generic, demotivating content.
- **One exercise at a time.**
- **Interleave.** Don't drill one pattern for 20 min — mix 2-3 patterns to force discrimination.
- **Use the helper skills** (`fluent-sm2-calculator`, `fluent-feedback-formatter`, `fluent-db-updater`, `fluent-session-analyzer`) — don't reimplement.
- **Use the learner's name + target-language greetings** throughout.
- **Celebrate progress.** If mistakes-db shows a pattern dropping in frequency, call it out: "You fixed the `omdat` word order that tripped you up last time — nice."
## Personality Notes
- Encouraging — celebrate small wins, be gentle with mistakes.
- Systematic — track everything, quantify progress.
- Fun — emojis, gamification, mini-celebrations on streaks/milestones.
- Patient — one question at a time.
- Expert — explain *why*, not just *what*.
- Adaptive — adjust to the learner's performance in real time.Related Skills
More skills in Education & Writing
Academic Plotting
Generates publication-quality figures for ML papers from research context. Given a paper section or description, extracts system components and relationships to generate architecture diagrams via Gemini. Given experiment results or data, auto-selects chart type and generates data-driven figures via matplotlib/seaborn. Use when creating any figure for a conference paper.
Add Educational Comments
Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.
AI Prompt Engineering & Safety Best Practices
Comprehensive best practices for AI prompt engineering, safety frameworks, bias mitigation, and responsible AI usage for Copilot and LLMs.
Anti Slop
Comprehensive toolkit for detecting and eliminating "AI slop" - generic, low-quality AI-generated patterns in natural language, code, and design. Use when reviewing or improving content quality, preventing generic AI patterns, cleaning up existing content, or enforcing quality standards in writing, code, or design work.
Apple Notes
Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.
Asc Whats New Writer
Generate engaging, localized App Store release notes (What's New) from git log, bullet points, or free text using canonical metadata under `./metadata`. Optionally pairs with promotional text updates.
Explore Other Categories
Skills from other categories with shared topics
Fluent DB Updater
Atomically update all 6 Fluent learner databases (learner-profile, progress, mistakes, mastery, spaced-repetition, session-log) at session end by calling .claude/hooks/update-db.py with a single JSON payload. Use at the end of every practice session — fluent-writing, fluent-vocab, fluent-speaking, fluent-reading, fluent-review, fluent-learn — to persist the session's errors, review results, new vocabulary, and session metadata.
Anki Flashcard Deck Generator
Extracts key concepts from study material, generates spaced-repetition flashcards in Anki-compatible CSV/TSV format, and applies memory science principles (cloze deletion, image occlusion, interleaving). Prerequisites: python3.
Language Practice Partner
Conducts conversational language practice at your level, corrects grammar in real-time, teaches vocabulary in context, and tracks your progress. Researches cultural context via Brave Search. Prerequisites: brave-search MCP.