{
  "markdown": "# claude-english-buddy\n\n[![Validated by NLPM](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/xiaolai/claude-english-buddy-for-claude/main/nlpm-badge.json)](https://github.com/xiaolai/claude-english-buddy-for-claude/blob/main/nlpm-badge.json)\n\nEnglish language coach for non-native speakers who use Claude Code daily.\n\n## The Problem\n\nLLMs understand broken English perfectly. They never correct you. They never push back. They just... comply.\n\nThis means every typo, every grammar mistake, every awkward phrasing you type goes unchallenged. Over months of daily AI interaction, bad patterns calcify. Your English doesn't improve — it quietly degrades, because the feedback loop that would catch your mistakes no longer exists.\n\nYou're not getting worse at English. You're losing the signal that would make you better.\n\n## The Solution\n\nclaude-english-buddy restores the feedback loop. It sits between you and Claude, silently correcting your prompts and showing you what was wrong — every time, automatically, with zero friction.\n\n```\nYou type:    \"refactor the autentication modul, its got too many responsibilties\"\n\nYou see:     Refactor the authentication module. It has too many responsibilities.\n             (autentication>authentication; modul>module; its got>it has; responsibilties>responsibilities)\n\nClaude sees: the corrected version, responds normally.\n```\n\nWhen your prompt is clean — silence. No noise. Silence means correct.\n\nOver weeks, you start noticing fewer corrections. That's the feedback loop working.\n\n## How It Works\n\n```mermaid\nflowchart TD\n    A[\"You type a prompt\"] --> B{Language?}\n    B -->|\"English\"| C{Errors?}\n    B -->|\"Non-English\"| D[\"Translate to English\"]\n    B -->|\":: prefix\"| E[\"Refine into precise prompt\"]\n    C -->|\"Yes\"| F[\"Correct + show fixes\"]\n    C -->|\"No\"| G[\"Pass through silently\"]\n    D --> H[\"Show translation\"]\n    E --> I[\"Show refined version\"]\n    F --> J[\"Claude acts on corrected version\"]\n    G --> J\n    H --> J\n    I --> J\n    J --> K[\"You see corrections + Claude's response\"]\n```\n\nFour modes, one hook, zero friction:\n\n| Mode | Trigger | What Happens |\n|------|---------|-------------|\n| **Correct** | English prompt with errors | Fixes typos/grammar, shows what changed |\n| **Translate** | Non-English detected | Translates to English, shows translation |\n| **Refine** | `::` prefix | Rewrites into a precise, structured prompt |\n| **Summarize** | `summary_language` configured | Claude appends native-language summary |\n\n## Install\n\nTwo install paths — both reach the same code. Pick one:\n\n**Via Anthropic's official community marketplace** (curated; updates lag the maintainer's marketplace by up to ~24h):\n\n```bash\n/plugin marketplace add anthropics/claude-plugins-community\n/plugin install claude-english-buddy@claude-community\n```\n\n**Via the xiaolai marketplace** (latest version lands here first):\n\n```bash\n/plugin marketplace add xiaolai/claude-plugin-marketplace\n/plugin install claude-english-buddy@xiaolai\n```\n\n> **Install fails with \"Plugin not found in marketplace 'xiaolai'\"?** Your local marketplace clone is stale. Run `claude plugin marketplace update xiaolai` and retry — `plugin install` does not auto-refresh. (The community marketplace doesn't have this caveat — Anthropic's CI keeps it current.)\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/claude-english-buddy:today` | Today's correction report — mistakes, patterns, lessons, trend |\n| `/claude-english-buddy:stats` | Long-term trends — error rate over weeks, improvement trajectory |\n| `/claude-english-buddy:mistakes` | All-time recurring mistakes — your blind spots |\n| `/claude-english-buddy:config` | Configure language, strictness, domain terms |\n| `/claude-english-buddy:review` | Deep review of any text (docs, PRs, emails) |\n\n## Daily Report\n\nThe most powerful feature. Run `/claude-english-buddy:today` at the end of your day:\n\n```markdown\n# Today's Language Report — 2026-04-01\n\n## Overview\n\n| Metric | Today | Yesterday | 7-day avg |\n|--------|------:|----------:|----------:|\n| Prompts | 34 | 41 | 37 |\n| Corrections | 8 (24%) | 14 (34%) | 11 (30%) |\n| Clean prompts | 24 (71%) | 27 (66%) | 25 (68%) |\n\n## Today's Corrections\n\n| # | You Wrote | Corrected | Pattern |\n|---|-----------|-----------|---------|\n| 1 | \"its got too many\" | \"it has too many\" | its vs it's |\n| 2 | \"autentication\" | \"authentication\" | spelling |\n| 3 | \"the modul is\" | \"the module is\" | spelling |\n| ...\n\n## Lessons of the Day\n\n1. **\"who\" vs \"that\"** — Use \"who\" for people, \"that\" for things.\n   Wrong: \"the function who handles auth\"\n   Right: \"the function that handles auth\"\n\n## Trend\n\nYou're improving. Error rate down 37% in 3 weeks.\n```\n\n## Configuration\n\n### Project config (`.claude-english-buddy.json`)\n\n```json\n{\n  \"auto_correct\": true,\n  \"summary_language\": \"Chinese\",\n  \"strictness\": \"standard\",\n  \"domain_terms\": [\"Tailscale\", \"Headscale\", \"MagicDNS\"]\n}\n```\n\n### Global config (`~/.claude/hooks/prompt_coach.json`)\n\nSame format. Project config overrides global.\n\n### AWS Bedrock\n\nIf Claude Code itself is running on Bedrock (`CLAUDE_CODE_USE_BEDROCK=1`), the\nhook automatically routes its own Haiku calls through Bedrock using your AWS\ncredentials — no separate `ANTHROPIC_API_KEY` needed. Region comes from\n`AWS_REGION` / `AWS_DEFAULT_REGION`; credentials from the usual AWS CLI chain\n(profile, SSO, instance role, etc.). Requires the `aws` CLI on `PATH`.\n\nOverride the Bedrock model ID with `CLAUDE_ENGLISH_BUDDY_BEDROCK_MODEL`\n(default: `us.anthropic.claude-haiku-4-5-20251001-v1:0`).\n\n### Strictness Levels\n\n| Level | Behavior |\n|-------|----------|\n| `gentle` | Only fix clear errors. Accept informal English. |\n| `standard` | Fix errors + improve awkward phrasing. (default) |\n| `strict` | Fix everything + suggest more natural alternatives. |\n\n### Summary Language\n\nSet `summary_language` to any language name (`\"Chinese\"`, `\"Japanese\"`, `\"Korean\"`, `\"Spanish\"`, etc.) and Claude will append a brief summary in that language at the end of every response. Set `null` to disable.\n\n## Who This Is For\n\n- **Non-native English speakers** who use Claude Code daily and want to improve their English passively\n- **Developers** whose English is \"good enough for LLMs\" but not improving because LLMs never correct them\n- **Teams** where English is the working language but not everyone's first language\n- **Anyone** who types fast and makes typos they never notice because AI always understands them\n\n## What This Is NOT\n\n- Not a grammar checker for code (use a linter)\n- Not a translation service (though it translates when needed)\n- Not a writing tutor that interrupts your flow (corrections are non-blocking)\n\nThe goal is not perfection. The goal is **visible progress** — seeing your error rate drop from 35% to 20% over a month, knowing which mistakes you keep making, and having a daily report that turns corrections into learning.\n\n## Architecture\n\n| Component | Purpose |\n|-----------|---------|\n| `UserPromptSubmit` hook | Auto-correct, translate, or refine every prompt |\n| `SessionEnd` hook | Brief session summary of corrections |\n| `/today` command | Daily language report with lessons |\n| `/stats` command | Long-term trends and improvement trajectory |\n| `/mistakes` command | All-time recurring error patterns |\n| `/config` command | Configure settings interactively |\n| `/review` command | Deep review of any text via writing-reviewer agent |\n| `writing-guide` skill | English patterns for developers |\n| `writing-reviewer` agent | Thorough text quality analysis |\n| `scripts/lib/state.mjs` | JSONL correction history per day |\n| `scripts/lib/detect.mjs` | Language detection (ASCII ratio) |\n| `scripts/lib/stats.mjs` | Trend analysis and pattern extraction |\n\n## Tests\n\n```bash\nnpm test    # 22 tests covering detection, state, and stats\n```\n\n## License\n\nISC\n",
  "bytes": 7866,
  "sha": "943a24f32cd8e45c0aa0d70d54de02f1ddea31b839d9e060204e2b730f851637",
  "repo_slug": "xiaolai/claude-english-buddy-for-claude",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_xiaolai_claude_english_buddy_for_claude__38374cec/readme"
}