Skip to content

/language-coach

Language coaching for every prompt. Use when the user runs /language-coach with any sub-command (setup, native, target, style, response, goal, mode, focus, band, level, status, off, on). Routes to the correct action based on the argument provided.

shell
$ npx -y skills add leeguooooo/prompt-language-coach --skill language-coach --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/language-coach
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Language coaching for every prompt. Use when the user runs /language-coach with any sub-command (setup, native, target, style, response, goal, mode, focus, band, level, status, off, on). Routes to the correct action based on the argument provided.

SKILL.md

language-coach.SKILL.md
name: language-coach
description: Language coaching for every prompt. Use when the user runs /language-coach with any sub-command (setup, native, target, style, response, goal, mode, focus, band, level, status, off, on). Routes to the correct action based on the argument provided.

You are the `language-coach` command handler. Read the sub-command and run the matching bundled CLI command.

Default platform: use the current host platform.

  • In Codex, use `--platform codex`
  • In Claude Code, use `--platform claude`
  • In Cursor, use `--platform cursor`

If the host platform is ambiguous, ask which platform the user is currently running before writing config.

Resolve the script path relative to this skill directory:

  • Skill path: `skills/language-coach/SKILL.md`
  • Bundled CLI path: `../../scripts/manage_language_coach.py`

All commands below should call that bundled script path directly:

python3 ../../scripts/manage_language_coach.py --platform <claude|codex|cursor> ...

---

Setup

Ask these questions one at a time:

1. `What is your native language? (for example: Chinese, Japanese, Spanish)` 2. `What language are you learning? (for example: English, French, German)` 3. `What is your main goal? (everyday / scored)` 4. `Which coaching style do you want? (teaching / concise / translate)` 5. `Which response language should I use after coaching? (native / target)`

If the user chooses `scored`, ask these follow-ups one at a time:

1. `Which scored mode do you want? (scored-writing / scored-speaking)` 2. `What scoring focus should I store? (writing / speaking / both)` 3. `What target estimate are you aiming for? (optional)` 4. `What is your current level? (optional)`

Then run the matching commands in order:

python3 ../../scripts/manage_language_coach.py --platform <platform> native "<native>"
python3 ../../scripts/manage_language_coach.py --platform <platform> target "<target>"
python3 ../../scripts/manage_language_coach.py --platform <platform> goal "<goal>"
python3 ../../scripts/manage_language_coach.py --platform <platform> style "<style>"
python3 ../../scripts/manage_language_coach.py --platform <platform> response "<response>"

For Codex users, set `<platform>` to `codex` on every command in the setup flow. For Cursor users, set `<platform>` to `cursor` on every command in the setup flow. Do not imply that the default shared setup writes Codex or Cursor config unless you are explicitly running that platform variant.

If `goal` is `scored`, also run:

python3 ../../scripts/manage_language_coach.py --platform <platform> mode "<scored-mode>"
python3 ../../scripts/manage_language_coach.py --platform <platform> focus "<focus>"
python3 ../../scripts/manage_language_coach.py --platform <platform> estimate "<target-estimate>"
python3 ../../scripts/manage_language_coach.py --platform <platform> level "<current-level>"

Finish by running:

python3 ../../scripts/manage_language_coach.py --platform <platform> status

For Codex users, also run:

python3 ../../scripts/manage_language_coach.py --platform codex install-hook
python3 ../../scripts/manage_language_coach.py --platform codex status

For Cursor users, also run:

python3 ../../scripts/manage_language_coach.py --platform cursor install-hook
python3 ../../scripts/manage_language_coach.py --platform cursor status

The Cursor ``install-hook`` writes to ``~/.cursor/hooks.json`` (the top-level location). Plugin-manifest hooks are unreliable on some Cursor releases, so the top-level entry is what actually fires.

This ensures automatic coaching is installed immediately after setup.

Confirm with a short summary of the stored configuration.

---

Sub-commands

native <lang>

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> native "<lang>"

Confirm: `Native language updated to: <lang>`

target <lang>

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> target "<lang>"

Behavior depends on whether multi-target profiles are configured:

  • **Single target (targets[] empty)**: sets the language the coach practices.

Confirm: `Target language updated to: <lang>`.

  • **Multi-target mode (targets[] non-empty)**:
  • If `<lang>` matches an existing profile, that profile becomes primary.
  • If `<lang>` is not in `targets[]`, only the fallback language updates;

coaching still uses the existing profiles. Use `target-add <lang>` to actually coach a new language.

Multi-target management

Use these commands to manage the `targets` list for auto-detected coaching across multiple target languages:

target-add <lang>

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> target-add "<lang>"

This appends a new target profile using the current shared coaching settings as defaults.

target-remove <lang>

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> target-remove "<lang>"

This removes the matching target profile from the multi-target list.

target-list

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> target-list

Relay the printed target language list back to the user.

style <mode>

Valid values: `teaching`, `concise`, `translate`

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> style "<mode>"

Confirm: `Style updated to: <mode>`

response <mode>

Valid values: `native`, `target`

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> response "<mode>"

Confirm: `Responses will use: <mode>`

goal <mode>

Valid values: `everyday`, `scored`

Run:

python3 ../../scripts/manage_language_coach.py --platform <platform> goal "<mode>"

Notes:

  • `goal everyday` resets the active mode to `everyday`
  • `goal scored` keeps the shared config in scored mode

mode <mode>

Valid val

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withlanguage-coach

An always-on language coach for AI editors — improve any target language while you work in Codex, Claude Code, or Cursor.

Get the whole plugin, auto-invoked
Stats
16
Stars
0
Views
0
Forks
Maintained
Maintenance
Python
Language
3mo ago
Last commit
3mo ago
Created

Repo: leeguooooo/prompt-language-coach