← Reddit

I built a tool that tells you whether your project actually needs Opus — it's now a one-command install in spec-kit

Reddit · jokiruiz · August 14, 2026
I kept reaching for Opus by default on everything, then burning through my limits on work Sonnet would have handled fine. So I built something to answer that instead of guessing. It reads whatever written context your repo has — spec-kit artifacts, CLAUDE.md,

Detailed Analysis

A developer has released SpecJudge, an open-source tool designed to solve a specific and increasingly common problem for teams building with Claude Code and similar agentic coding tools: knowing which model tier a given piece of work actually requires. The tool was built out of a personal frustration — the creator describes habitually defaulting to Opus for tasks that Sonnet could have handled just as well, burning through usage limits in the process. Rather than guessing, SpecJudge reads a project's existing written artifacts (spec-kit outputs, CLAUDE.md, AGENTS.md) and uses a local model to estimate task complexity, then ranks Opus, Sonnet, Haiku, and other models by fit — good, overkill, fair, or poor. The tool has now been approved into the spec-kit extension catalog, making it a one-command install (`specify extension add specjudge`) for teams already using that workflow, with a `pip install` option for everyone else.

The most notable design decision in SpecJudge is its rejection of single-score complexity ratings. The creator explains that early versions ranked an entire project's complexity as one number, which meant either overpaying for Opus-tier reasoning on dozens of trivial edits or under-serving the one genuinely hard architectural decision buried in a task list. The fix — a default model tier for routine work plus explicit "escalation triggers" tied to specific fragments of the spec — reflects a maturing understanding of how real engineering work is distributed: mostly mechanical, occasionally load-bearing. This granular approach mirrors a broader shift happening across the Claude ecosystem, where tools like Claude Code's model-routing features and third-party orchestration frameworks increasingly treat model selection as a per-task optimization problem rather than a per-project one.

Equally significant is the tool's insistence on explainability. Rather than asking a model to render a subjective judgment about whether a piece of spec text constitutes a "requirement," SpecJudge uses deterministic rules to detect formal markers — MUST statements, numbered functional requirements — versus looser descriptive language. This means a user who disagrees with a recommendation can trace it back to the exact rule and text fragment that triggered it, rather than being stuck arguing with an opaque model opinion. This design choice speaks to a growing tension in AI tooling: as more decisions (model selection, task routing, cost allocation) get delegated to AI judgment calls, there's rising demand for auditability and reversibility rather than black-box trust. SpecJudge's explicit refusal to score projects with thin or ambiguous specs — declining rather than fabricating a confident-sounding answer — reinforces this same philosophy of bounded, legible automation over false certainty.

The tool also fits into the broader economic reality shaping how developers use Claude in 2026: with usage limits, token costs, and tiered model pricing (Opus commanding a significant premium over Sonnet and Haiku) now a constant background consideration, cost-aware routing has become its own subgenre of developer tooling. SpecJudge's local-only architecture — running its judge model through Ollama with no API calls and no project data leaving the machine — also reflects growing developer sensitivity around privacy and vendor lock-in when building infrastructure atop commercial AI APIs. That it emerged organically from the open-source spec-kit ecosystem and was vetted into the extension catalog signals that community-driven tooling around Claude's model tiers is becoming a meaningful complement to Anthropic's own routing and pricing decisions, rather than something users are expected to navigate purely through trial, error, and intuition.

Read original article →