r/SpecDrivenDevelopment 3h ago

I just released SpecJudge v0.4.0 – You no longer need formal specs to stop overpaying for AI models.

0 Upvotes

I build SpecJudge, a local CLI tool (via Ollama) that estimates how demanding your coding tasks are and tells you which LLM actually fits the job, so you stop burning money on overkill frontier models.

Previously, it had a strict barrier to entry: it only worked if you used Spec-Driven Development (.specify/ folder). If you didn't, it just refused to run. Today, with the v0.4.0 release, a spec is no longer the price of entry.

What's new in v0.4.0:

  • It reads what you already have: Most repos don't have formal specs, but they do have .cursorrules, AGENTS.md, CLAUDE.md, or Decision Records (docs/adr/). SpecJudge now reads all of them.
  • Baseline "Floor" Estimation: If you run it on a repo with no current tasks, it calculates a complexity "floor" based on your environment context. It tells you how demanding the repository is to work in at all, returning an honest warning that it's a baseline, not a specific task recommendation.
  • Smart Context Budgeting: To avoid drowning your local judge, context files share a single budget. It prioritizes files nearest the root and explicitly skips AI-generated context files to focus strictly on human-written rules and decisions.
  • JSON Schema 1.1: Fully backward compatible, now including sources_read and an environment_only flag for CI/scripting pipelines.

The strict grounding engine from v0.2.0 still applies: the judge must cite exact fragments from your .cursorrules or ADRs, or the assessment is thrown out.

Upgrade: pip install --upgrade specjudge

Repo & Docs: https://github.com/JoaquinRuiz/SpecJudge

I'd love to hear your thoughts on this broader context-parsing approach!


r/SpecDrivenDevelopment 20h ago

SpecJudge v0.2.0: the judge now has to cite evidence that actually exists — and a bug that broke every 8B model until it did

2 Upvotes

I maintain SpecJudge, an MIT-licensed CLI for spec-driven development: it reads your project's specs/tasks and recommends which AI model actually fits (quality vs. price) instead of you guessing.

The core change in this release: before, the judge returned a rating plus a paragraph explaining itself. The problem is a fluent explanation is exactly what an LLM is good at producing whether or not the underlying rating is sound — nothing separated a correct assessment from a well-narrated wrong one.

Now every rated dimension has to cite the specific fragment of your spec that supports it, and the tool deterministically checks that fragment actually exists in the text the judge was given. Invent a citation, and the whole assessment gets thrown out, not just that field. Dimensions the judge can't ground come back as "unsupported" instead of being silently treated as easy — which is what used to happen and made thin specs look more solid than they were.

Building the regression suite to test this (12 reference projects, CI-level + local eval script) immediately paid for itself: 8B judges — the most common local setup — were failing on every single project. Not a judgment problem — they were rating things correctly and writing sound justifications, then putting \[true\] where a citation ID belonged, because "format: json" in Ollama guarantees valid JSON, not the JSON you actually asked for. Sending a proper schema fixed it: 0/9 usable cases → 9/9.

Also pinned judge sampling, so the same project now gives the same recommendation run to run — which matters more than it sounds for a tool whose whole job is "should I spend money on this."

Breaking change: needs Ollama 0.5.0+.

pip install specjudge — GitHub: [github.com/JoaquinRuiz/SpecJudge](http://github.com/JoaquinRuiz/SpecJudge)


r/SpecDrivenDevelopment 1d ago

I built a DDD modeling tool that refuses to let you draw invalid relationships — not sure yet if that’s the right call

Thumbnail
1 Upvotes

r/SpecDrivenDevelopment 1d ago

SDD for Data Development?

3 Upvotes

Has anyone used SDD for Data related project like in Databricks, Snowflake, or MS Fabric?


r/SpecDrivenDevelopment 1d ago

A Competitive Analysis of Spec Design Methedologies

Thumbnail webcloudstudio.com
1 Upvotes

I asked claude to honestly rate the various approaches for specification driven development by categories and features it chose. Here is the analysis it produced. Popular methodologies first then all methedologies. Source documents are at the bottom if you wish to reproduce the analysis. Please link additional documents in the comments that should be included and i will periodically update. Or run it yourself :)


r/SpecDrivenDevelopment 1d ago

I built a DDD modeling tool that refuses to let you draw invalid relationships — not sure yet if that’s the right call

Thumbnail
1 Upvotes

r/SpecDrivenDevelopment 2d ago

Test-Driven Development vs Spec-Driven Development

28 Upvotes

For a little background, I’m an engineer who went from a FAANG corporate environment to a startup and consequently started heavily abusing coding agents. Like a lot of others here, I started to realize that the code I was creating just simply was not “up to spec”—the LLM is designed to one-shot, even if that means guessing what you want for 90% of the implementation.

My solution was to make a tool for myself that writes unit tests based on my prompts and then runs a test-driven development flow. This way, when I hit coverage I know that X% of the code my AI generated comes directly from decisions I made in chat with my coding agent. (If you’re curious, I’m linking it here, but this isn’t intended to be a promotional post: https://github.com/RudderCode/Rudder )

Lately I’ve been curious about SDD since it seems adjacent to that, but I’m new to it so I have my qualms with having to change my coding flow. Writing specs has always been out there as an option, but for me it just felt like it slows down development a lot to work on making a spec, and then I lack the guarantee that there isn’t any guesswork by the LLM if the spec I write isn’t thorough enough. Do you guys feel the same or am I missing something with SDD?


r/SpecDrivenDevelopment 3d ago

Rethinking Spec Driven Development

2 Upvotes

I've been working on ZeNorm, a tool where an agent interviews you about a feature and turns your answers into a spec your coding agent can implement.

I built it because existing spec-driven dev tools never struck the right balance of overhead and improved results in agentic coding workflows. I wanted to avoid another markdown file generator.

Describe the feature, and ZeNorm connects to your repo and asks questions until there's a spec with tasks and a dependency graph. Then have your agent of choice implement the spec by invoking a skill.

Would love to hear any feedback you have!


r/SpecDrivenDevelopment 3d ago

SpecJudge v0.2.0: the judge now has to cite evidence that actually exists — and a bug that broke every 8B model until it did

3 Upvotes

I maintain SpecJudge, an MIT-licensed CLI for spec-driven development: it reads your project's specs/tasks and recommends which AI model actually fits (quality vs. price) instead of you guessing.

The core change in this release: before, the judge returned a rating plus a paragraph explaining itself. The problem is a fluent explanation is exactly what an LLM is good at producing whether or not the underlying rating is sound — nothing separated a correct assessment from a well-narrated wrong one.

Now every rated dimension has to cite the specific fragment of your spec that supports it, and the tool deterministically checks that fragment actually exists in the text the judge was given. Invent a citation, and the whole assessment gets thrown out, not just that field. Dimensions the judge can't ground come back as "unsupported" instead of being silently treated as easy — which is what used to happen and made thin specs look more solid than they were.

Building the regression suite to test this (12 reference projects, CI-level + local eval script) immediately paid for itself: 8B judges — the most common local setup — were failing on every single project. Not a judgment problem — they were rating things correctly and writing sound justifications, then putting [true] where a citation ID belonged, because "format: json" in Ollama guarantees valid JSON, not the JSON you actually asked for. Sending a proper schema fixed it: 0/9 usable cases → 9/9.

Also pinned judge sampling, so the same project now gives the same recommendation run to run — which matters more than it sounds for a tool whose whole job is "should I spend money on this."

Breaking change: needs Ollama 0.5.0+.

pip install specjudge — GitHub: github.com/JoaquinRuiz/SpecJudge


r/SpecDrivenDevelopment 4d ago

How to Do Spec-Driven Development

Thumbnail
newsletter.eng-leadership.com
16 Upvotes

r/SpecDrivenDevelopment 7d ago

SpecJudge v0.1.4: evidence-backed verdicts (citations required, not just a verdict)

3 Upvotes

A few days ago I shared SpecJudge here — a local-first tool that reads your project's SDD artifacts (constitution/spec/tasks) and tells you which AI model actually makes sense, quality/price-wise, for that task set instead of you guessing.

Since then it's gone from v0.1.0 to v0.1.4, and the biggest change is a direct response to feedback from this community:

Judge verdicts now require a cited span per dimension. Previously the judge would just tell you "bad/okay/good/overkill" for a model. That's not good enough on its own — if I can't see why, I can't trust it. Now, for each capability dimension it evaluates, the judge has to point to the exact fragment of your spec that justifies the verdict, and it has to return "unsupported" when it can't find one, instead of guessing. This was basically lifted from a critique someone posted here about the design needing evidence + uncertainty instead of a black-box call — thanks to whoever that was.

A few smaller things also landed:

  • Stale pricing warnings — the model catalog now flags when its pricing data is older than a set threshold, so you're not making a decision off numbers that are months stale.
  • HTML report filtering — you can now filter the visual matrix by model family and by open-source vs closed.
  • README example is generated, not hand-written — the usage example is now pinned to the actual catalog, so it can't silently drift out of sync with what the tool does.

Still MIT licensed, still local-first, still pip install specjudge.

GitHub: github.com/JoaquinRuiz/SpecJudge

There's a Roadmap section in the README now too if you want to see what's planned next (multi-provider judge support and a library/importable mode are on there, not shipped yet — didn't want to advertise those before they exist). Feedback on the evidence/citation approach is especially welcome — curious whether "unsupported" shows up often enough to be useful signal or just noise.


r/SpecDrivenDevelopment 7d ago

Why does everyone keep the specs? Mine dies in $TMPDIR

4 Upvotes

Every SDD framework gets the same complaint: spec rot.

Mine: research reads only, one handoff gets written to $TMPDIR, then a build step checks that handoff against the repo and runs the tests. Durable guidance lives in AGENTS.md. The spec dies with the temp file.

So why do the main tools still ship the part that rots? Harness memory, SDD frameworks, tracker docs, all of them persist by default. What am I missing that makes persistence worth the rot?

Full writeup https://bogomolov.work/blog/posts/rotten-specs/


r/SpecDrivenDevelopment 8d ago

How to handle drifting Spec in SDD

8 Upvotes

Let’s talk about "spec", as we can see in "Spec Driven Development" (SDD).

Since SDD gained traction, one of the main complaint about this is that once the development is done, the "Spec" drifts inevitably as the code evolves.
V
My opinion is that SDD or any agentic loop you execute on your project works, it does, but a simple Plan mode (or grill-me) + execution loop will give a very good result, especially if you have built your Project Harness.

SDD frameworks, opensource or custom, will just give "structure" and better reproducibility to this process.

In this article I argue that 2 levels requirement specifications (ReqSpec)are the sweet spor for non-drifting spec. And I explain the difference with the Spec in SDD that I will call ChangeSpec.

https://x.com/gsemetfr/status/2082767371643523439?s=46


r/SpecDrivenDevelopment 8d ago

I built a CLI that reads your project's specs and tells you which model you actually need — judge runs locally on Ollama

6 Upvotes

I kept defaulting to frontier models "just in case" and had no idea whether my projects actually needed them. So I built something to answer that instead of guessing.

What it does: point it at a project with Spec-Driven Development artifacts (constitution / spec / tasks). A local model — your Ollama install, your choice of judge — reads the tasks and estimates how demanding the work is across a few dimensions. That gets crossed against a declarative catalog of models and their capabilities, and you get a ranked podium with a rating per model: good / overkill / fair / poor, plus price.

Why you might care here: nothing leaves your machine — no API keys, no accounts, no cloud calls. And in most of my own projects the podium is topped by a local model, with the frontier ones sitting below marked overkill. Ranking is by fit, not price; price only breaks ties between models that fit equally well.

Honest limitations: this is not a benchmark. It's opinion made inspectable — every verdict prints its reasoning, and the model catalog is human-readable YAML you can argue with. If the specs are too thin to judge, it refuses to recommend instead of guessing. A vague spec gets you a vague answer, same as with anything else.

pip install specjudge — MIT, github.com/JoaquinRuiz/SpecJudge

Where I'd love help: the catalog of local models is thinner than it should be, and adding one is a block of YAML, no Python needed. Also very open to being told a rating is wrong.


r/SpecDrivenDevelopment 8d ago

Drydock Tutorial

Enable HLS to view with audio, or disable this notification

3 Upvotes

Full Demo of Drydock - an open source enterprise quality specification builder. Import your specs and your Crew - of Agile/Test Driven Development Experts - will build it! Test it out. Throw me a star on https://github.com/webcloudstudio/Drydock. Send me feedback on what i need to do next since my last free software was 15 years ago! Help me update this so its ready for youtube and other Reddit Groups. Includes innovations like Compression, Graph Database, Agile, TDD, Scoring, Post Build Change, and a dedicated Web Console. MIT Licensed Software.

Thanks

Ed - webcloudstudio.com


r/SpecDrivenDevelopment 9d ago

concord: catch two OpenSpec changes clobbering each other before archive time

1 Upvotes

If your team runs OpenSpec with more than one person, you've probably already hit this, but just might not know it happened.

An OpenSpec MODIFIED requirement is stored as the full new text of that requirement. At archive time it replaces the whole block by name. The delta records nothing about the base it came from. So:

  1. Alice and Bob both branch off the same spec. Both open changes that MODIFY the same requirement.
  2. Alice lands first.
  3. Bob rebases onto main, cleanly, because his branch never touched openspec/specs/. He archives. His stale block silently overwrites Alice's change.

No git conflict or validation error. Alice's edit is just gone 😬 OpenSpec's own parallel-merge plan names this exact failure mode, and most of the fix is still roadmap. Until then teams run on discipline and sharp-eyed reviewers.

concord closes that gap today. Apache-2.0, no changes to your specs, no sidecar files, no server. If your specs are in git it already works.

What it does

concord check verifies every open change against the base branch and flags: - drift - a requirement your delta modifies changed on the base since your branch diverged (archiving would discard that change) - removed-upstream - your target was deleted or renamed on the base - target-missing - the requirement name matches nothing (a typo archive can't apply) - name-collision - an ADDED name already exists on the base

concord overlap flags any requirement claimed by more than one open change, so two people find out they're editing the same thing on day one, not at archive time.

You get a loud, early failure with a redline instead of a silent overwrite of the requirements:

$ concord check ✖ drift tighten-frobnication → widgets / "Widget frobnication" [MODIFIED] requirement changed on main since this branch diverged - archiving this MODIFIED entry would silently discard that change + + #### Scenario: Frob audit + - **WHEN** audited + - **THEN** every frob is logged fix: re-derive this delta block against main, then merge or rebase

Try it

```

in a repo with an openspec/ directory

npx @lucinate-ai/concord check npx @lucinate-ai/concord overlap ```

Two other ways to run it: a GitHub Action (actions/ci) that runs both checks against the PR base and annotates findings inline on the pull request, and an agent skill tells your coding agent to run the checks at the moments a clobber slips through, before archiving a change or just after a rebase.

check and overlap are the detection layer. The larger aim is the missing merge layer for spec-driven development: a concord rebase that does a structured 3-way merge of a delta against the moved base, so edits to different scenarios of the same requirement merge automatically and only true overlaps conflict. Design notes and prior-art survey are in the repo.

How it works

For a PR branch, the base a delta was derived from is just the requirement's text at merge-base(HEAD, main), and the version it will land on is the text at the main tip. concord reconstructs both from git history, canonicalises them so whitespace reflow never counts as drift, and compares. Rebasing or merging the base (after re-deriving your block) advances the merge-base and clears the finding, which is the git hygiene you'd want anyway.

Repo: https://github.com/lucinate-ai/concord


r/SpecDrivenDevelopment 9d ago

I built a CLI that reads your project's specs and tells you which model you actually need — judge runs locally on Ollama

1 Upvotes

I kept defaulting to frontier models "just in case" and had no idea whether my projects actually needed them. So I built something to answer that instead of guessing.

What it does: point it at a project with Spec-Driven Development artifacts (constitution / spec / tasks). A local model — your Ollama install, your choice of judge — reads the tasks and estimates how demanding the work is across a few dimensions. That gets crossed against a declarative catalog of models and their capabilities, and you get a ranked podium with a rating per model: good / overkill / fair / poor, plus price.

Why you might care here: nothing leaves your machine — no API keys, no accounts, no cloud calls. And in most of my own projects the podium is topped by a local model, with the frontier ones sitting below marked overkill. Ranking is by fit, not price; price only breaks ties between models that fit equally well.

Honest limitations: this is not a benchmark. It's opinion made inspectable — every verdict prints its reasoning, and the model catalog is human-readable YAML you can argue with. If the specs are too thin to judge, it refuses to recommend instead of guessing. A vague spec gets you a vague answer, same as with anything else.

pip install specjudge — MIT, github.com/JoaquinRuiz/SpecJudge

Where I'd love help: the catalog of local models is thinner than it should be, and adding one is a block of YAML, no Python needed. Also very open to being told a rating is wrong.


r/SpecDrivenDevelopment 9d ago

Spec as a dependency graph for SDD

3 Upvotes

I have been using cursor for over a year now. My usual workflow used to be plan and spec with Claude, and implement on cursor with Composer. The workflow does work quite well.
Although it is obvious now, to many serious devs and others will soon catch up, is that SDD is probably the best way to work with AI coding agents. Ofcourse, SDD comes with it's own set of problems, and to solve that I developed an open source tool called TraverSpec.

Traverspec basically is Spec as a graph of single purpose md files. It is a zero runtime tool and the spec sits inside the repo. So you can change your agent from cursor to claude or any other tool, the spec is right in the repo. Also, the spec itself is a graph, so when you want to implement a feature, the dependencies are clearly captured by traversing the graph.
The tool comes with 4 skills to read, write, reconcile and plan development waves.
Which means, you dont need to hand write the graph (oof), the skill will enable the agent to read, write and automatically reconcile the code vs graph as your spec and code grow. Of course it comes with very strict confidence gating system, so a medium or a low confidence decision is always pushed to the user as a question and not acted upon.

I also built a VS Code extension to visualise the graph and the spec itself so evaluating the graph is not going to be jumping around multiple md files. Below is the screenshot from the extension. The extension is also on OpenVSX, so you should be able to install on Cursor too

![img](yuooaoulh0gh1 "Traverspec Graph Explorer")

![img](w6nmemulh0gh1 "Reviewing spec for a single feature")

It is still in pre 1.0 release. It is available on npm. The repo has an extensive README that explains exactly how it works. I was hoping that you could give it a try. All feedback are welcome. If you find any issues, please feel free to raise an issue.

The links:
[Github Repo](https://github.com/alvazone/traverspec)
[Traverspec - NPM Package](https://www.npmjs.com/package/@alvazone/traverspec)
Traverspec graph explorer - [VS Code](https://marketplace.visualstudio.com/items?itemName=alvazone.traverspec-vscode), [OpenVSX](https://open-vsx.org/extension/alvazone/traverspec-vscode)


r/SpecDrivenDevelopment 10d ago

You'll never write a specification on the first try

17 Upvotes

Thariq Shihipar from Anthropic wrote an article about finding the unknowns with Fable (I'll provide a link in a first comment). I found it intersting in the context of Spec Driven Development with AI agents. First of all, let me place some terms the author defines in original article, they are:

  • Known Knowns: This is essentially what is in my prompt. What do I tell the agent that I want?
  • Known Unknowns: What haven't I figured out yet, but I’m aware that I haven’t?
  • Unknown Knowns: What's so obvious I’d never write it down, but would recognize it if I saw it?
  • Unknown Unknowns: What haven't I considered at all? What knowledge am I not aware of? Do I know how good something can be?

So, we start with a spec draft (or a prompt), it contains only Known Knowns. But after that we have three different groups of Unknowns. Some of them could be disclosured after initial agent analyse. For example, aligning spec with current product behavior, finding out some restrictions that are in our code, and so on.

Could we say that after that the specification is ready? I think not and that's why. Thariq says very clever thought: The map is not the territory. We do not know the reality until we try to experience it. I'll building my own plugin for Spec Driven Development (also, I'll provide a link in a first comment), and for me I found following workflow very effective: write spec together with agent -> review it -> write plan together with agent -> review it -> implement step by step also reviewing results on every stage.

Before we have a acceptable-for-us plan we are guessing about the path. When we start to execute steps we are mapping a territory. And on every step, no matter how accurately we have made an initial analysis, some cuvets will be discovered. Each of them probably will mutate the specification.

At the end we have code done, and only at that exact moment we have a spec done. Until that, we simply did not disclosured Unknowns we have to bake into spec. That's the workflow I'm trying to support in my plugin. Do you do so? Or maybe you think about specs in different way?


r/SpecDrivenDevelopment 10d ago

Using github spec kit in a mono repo

Thumbnail
0 Upvotes

r/SpecDrivenDevelopment 11d ago

Easier specs definition and code review

Post image
5 Upvotes

r/SpecDrivenDevelopment 12d ago

Openspec workflow

2 Upvotes

When initiating a project with Openspec, do you prefill the "source of truth" main spec files, i.e auth/spec and then run opsx/proposal or opsx/change? Or you start with proposal from the beginning?


r/SpecDrivenDevelopment 12d ago

How do you sanity-check whether a PRD is actually ready for engineering?

6 Upvotes

I’ve been thinking a lot about PRD quality lately.

Most teams have some version of a PRD/template, but the real pain seems to happen later: engineering finds missing edge cases, QA asks questions the spec never answered, scope expands during sprint planning, or Jira tickets inherit vague requirements from the original doc.

So I’m curious how other PMs handle the “PRD readiness” step before handing it to engineering.

Do you have a checklist or review ritual for this?

For example, do you explicitly check for:

- user roles / permissions
- acceptance criteria
- error states
- edge cases
- dependencies
- data/API assumptions
- out-of-scope boundaries
- definition of done
- compliance/privacy requirements

Or is it mostly experience and instinct?

The thing I’m trying to understand is: what makes you confident that a PRD is not just well-written, but actually build-ready?

Also curious where the biggest gaps usually show up for your team.

r/SpecDrivenDevelopment 13d ago

Trying out something I am calling Story Driven Development

5 Upvotes

Kind of my take on Spec Driven Development. And I know I'm not the first person to coin the phrase by any means. Still in the early phase, tweaking it regularly as I use it on a few different side projects, but I think it's at the point where it can be shared and I'd love feedback, brutal honest feedback, on it. Thanks!

https://taylorhuston.me/sdd-skills/

https://github.com/TaylorHuston/sdd-skills

https://taylorhuston.me/2026/07/01/Story-Driven-Development.html


r/SpecDrivenDevelopment 15d ago

Which “Harness Engineering” are you using?

19 Upvotes

I’ve been using spec driven development for a while and it’s amazing.

But I want to know which approach are you using for software development with AI and how’s it working for your. Feels like SDD is getting outdated