From claude-english-buddy
Generates spot-quiz drill rounds with one sentence per round containing an intentional error from your top-3 recurring English mistake categories, then prompts for correction. Supports --category and --rounds flags.
npx claudepluginhub xiaolai/claude-english-buddy-for-claude --plugin claude-english-buddy[--category <name>] [--rounds N]sonnet## User Input ## Workflow ### Step 1: Parse arguments | Flag | Default | Meaning | |------|---------|---------| | `--category <name>` | (none) | Restrict drill to one category: spelling / grammar / punctuation / word-choice / article / preposition | | `--rounds N` | 3 | How many drill sentences to generate | ### Step 2: Load all-time mistake patterns Use the shared JSONL parser pattern (see `commands/shared/jsonl-parser.md`) to read correction history. If the script fails, read JSONL files directly via `Glob` + `Read` following the fallback pattern in `commands/shared/jsonl-parser...
/insightsSurfaces analytics on coding sessions, workflow learnings, correction patterns, heatmaps, and productivity metrics with trends and suggestions. Supports session, learnings, corrections, heatmap subcommands.
/quizGenerates adaptive quizzes testing code understanding from project context, spaced repetition history, or static bank. Supports multiple-choice, free-response, and code-prediction formats.
/reviewDisplays learning progress dashboard: quiz scores, weak/strong areas, module completion, and next study recommendations for all topics or specific topic.
Share bugs, ideas, or general feedback.
$ARGUMENTS
| Flag | Default | Meaning |
|---|---|---|
--category <name> | (none) | Restrict drill to one category: spelling / grammar / punctuation / word-choice / article / preposition |
--rounds N | 3 | How many drill sentences to generate |
Use the shared JSONL parser pattern (see commands/shared/jsonl-parser.md) to read correction history.
node -e "
const { periodStats } = await import('${CLAUDE_PLUGIN_ROOT}/scripts/lib/stats.mjs');
console.log(JSON.stringify(periodStats(365)));
"
If the script fails, read JSONL files directly via Glob + Read following the fallback pattern in commands/shared/jsonl-parser.md.
If the user has fewer than 5 corrections total across all time, respond: "Not enough history yet to drill. Use Claude Code for a few days first, then try /claude-english-buddy:drill again." and STOP.
Group all corrections by category (spelling, grammar, punctuation, word-choice, article, preposition). Rank by total count. Take the top 3.
If --category was passed, use that single category instead.
For each of the N rounds (default 3):
its got → it has).# Drill Round {1 of N} — Category: {category}
Your recurring pattern: **{original > corrected}** (seen {count} times)
## The Sentence
> {generated sentence with the intentional error}
Rewrite this sentence to fix the error. Reply with the corrected version; I'll grade your answer and show the rule.
After the user replies with a corrected sentence, grade it:
## Grading — Round {N}
| | Target pattern | Your correction | Verdict |
|-|----------------|-----------------|---------|
| Original | {sentence with error} | — | — |
| Expected | {sentence with fix} | — | — |
| You wrote | — | {user's answer} | {Correct / Partial / Incorrect} |
### Rule
{One-sentence explanation of the underlying rule — pulled from grammar-fundamentals, punctuation-rules, or common-non-native-mistakes as appropriate.}
{If user got it correct: brief reinforcement.}
{If partial: name the thing they missed.}
{If incorrect: state the rule and show the minimal edit.}
After N rounds, emit a summary:
## Drill Summary
| Round | Category | Verdict |
|-------|----------|---------|
| 1 | ... | Correct |
| 2 | ... | Partial |
| 3 | ... | Incorrect |
**Score**: {n/N correct, n/N partial, n/N incorrect}
**Weakest pattern today**: {pattern}
**One tip**: {actionable guideline from the underlying skill}
--category names a category the user has zero mistakes in, fall back to their actual top category and note the fallback in the first round header.