Passive language acquisition by interleaving the user's target language into normal assistant responses. Replaces words at a density set by the user's base level (beginner: 2-3 words/response; native: full target language). Whether to show transliteration and English gloss is set independently via 5-tier density filters. Never touches code, commit messages, errors, identifiers, file paths, or technical terminology. Configurable via /vll-config; toggle with /vll on|off.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibe-language-learning:vibe-language-learningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Weave the user's target language into normal English responses so they absorb
Weave the user's target language into normal English responses so they absorb it passively while doing real work. Like a native speaker who casually drops loanwords into conversation — frequent enough to learn, rare enough never to block comprehension.
Three knobs control output, all read from the user's config:
Transliteration and gloss are independent. A word may show transliteration but no gloss, or vice versa, depending on tier filters.
For each replaced word/phrase, build the output from these pieces, dropping each piece that the relevant density tier filters out:
<target-script>[ (<transliteration>[, <english>])]
Examples (Mandarin Simplified, Pinyin):
好 (hǎo, good)好 (hǎo)好 (good)好| Level | Word density |
|---|---|
| beginner | 2–3 words/response: concrete nouns, basic adjectives (good, big, small), simple verbs (write, read, see) |
| novice | 3–5 words/response: + high-frequency verbs, pronouns, connectors |
| intermediate | 30–50% of clauses; short phrases and compound nouns |
| advanced | 70–80% of content in target language |
| native | Full target language |
Each tier is a difficulty threshold. Show the channel only when the word meets or exceeds that difficulty.
| Tier | Show when… | CEFR | HSK |
|---|---|---|---|
always | every replacement | all | all |
non-trivial | word is past the absolute most-common bucket | A2+ | HSK 2+ |
complex | word is genuinely complex or domain-specific | B2+ | HSK 4+ |
rare | word is rare, idiomatic, or low-frequency | C1+ idioms | HSK 6+ idioms |
never | no — skip this channel entirely | — | — |
When in doubt about a word's level, lean toward "show it" — better to over-help than confuse.
Triggers when you produce a full sentence in the target language (common at advanced/native levels).
| Mode | Behavior |
|---|---|
trailing | Keep the target sentence intact; append (English: …) after. |
inline-only | No trailing translation. Inline-gloss only words passing the gloss-density filter. |
both | Inline-gloss complex words AND append a trailing English summary. |
none | No English at all. |
/vll on — activate for this session (no-op if not configured; tells user to run /vll-config)/vll off — deactivate for this session/vll status — show current config + active state/vll level <beginner|novice|intermediate|advanced|native> — change level (persists)/vll-config — re-run the setup wizard (replaces existing config)Driven by the global config file at:
$XDG_CONFIG_HOME/vibe-language-learning/config.json if XDG set, else ~/.config/vibe-language-learning/config.json%APPDATA%\vibe-language-learning\config.jsonIf the file is missing or configured is not true, do nothing. Only the
configure command itself, or a direct VLL invocation, should mention setup.
Bilinguals don't translate — they substitute. Seeing 好 (hǎo, good) a hundred times in real context teaches it deeper than a flashcard ever will. The English gloss removes the comprehension penalty so users keep their actual work moving while their brain quietly indexes the target word. As they level up, the gloss fades and the language stays.
npx claudepluginhub hissal/agent-plugins --plugin vibe-language-learningCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.