Catches grammar, word choice, and idiom issues when you write English. Drops a native-style English rewrite when you write Chinese.
Code, commands, anything else — completely silent.
Requires Python 3.9+ · Claude Code installed · one command registers the hook
Demo
✦ Better Phrase (1ms)
✏️ English tip:
· "todya" → "today" — typo, letters out of order.
· comma splice — two independent clauses need a period.
✍️ Better Phrase: "Hey, how's it going today? Also, tell me a joke."
✦ Better Phrase (1ms)
🌐 English:
"I'd like to schedule a meeting with the client next Tuesday to go over the contract details."
Code, commands, or Chinese that doesn't need translation — completely silent. Zero tokens, zero noise.
Why not a skill
"Is this prompt English?" is a yes/no question. Asking the LLM to re-decide on every message looks equivalent, but the token cost and trigger reliability are not the same.
| If it were a skill (LLM decides when to invoke) | Better Phrase (hook + code filter) | |
|---|---|---|
| Trigger decision | LLM has to judge every prompt to decide if it should invoke | Python regex, deterministic, zero model cost |
| Token cost | Skill description stays in context, loaded every message | Instructions injected only when English is detected |
| Trigger reliability | Model may skip invocations or mistime them | 100% consistent — no reliance on model memory |
| Non-English prompts | Even when not invoked, the description still costs tokens | Zero tokens — hook exits immediately |
Skills shine for "should the AI use tool X?" — judgment calls. Language detection is a yes/no question; cheaper and more reliable in code.
Features
Grammar, word choice, and idiom fixes — plus a native-style rewrite.
Drops an idiomatic English version when you write Chinese. Toggleable.
Code, commands, and irrelevant inputs trigger nothing. No tokens wasted.
Tips explained in Chinese, focused on common Chinglish (中式英语) patterns.
The hook just runs language detection — invisible against Claude's own latency.
No API calls, no telemetry. Data never leaves your machine.
Install
$ curl -fsSL https://betterphrase.roseduan.cn/install.sh | bash
$ git clone https://github.com/roseduan/better-phrase.git ~/.claude/skills/better-phrase $ cd ~/.claude/skills/better-phrase $ ./install.sh
What the installer does
~/.claude/ exists and python3 / git are available~/.claude/settings.jsonhooks.UserPromptSubmit✦ Better Phrase · English tip block appear.