Skip to content

v0.5.1 — Integration with spec-kit

Choose a tag to compare

@JoaquinRuiz JoaquinRuiz released this 12 Aug 09:38
· 9 commits to main since this release

If you drive your work with spec-kit, SpecJudge now
runs itself at the one moment it is worth running.

You finish /speckit.tasks. The spec, the plan and the task list exist, and not a token
has been spent. That is when picking a model is both informed and free — and it is
precisely the moment that slips by, because the next thing spec-kit offers you is
/speckit.implement.

Recommend a model for these tasks? [y/N]

Say yes and you get the podium, plus the fragment of your own spec behind every level:

Budget envelope
   default: reasoning medium, size low
   reasoning: top — S:FR-001 (requirement)
   size: low — T:T002 (customary)

S:FR-001 is a line you wrote. If the recommendation looks more expensive than you
expected, you can go and read the sentence that made it expensive.

Install

specify extension add specjudge --from https://github.com/JoaquinRuiz/SpecJudge/releases/latest/download/spec-kit-specjudge.zip

Needs spec-kit 0.13.x, SpecJudge 0.5.0+, and Ollama with a local model. An 8B judge is
enough — see choosing a judge.

What it will not do to you

  • It asks first. The judge is a model running on your machine, and starting one costs
    you a minute or two. Say no and nothing happens.
  • It writes nothing. effect: read-only. The recommendation is reported, not filed
    next to your tasks.
  • It never blocks. No judge configured, Ollama not running, a spec too thin to judge —
    it says so in one line and gets out of the way. You came here to implement.

Why this took no new code

The extension is a manifest and a prompt. It works because the --json payload has been a
versioned contract and the exit codes have been distinguishable since 0.3.0 — so wiring
SpecJudge into another tool's workflow cost a YAML file and a markdown one.

Upgrading

pip install --upgrade specjudge

Nothing to do, and nothing changes if you do not use spec-kit: the installed package is
identical to 0.5.0, and this release exists to carry the extension archive.

Full detail in the changelog.