fluent-language

Lists, switches, and adds language profiles with isolated per-language database directories.

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/mituso89/fluent --skill fluent-language-mituso89
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fluent-language
Source: https://github.com/mituso89/fluent/tree/main/.claude/skills/fluent-language
Command: npx skills add https://github.com/mituso89/fluent --skill fluent-language-mituso89

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Learners studying multiple languages risk having progress data from one language overwrite another's. This Skill keeps each language's six learning databases in its own isolated directory and manages which one is active. ## Core Features & Use Cases - List languages: Shows all registered languages with level, streak, and due-review counts in a summary table. - Switch languages: Changes the active language in the languages.json registry so every other learning command reads from the correct database directory, with a warning if reviews are due in the current language. - Add a language: Onboards a new target language by collecting level, goals, and explanation-language preference, then seeds a fresh set of six database files under its own slug directory. - Use Case: A learner studying English at B2 wants to start Swedish from scratch. They run the add command, answer a few onboarding questions, and get a separate Swedish progress directory while their English data stays untouched. ## Quick Start Ask the assistant to list your languages or switch to a different one, for example by typing /fluent-language switch swedish.

Frequently Asked Questions about fluent-language

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I switch between multiple languages I'm learning?▼

Run /fluent-language switch followed by the language name, such as /fluent-language switch swedish. The command updates the active entry in languages.json, and all subsequent learning commands automatically read and write that language's database directory.

How do I add a new language without losing existing progress?▼

Run /fluent-language add and answer the onboarding questions about level, goals, and explanation language. It creates a new directory under data/<slug>/ seeded with empty database files, leaving every other language's directory completely untouched.

Can I track progress separately for each language I study?▼

Yes. Each language gets its own directory containing the same six databases (progress, mistakes, mastery, spaced repetition, session log, learner profile). The languages.json registry tracks which language is active and stores shared identity details.

What happens to my old single-language data after upgrading?▼

A one-time migration script moves the existing flat database layout into a slug-named subdirectory and creates the languages.json registry. The migration runs at most once and is confirmed with you before proceeding.

Why won't the language switcher run automatically from chat messages?▼

Switching changes which database directory every other command reads from next, so it is gated behind explicit slash commands with model invocation disabled. This prevents accidental switches from ambiguous conversational messages.