By m98
Deliver personalized language tutoring with spaced repetition, adaptive exercises, and progress trackingβturn any AI assistant into a daily language coach supporting reading, writing, speaking, vocabulary, and review sessions.
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.
Canonical feedback template for every learner answer in the Fluent system β celebrate correct parts, correct mistakes with category and brief explanation, show the full correct version, score out of 10, and classify severity (π΄ critical / π‘ moderate / π’ minor). Use in every practice session (fluent-writing, fluent-vocab, fluent-speaking, fluent-reading, fluent-review) immediately after the learner submits an answer.
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.
Show the learner's language learning progress, statistics, mastery levels, streak, and achievements. Use when the learner asks "how am I doing", "show my progress", "stats", "dashboard", "what's my streak", "how many words have I learned", or invokes /fluent-progress. Read-only β safe to auto-invoke.
Run an interactive reading comprehension session with a short target-language text followed by main-idea, detail, vocabulary-in-context, inference, and true/false questions. Triggered only when the learner types /fluent-reading. Presents the text, waits for the learner to read, then asks questions one at a time with immediate feedback, and optionally adds new vocabulary to the spaced-repetition queue.
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
The AI Language Learning Kit for Claude Code and others
A comprehensive set of rules, guidance, and intelligent tracking systems that transform Claude Code into your personal language tutor. Master any language through adaptive practice powered by proven cognitive scienceβspaced repetition, active recall, and progress tracking that learns from you.
https://github.com/user-attachments/assets/66d68aad-210a-452d-b405-b58c13f42f53
claude plugin marketplace add m98/fluent && claude plugin install fluent@m98
One line. Registers the marketplace, installs the plugin. Works globally from any directory after this.
Restart Claude Code, then:
/fluent-setup # onboard: name, target language, level, goals
/fluent-learn # begin your first session
That's it.
python3 --version). Install via python.org, brew install python3, or your distro's package manager. No pip packages needed β Fluent uses only the standard library.claude plugin list # expect: fluent@m98 enabled
claude plugin update fluent@m98 # pull latest version
claude plugin uninstall fluent@m98 # remove entirely
Prefer to hack on the skills or keep per-project state?
git clone https://github.com/m98/fluent.git
cd fluent
claude # launch from repo root
/fluent-setup
Learner data lives in ./data/ inside the cloned repo instead of ~/.claude/fluent-data/.
Fluent resolves the data directory in this order β first match wins:
$FLUENT_DATA_DIR if set (override everything).$CLAUDE_PROJECT_DIR/data/ if it has learner-profile.json (clone mode, running from outside the repo root)../data/ if it has learner-profile.json (clone mode, running inside the repo).~/.claude/fluent-data/ (plugin-install default).Set FLUENT_DATA_DIR to run multiple learners on one machine:
export FLUENT_DATA_DIR=~/.fluent/dutch
Check where Fluent is currently looking:
python3 -c "import sys; sys.path.insert(0, '.claude/hooks'); from fluent_paths import data_dir; print(data_dir())"
Most language learning apps fail because they're built for engagement metrics, not actual learning. This system is different.
1. Zero Distractions, Pure Focus
2. Infinitely Adaptable Intelligence
3. Your Private, Smart Tutor
The Result? A learning system that feels like a conversation with an expert friend who remembers everything, tracks your progress scientifically, and makes learning actually enjoyable.
This is a comprehensive, open-source language learning system that transforms Claude Code into your personal AI language tutor.
The system uses evidence-based learning methodologies including:
npx claudepluginhub m98/fluent --plugin fluentClaude Code skill pack for Speak AI Language Learning Platform (24 skills)
English language coach for non-native speakers β auto-corrects prompts, translates non-English, refines with :: prefix, tracks improvement over time
Interactive learning companion β creates personalized learning plans, quizzes with adaptive difficulty, and tracks progress across sessions
A personal AI tutor based on Bloom's 2-sigma research: it generates a structured syllabus, teaches one adaptive lesson at a time, and tailors each next lesson to the learner's highlights and feedback. Bundles the bloom-tutor tutoring skill plus six learn-* learning-method skills.
AI mentor agent for vibe coders - analyzes Claude Code conversations with 6-axis skill evaluation (DECOMP/VERIFY/ORCH/FAIL/CTX/META), 7-level system (L1~L7, 0.5 increments), 4 workspace types (Builder/Explorer/Designer/Operator), and longitudinal growth tracking.
Adaptive technical tutoring skill that builds a persistent knowledge graph and learner profile across sessions