Jacob Clayden's Claude Code plugins
npx claudepluginhub jacobcxdev/model-matchmakerEffort-aware prompt classification for Claude Code. Classifies prompt complexity and injects effort guidance so Claude adapts reasoning depth to task difficulty.
Effort-aware prompt routing for Claude Code. Classifies prompt complexity and suggests the right model + reasoning effort so you're not burning Opus tokens on "yes" or giving Haiku an architecture task.
model-matchmaker classifies every prompt into a complexity tier and injects a suggestion for which model and reasoning effort to use. You still switch models manually — the plugin tells you when and what to switch to.
| Tier | Triggers | Suggestion |
|---|---|---|
| LOW (trivial) | Affirmatives, git ops, file ops, mechanical tasks | /model haiku |
| LOW (simple) | Short prompts (≤6 words, no question) | /model sonnet with low reasoning effort |
| STANDARD | Everything else | No suggestion — current model at natural depth |
| HIGH | Architecture, security, cross-cutting, planning, very long prompts | /model opus with high reasoning effort (or ultrawork prefix) |
Prefix any prompt with \ to skip the suggestion for that turn.
The Claude Code hooks API doesn't support programmatic model switching. Rather than running a proxy server (which breaks OAuth on Max plans), model-matchmaker works within the plugin system to give you actionable suggestions before Claude executes.
/plugin marketplace add jacobcxdev/cc-plugins
/plugin install model-matchmaker@jacobcxdev-cc-plugins
claude --plugin-dir ~/Developer/src/github/jacobcxdev/model-matchmaker
The plugin reads your GSD profile automatically:
/gsd:set-profile quality # Thorough by default, LOW only for trivial
/gsd:set-profile balanced # Effort matches task (default)
/gsd:set-profile budget # Lean responses, HIGH suggests /model opus
Create ~/.config/model-matchmaker/config.json:
{
"profile": "balanced"
}
| Profile | LOW threshold | HIGH threshold | Philosophy |
|---|---|---|---|
quality | Only affirmatives, ≤6 words (no model switch suggestion) | Silent (already on Opus) | Pay compute tax, avoid correction tax |
balanced | Trivial → Haiku, simple → Sonnet+low effort | Architecture/security → Opus+high effort | Smart routing — model matches task |
budget | Silent (already on Sonnet) | Complex patterns → strongly recommend Opus | Maximum savings, escalate when it matters |
Decisions are logged to ~/.local/state/model-matchmaker/decisions.log for tuning analysis:
2026-03-04T22:35:00Z | balanced | LOW | "yes"
2026-03-04T22:36:00Z | balanced | STD | "fix the bug in auth..."
2026-03-04T22:37:00Z | quality | HIGH | "architect a new auth..."
pnpm install # Install TypeScript
pnpm build # Compile src/ → dist/
pnpm test # Run tests (29 tests across all profiles)
MIT