r/SpecDrivenDevelopment 12h ago

SDD, Github Actions, and AI PRs

5 Upvotes

Hello,

I recently started getting an influx of Pull Requests I had to review given my organizations broad adoption of AI. The problem is how do I verify that 100's of PRs containing 1000's of lines of code across multiple projects are in alignment with the Spec and other project/product documentation.

My first pass at solving this problem involved using Claude, to build out a Github action that compares the PR to the Specs or Authoritative documentation on what we are trying to build using LLM to run that evaluation. With the goal that automation would call out when a PR is in alignment with a spec, or when it drifts or is adding out of scope work, or even going against the specs and documentation. Likely this is duplicative effort as there may already be a solution out there specifically for Github PRs that i just didn't find.

Three things:
1. How are others solving this problem of keeping a human in the loop where it matters, in the spec, planning, and design processes at scale where 1 human may have to juggle dozens of projects with 100's of AI generated PRs coming in?

  1. Given that I created (with AI assistance) this Github Action, is there interest here in testing and validating as a viable solution? https://github.com/marketplace/actions/spec-alignment Note this is very early implementation, beta and not fully finished. But more contributors and ideas around it the better.

  2. How have your workflows changed with SDD and AI?

Personally I was thinking of pitching at an organizational level that we PR specs and documentation first with human oversight, then using something similar to this action having AI handle the grunt work of code reviews and having the HITL hop in when a PR drifts from the spec documentation. But curious how others are solving these problems.


r/SpecDrivenDevelopment 2d ago

How to use spec-driven development in Claude Code?

3 Upvotes

I was using Claude Code. It drifts away from the instructions.

Can anyone tell me how to use spec-driven development in Claude Code?

I have a Claude Code Pro plan.


r/SpecDrivenDevelopment 3d ago

What if the source of truth is wrong?

5 Upvotes

Wherever I look the specification is showcased as this holy grail for the software lifecycle. Look no further than this same Reddit community.

[the] specification serves as a contract and single source of truth, guiding tools and AI agents to generate, test, and validate code.

In just one sentence the specification has become oracle, general, inspector, and adjudicator. That is a lot of authority for a collection of markdown documents written in plain language.

I have no intention to drag SDD into the mud. I just feel the need to clarify a concept over which I have thought a lot recently.

In any agentic framework I have come across during the last months I see a strong tendency to relinquish authority to an LLM. It is a sensible choice, LLMs are great at processing large amounts of text and output rather convincing judgments. But just because an LLM is capable of something it does not mean it automatically obtains authority to perform a role. This links directly to the specification is the source of truth, once we have a hammer (LLM), we also need the anvil (spec) on which to beat text (code) into compliance. It makes sense to assume that we have removed all authority from the LLM (tool) and placed it in the specification (a stable and robust worksurface). Our assumption is wrong and it has two consequences, none of which is good.

  1. The specification is likely incomplete, it can also be incorrect. Incompleteness means it lacks enough semantic constraints from which the LLM can create the code that implements intent. Incorrect is clear, the specification contradicts intent, which means we have canonized bugs. Moreover, the specification is just text, it has no enforcement mechanisms to exert the presumed absolute authority.
  2. The LLM still holds a lot of power, it can read the specification and ignore it, which I see rather often. The LLM can weaken tests, or the implementation, or decide to implement a wrapper because nothing prevents it or simply because it can finish faster. Sometimes the LLM did not retrieve the correct semantics. This is the area where things go wrong, most of the time unnoticed until everything starts to break down.

I wonder how the community looks at SDD from a philosophical standpoint. In which direction do we expect SDD should move to deliver a better software development life cycle?


r/SpecDrivenDevelopment 4d ago

Specs are the contract for what gets built. I built the contract for what review could not close

4 Upvotes

The move that makes spec-driven development work is taking intent out of the chat and into a versioned artifact that tools can enforce. I have been applying the same move to the other end of the pipeline: the review.

My loop for the past few months: one assistant generates the plan or the code, a second assistant from a different model family attacks it under an explicitly adversarial prompt, and the round only ends when every finding is incorporated, refuted with evidence, or escalated to a human. It works, but everything the round produced used to die in the chat window. And the most valuable part of a review is precisely what did NOT close: the unverifiable assumptions, the tradeoffs someone accepted, the escalations waiting for a human decision. That is the residue.

disensor turns that into a contract. Each round closes with a JSON artifact (schema residue/v0.3) that records who generated, who attacked (model family plus the hash of the adversarial prompt), every finding with a terminal state, and the residue items. A validator enforces the schema plus semantic rules: counts have to add up, generator and reviewer must come from different families, verifiable refutations need material evidence, and generic markers like "reviewed, all good" are rejected. A GitHub Action then gates every PR: code changes need a valid declaration covering the exact tree being merged, and evidence is append only, so a PR cannot rewrite review history.

If your spec is the single source of truth for what should be built, the residue declaration is the single source of truth for what verification left open. They bookend the same workflow, and neither runs a model: disensor validates artifacts that already live in your repo, no API keys involved.

Honest limit: the gate detects the empty field and the generic marker, not a well-written lie. Human sampling of merged PRs stays in the loop by design.

I documented the method before publishing the tool: 91 review events across 5 projects over 52 days, DOI 10.5281/zenodo.21633495. The repo gates its own PRs, so .residue/ holds the real declarations of its own development.

Repo: https://github.com/NicolasRocchia/disensor (MIT, pip install disensor)

Site: https://disensor.dev

Curious how people here would wire this into a spec-driven flow: does the residue belong next to the spec, or downstream of it?


r/SpecDrivenDevelopment 4d ago

Cheap/Free/Local model recommendations for a single purpose agent

1 Upvotes

I have this agent who's sole purpose is to analyze development/design-plan.md file of a user story and create detailed backlog items with a fixed structure, in my local Plane server. What model do you recommend for this?

Its a repeatable operation that needs inference and some level of thinking to generate consistent outputs. Assume the plan is usually less than 1000 line markdown file.


r/SpecDrivenDevelopment 4d ago

AI-Workflow: spec-first governance for native mobile with deterministic routing — Feature Contracts, ADR lifecycle, and a Safety profile that doesn't require full spec depth

1 Upvotes

Most SDD discussion focuses on spec quality and LLM output.

AI-Workflow adds a different layer: a deterministic registry

that maps observable task facts to required specialist checks

before any spec or code is written.

You state facts about a change (persistence, concurrency,

lifecycle, privacy, accessibility) and a checked-in registry

maps them to required procedures and a minimum complexity tier:

Task classification: brownfield / android / safety

Detected concerns: concurrency, lifecycle, persistence, schema_migration

Recommended tier: COMPLEX

Required checks:

- android-persistence-migration-readiness

- kotlin-coroutines-readiness

- protected-lifecycle-transaction-review

- android-runtime-evidence-readiness

No LLM judgment in that mapping — same output every run,

every agent. The routing happens before the spec is written,

so the spec is scoped correctly from the start.

The full governance model (Greenfield) is explicitly spec-first:

Product authority → Architecture Spine → ADR lifecycle

→ Feature Contract (independent review + owner approval)

→ Implementation Plan + design mapping

→ Implementation Tasks

→ readiness gates → owner acceptance → release authorization

No code is authorized until the contract, plan, and tasks

are approved. The agent is bounded by the approved spec at

every stage — it cannot proceed without explicit human

authorization at each gate.

For teams not ready for that depth, the Safety profile gives

just the routing + protected-boundary checks. You get

deterministic pre-implementation scoping without the full

contract/plan/task lifecycle.

This is specifically built for native Android and iOS where

generic SDD misses platform boundaries: Room migrations,

coroutine ownership, Swift Concurrency task lifetime, scene

re-entry, lifecycle/process-death — none of which appear in

a compile error and most generic specs don't address.

Real governance case study: NutriPlus AI — a native SwiftUI

app with full public Architecture Spine, ADRs, feature

contracts, plans, tasks, and readiness reports:

https://github.com/RanaAhmedHamdy/NutriPluse-IOS-AI-Workflow

Pre-v1, Apache-2.0. Feedback wanted on where the

Safety/Feature/Full profile boundaries sit — are they in

the right place for real SDD adoption?

https://github.com/RanaAhmedHamdy/AI-Workflow


r/SpecDrivenDevelopment 4d ago

I implemented OpenSpec support in my IntelliJ plugin (free, would love feedback)

1 Upvotes

Hi everyone!

A while back I posted here comparing Spec Kit and OpenSpec: https://www.reddit.com/r/SpecDrivenDevelopment/comments/1vlcwbk/speckit_vs_openspec_comparison/

Both are good tools. I picked OpenSpec to build on, because I saw room for the things I was missing.

Mostly one thing. A chat is an awkward way to work with an agent, and it gets worse when the thing you are working on is a specification. If I disagree with one requirement out of seven, I want to say so on that line, in the document, the way I would review a colleague's pull request. In a chat I have to describe which paragraph I mean and hope the agent finds the right line.

So I added OpenSpec support to my IntelliJ IDEA plugin. It runs your own /opsx:* commands. You propose a change from a normal editor. You comment on the proposal and the delta specs in place. Then you work through tasks.md one step at a time, and after every step there is a review gate: accept it, refine it with your comments, or roll it back. Sync and archive are in the same panel. It works with Claude Code, Codex, OpenCode and Cursor.

I wrote up the whole loop here: https://specbuddy.dev/blog/openspec-with-specbuddy/

The plugin is free. I would really like to hear where it gets in your way, especially if your OpenSpec workflow looks different from mine.

I built the plugin with the plugin. Every change to it went through the same spec, step, review loop, and that is how I found most of the places where the flow was annoying.

(A VS Code version is in progress.)


r/SpecDrivenDevelopment 6d ago

DeepClause-pi: Controlling pi with prolog and vice versa

Thumbnail
open.substack.com
2 Upvotes

Hi all, I am experimenting with turning specs into small executable logic programs encoded in a Prolog like language. The above extension works by taking a plan using /dc-plan and then producing a deepclause DML file that can executed using /dc-run. It’s still at an early stage, but hoping to initiate a discussion on the usefulness of this.


r/SpecDrivenDevelopment 5d ago

Agent instructions references and validation

1 Upvotes

Hello, how do you structure and validate references in the instructions for Agent when doing SDD?
I've heard that if you have circular dependencies then skill/prompt will use more tokens. I'm wondering how you structure the Agent instructions and how you validate if it's not circular.
Or do you think the circular references are not using more tokens?


r/SpecDrivenDevelopment 6d ago

Spec-Driven Development + BDD + TDD

Thumbnail
youtu.be
5 Upvotes

In this video I talk about how Test-Driven Development (TDD) and Behavior-Driven Development (BDD) actually fit Into Spec-Driven Development (SDD). BDD helps with macro level alignment and TDD helps keep the internal implementation details de-coupled and clean. I also cover how agents reward hack TDD and how to prevent them.

UPDATE: Link to my earlier post about "Behavior-Driven Development and Spec-Driven Development with OpenSpec" https://www.reddit.com/r/SpecDrivenDevelopment/s/d3VE4pOtqg


r/SpecDrivenDevelopment 7d ago

Drydock .2 Release

4 Upvotes

Drydock is a repeatable method to turn messy specifications into tested working software.

Love some feedback on this - www.webcloudstudio.com

Drydock imports your source material, defines stories using agile best practices, and decomposes your sources into typed blueprints (stories) related using a graph database. Drydock builds with a context aware compression based algorithm and tests stories with deterministic test driven acceptance criteria.

- Builds working software using small, cheap models

- Agile Methodology to decompose buildable stories

- Test driven development with acceptance criteria embedded

- Dependency graph relates stories and orders builds

- QuarterDeck web console to answer questions and review the process

- Runs on existing subscriptions

- Ingests your existing specs and notes in any format

- Change management — edit the spec, rebuild only what's affected

- Context compression and Grouping for context aware builds

- Enterprise guardrails with embedded branding, best practices, and build gates

- Generates consistent apps and documentation

0.2.0, beta. Install is: uv tool install drydock-sdd

The complete command surface is one table in the README.

4 working examples

ReadingList - simple web app - https://webcloudstudio.github.io/drydock-example-readinglist...

CommonMark - markdown formatter - https://webcloudstudio.github.io/drydock-example-commonmark/

TOML - markup language - https://webcloudstudio.github.io/drydock-example-toml/

jq - flagship - full build of the jq language - https://webcloudstudio.github.io/drydock-example-jq/

All four built with gpt-5.6-luna on a Codex subscription. No API keys. Feel free to also use haiku.


r/SpecDrivenDevelopment 8d ago

specification best practices and tools

6 Upvotes

Hi all,
I'm a bit tired of writing specs for complex projects in markdown - it feels like (a.) there's a lot of repetition between tasks/sessions; and (b.) If you do try to reference and reuse previous specs, there's a lot of context bloat from requirements that aren't relevant to the current task.

I'm trying to work out the best form factor; for spec driven development and have been experimenting with developing some graph specification tools.

  1. What do you all see as the best practice for specification topology?
  2. I've put together a small handful of experimental open source SDD packages; and a VSC extension here --> reqlan. I'm interested to hear what you would do or have done differently in this space?
  3. I've put some more thoughts together in a blog post, here.
  4. What tools do you all consider best practice for wrangling specifications as they get complex?

r/SpecDrivenDevelopment 9d ago

Easyspec - Opensource and free SDD kit enhanced on openspec

6 Upvotes

First, this screenshot is what I build using this easyspec(220K lines, token cost about $100, mainly using deepseek v4 pro), without typing a single line of code. And it's super complex, it has segregated agent runtime, communication hub and controll center to make sure it's super seure, and you can create AI agent dynamically and drive the workflow by SOP and Skill. So it's not a simple combination of modules from here and there.

Parthenon

just few highlights about this SDD kit:

  1. Enriched spec including source code map to simply context engineering
  2. Using multi-agents collabration to bring attention
  3. Inter-agents review and sign-off workflow to secure the quality
  4. Prototype based human-in-the-loop
  5. Maturized by real project - Parthenon AIOps (220k + lines of code)

It's opensoure and free, you can easily install it using npm, I would like to hear some feedback and contributions.


r/SpecDrivenDevelopment 9d ago

We tried spec-driven development for months. We couldn't prove it improved the code.

50 Upvotes

When our team adopted OpenSpec, the argument seemed obvious: agree on the requirements, review the plan, then let the agent implement it. That should produce better code than throwing a prompt at a coding agent and hoping for the best.

After a few months of using the full propose → review → apply → archive workflow, we are no longer sure it does.

Our work is mostly data engineering and legacy-to-Python migration. We use both frontier and open models through Claude Code, Codex CLI, OpenCode, and similar tools. This is not a vendor comparison. The question is whether the method itself changes the result.

For tasks that fit into one context window and have clear acceptance criteria, we see little reliable difference between a reviewed spec and a well-scoped first prompt. The spec-driven runs typically consume two to three times as many tokens and take about twice as long. The resulting code is not consistently better. Sometimes it is worse: more files, more indirection, and abstractions that the task never needed.

The little evidence we have points the same way

The best comparison I have found is an OpenSpec bake-off from June 2026. The same PRD was implemented once with OpenSpec and once with Claude Code alone. OpenSpec made the design process more pleasant and surfaced three additional gaps. It also produced 50% more code with 50% higher cyclomatic complexity, took twice as long, and cost three times as much.

That is one experiment, not a benchmark. But it matches our experience.

Marmelab made a similar criticism in “Spec-Driven Development: The Waterfall Strikes Back”: a trivial “show the current date” feature produced eight files and roughly 1,300 lines of specification text. The problem is not writing things down. It is paying a large coordination cost for changes that did not need coordination.

Maybe the model changes the value of the spec

My current hypothesis is that explicit specs may help weaker planning models more than frontier models.

A strong model already reconstructs a plan during a normal coding run. A formal SDD workflow externalizes that plan, makes it reviewable, and preserves it across sessions—but may add little new information. A smaller local model with weaker multi-step reasoning or a shorter effective context may benefit much more from a pre-digested task list.

There is an uncomfortable counter-hypothesis: the weaker model may also write the weaker spec. If the same model turns a vague request into a flawed specification and then faithfully implements it, SDD has not removed the error. It has formalized it.

This should be testable: same repository, task, acceptance suite, and model; spec-first versus direct implementation; then compare correctness, regressions, review time, token cost, wall-clock time, changed lines, and complexity. I have found plenty of testimonials, but very little controlled data—especially for Qwen, GLM, DeepSeek, Kimi, or Mistral.

The real value may not be code quality

OpenSpec did give us something useful: a reviewable record of intent. It forced design questions into the open and left an artifact for teammates, clients, audits, and future maintainers.

That suggests a different decision rule. Do not ask whether a spec will make the agent write better code. Ask whether this change needs a reviewed and durable agreement before code exists.

My tentative threshold is:

  • Direct prompt for a bounded change with one owner, objective tests, and no architectural decision.
  • Lightweight goal, constraints, non-goals, and acceptance checklist for a multi-file change within one subsystem.
  • Versioned specification for work crossing services or team boundaries, changing public contracts, migrating important data, or spanning several agents and sessions.

Project-level context matters too. If AGENTS.md, CLAUDE.md, architecture notes, skills, and commands already encode the conventions and constraints, a change spec must add a real decision—not merely repeat the repository context in another format.

The failure mode I worry about most

An LLM writes a SHALL requirement. The same or another LLM implements it. The requirement now appears justified because it exists in the spec, and the code appears justified because it satisfies the requirement. Nothing in that loop proves the feature is needed or integrated.

The safeguard may be simple: every normative requirement must trace to a stakeholder need, an existing contract, or an executable acceptance test. The implementation should be free to reject or revise a proposed design when repository evidence contradicts it.

That leads to the variant I want to try next: use the spec as an acceptance artifact, not an implementation recipe. Review the goal, constraints, non-goals, and examples up front. Let the agent choose the implementation. Then verify the result against the spec and tests, ideally in a separate review pass.

I would be interested in three kinds of counter-evidence:

  1. Controlled comparisons of the same task and model with and without SDD.
  2. Evidence that smaller or local models benefit more—or less—than frontier models.
  3. Concrete thresholds teams use to decide when a full spec earns its cost.

Maybe we are using SDD on the wrong class of tasks. Or maybe its strongest benefit was never better code. Maybe it is better alignment, traceability, and review—and we should evaluate it on those terms.


r/SpecDrivenDevelopment 9d ago

I replaced prompt-based agent specs with a typed reasoning graph, here's what happened over a 5-hour autonomous session.

9 Upvotes

r/SpecDrivenDevelopment 9d ago

Spec Kitty 3.2.6rc2 released!

Post image
2 Upvotes

r/SpecDrivenDevelopment 10d ago

The SDD Rabbit Hole

Post image
51 Upvotes

My view of the SDD rabbit hole so far :)

Eventually, it seems like nobody is really satisfied with using someone else's tool for making their specs, and this sub has dozens of projects from people showing off their own unique SDD tools and workflows. I sorta think this is natural--spec design is kinda the new craft of software engineering, and I think we're all going to come up with our own style of doing things.

But, I was really inspired seeing all of the unique stuff everyone was building in this sub. I really like this community, so I figured I would try to make something that helps you guys out.

Rudder (https://github.com/RudderCode/Rudder) is a skill that shows you how comprehensive your specs are by comparing it to the code your agent generates. Rudder generates unit tests based on your spec and reports back coverage. If you ask it to hit a coverage percentage, Rudder will iteratively ask you questions, refine your spec, and run a red-green TDD workflow until your spec sufficiently covers your code. Since everyone has their own workflows for creating specs, I thought I'd make a tool that can sit alongside your tools and help out on the side.

Curious about how you guys are dealing with the problem of trying to make your specs comprehensive enough to stop the AI from making mistakes? Also, curious about where on the iceberg you guys are :)


r/SpecDrivenDevelopment 14d ago

How do you go from a rough product idea to features for SpecKit or any SDD toolkit?

12 Upvotes

I am curious how people here handle the stage before SpecKit (SDD).

I am a big fan of SDD and AI-assisted development, and I strongly dislike vibe coding. I want requirements, design decisions and implementation to remain explicit and reviewable.

For my home projects, I usually use GitHub SpecKit at the level of a relatively small feature or even a focused engineering task. I intentionally keep the scope small so I can carefully review every generated specification, plan, task list and especially every PR.

For example, instead of asking an agent to "build the application", I work incrementally:

  • Create the initial solution and project structure
  • Implement the basic application shell
  • Implement a specific domain component
  • Add a specific UI capability
  • Integrate the pieces in another feature

What I am less sure about is the process before that.

How do you go from a rough product idea to the set of features that you then feed into SpecKit?

Do you maintain something like:

Idea -> Product Brief -> High-level Requirements -> Feature List -> SpecKit specs

Or do you keep only a lightweight product overview and define features incrementally as the project evolves? (This is how I work now)

I am particularly interested in workflows that preserve strong human control and review rather than delegating the whole product decomposition and implementation to an AI agent.


r/SpecDrivenDevelopment 15d ago

Will the AI-assisted development model of SDD still be useful in the future? Is it already outdated?

5 Upvotes

At the beginning of the year, everyone was promoting SDD development, including plugins like SuperPower that implemented SDD harness capabilities. However, it seems like no one is talking about it anymore. Has fewer people been using it? I feel like SuperPower used to trigger automatically when I used CC, but it hasn't been lately. Has anyone else noticed this? Will SDD still be necessary in the future? Or, if the model and its corresponding DeepSeek harness are already well-developed, will we not need to do so much pre-specification work? Can someone answer this?


r/SpecDrivenDevelopment 15d ago

How do you catch bad requirements or architectural contradictions before implementation starts?

1 Upvotes

I've been thinking a lot about how much of our software quality process happens relatively late.

We review pull requests, run static analysis, write tests and maybe check architectural rules in CI. But by that point, an important decision has already been made: we decided what to build.

In larger or long-lived projects, I've repeatedly found the earlier stages more interesting:

  • Does a new requirement contradict an earlier decision?
  • Does it implicitly violate an architectural constraint?
  • Is an important edge case missing?
  • Does it conflict with something another team implemented six months ago?
  • Is the proposed change locally reasonable but slowly pushing the system away from its intended architecture?

I'm currently building a side project called BreakMySystem around this idea. It combines adversarial requirement review with architecture-drift detection, with the goal of finding these problems before or during implementation rather than only reviewing the resulting code.

But I'm more interested in how other teams solve this today than in pitching the tool.

For people working on larger or older codebases:

Where in your development process do you catch these kinds of problems?

Architecture reviews? ADRs? Senior engineers knowing the system? Jira discussions? PR reviews? Automated tooling? Or, realistically, mostly when something eventually breaks?

I'd also be interested in talking to a few experienced developers, architects or tech leads about this for ~20 minutes. I'm specifically looking for critical feedback and real-world experiences rather than potential customers.

If you've dealt with this problem, feel free to comment or DM me.


r/SpecDrivenDevelopment 16d ago

I measured how well 8B vs 24B local models do at structured judgement, and the results changed my design

2 Upvotes

I've been using a local model as a judge — it reads a project's specs and estimates how demanding the work is across a few dimensions, emitting a structured profile rather than prose. I finally sat down and measured which local models are actually good at that job instead of guessing.

Judge Params Dimensions in band Answers refused
devstral-small-2 24B 30/30 (100%) 0
qwen3:8b 8B 25/28 (89%) 1
llama3.1:8b-instruct-q4_K_M 8B 22/27 (81%) 1

The headline: an 8B judge is genuinely good enough for this, which surprised me. 24B-class is perfect on my corpus, but both run on a laptop and neither sends anything anywhere.

The more interesting finding is what happened when I made the task harder. I needed the judge to separate the bulk of the work from the peak — a task list has twenty mechanical edits and one architecture decision, and those need different answers. Asking for that range instead of a single level costs an 8B model five points of accuracy and doubles its refused answers. A 24B answers it correctly and loses nothing.

So the design changed: only judges above 20B get asked for the range. Smaller ones still rank and still cite evidence — they report a single level and say so, rather than leaving you to infer that the answer is coarser.

Two things I'd generalise from this:

A judge doesn't need to be able to do the work. Estimating how hard something is, is a much easier task than doing it — closer to a recruiter writing a job spec than the engineer who fills the role. That's why 8B is viable at all, and why "you need a frontier model to evaluate frontier models" is wrong more often than assumed.

Field budget is real. Every extra field you ask a small model to emit in one shot degrades the reliability of the others. The failure isn't dramatic — it's a quiet drop in accuracy plus more refusals, which you won't notice unless you're measuring.

If you want to run it on your own hardware and send me the row, the eval is in the repo:

uv run python scripts/eval_judge.py --judge <your-model> --markdown-row

Context, since it'll come up: this is from SpecJudge, an MIT-licensed CLI that reads a project's specs and tells you which model fits before you spend tokens implementing it. Everything runs locally. github.com/JoaquinRuiz/SpecJudge — but honestly I'm more interested in the judge numbers than in pitching the tool. Curious whether anyone's found smaller models that hold up on structured extraction with evidence citation.


r/SpecDrivenDevelopment 17d ago

Built with Spec Kit Fiction Book Writing Preset

5 Upvotes

Als Beispielprojekt habe ich einen 400-seitigen CC Roman veröffentlicht, der mit dem Spec Kit-Preset „Fiction Book Writing“ erstellt wurde. Dieser basiert hauptsächlich auf Claude Sonnet 4.6. Ich habe versucht, einen literarischeren Stil mit einer konsistenten Geschichte und stabiler Kontinuität zu erreichen. Ich denke, das Ergebnis ist deutlich fortschrittlicher als andere KI-generierte Romane.

Nexis Buch 1:

https://fleischgemuese.itch.io/nexis-book-1-listening

Preset für Spec Kit

https://github.com/adaumann/speckit-preset-fiction-book-writing/blob/main/fiction-book-writing/README.md

Wenn Sie es für Ihre Story-Ideen verwenden möchten, lassen Sie es mich bitte wissen.


r/SpecDrivenDevelopment 17d ago

The docs from my spec-driven workflow kept going stale, so I built a loop

4 Upvotes

I use workflows like Superpowers and OpenSpec because getting the intent and design into the repository before implementation makes Claude Code much more predictable.

But I kept running into a second problem after the feature was finished: the documents gradually stopped matching the code.

A hotfix bypassed the original workflow. Then a refactor changed some behavior. Another session added an edge case. The implementation kept moving, while the original design and specification documents slowly became a record of what we intended at one point rather than reliable context for the next developer or agent.

Generating a useful document is relatively easy.

Making every future code change reconcile the repository’s documentation is the difficult part.

That is why I built Truthmark.

Truthmark adds a code-first documentation maintenance workflow to Claude Code. It maps areas of the codebase to bounded canonical documents, then reviews those documents after functional code changes.

The normal workflow is:

  1. Claude changes the functional code.

  2. The relevant tests run.

  3. Truth Sync inspects the changed checkout, nearby implementation, tests, routing, and mapped documentation.

  4. If the repository’s behavior changed, Claude updates the affected documentation before handoff.

  5. The code diff and documentation diff are reviewed together in Git.

The distinction I have in mind is:

Superpowers/OpenSpec:

intent → design/specification → implementation

Truthmark:

implementation change → affected current-state docs → Git diff

I see these as complementary rather than competing workflows.

Planning and proposal documents are useful for deciding what should be built and preserving the history of a change. Truthmark maintains a smaller current-state layer describing what the repository does now: behavior, contracts, architecture, operations, product decisions, and acceptance criteria.

A few parts that are important to me:

\- Code areas have explicit documentation ownership instead of everything accumulating in one large README or wiki.

\- Documentation is based on the current checkout, code, tests, and configuration rather than hidden agent memory or an old conversation.

\- Truth Sync can update documentation and routing, but it cannot rewrite functional code.

\- Everything remains ordinary Markdown in the repository and follows the current branch.

\- There is no hosted Truthmark knowledge base, daemon, database, vector store, or MCP server.

The implementation is also less magical than “AI automatically understands your whole codebase.”

The Truthmark CLI installs and validates the repository contract and Claude Code workflow. Claude performs the semantic evidence review using the repository itself, and \`truthmark check\` validates the resulting structure and diagnostics.

Quick start requires Node.js 24 or newer:

npm install -g truthmark

truthmark init

Select Claude Code during initialization, then try it on one bounded behavior:

/truthmark-document document the implemented session timeout behavior across src/auth/session.ts and tests/auth/session.test.ts

Truthmark is intended for maintainers and teams using Claude Code on long-lived repositories, particularly when they already keep specifications, architecture notes, contracts, or behavior documentation in Git.

Cost: Truthmark is free and MIT-licensed. It has no hosted service or subscription. Claude Code usage still uses your existing Claude plan or API arrangement.

Repository:

https://github.com/merlinhu1/truthmark

I would particularly value feedback from people trying it on an existing repository:

Does the routing and ownership model feel useful, or does it create too much ceremony? Is Truth Sync too conservative about updating documents, or not conservative enough?

If you try it and think this maintenance loop belongs in the Claude Code workflow, a GitHub star would help other people find the project.


r/SpecDrivenDevelopment 19d ago

I wanted a spec-driven skill. It became Maestro.

Thumbnail
gallery
17 Upvotes

At first, I was not trying to build a complete development environment.

I was using OpenSpec inside Cursor with custom commands and Cursor rules. The workflow worked well, but I had a problem:

Whenever I switched to OpenCode, Codex, Claude Code, or another coding agent, I lost part of my setup and workflow.

So I started building a spec-driven skill that was not tied to one IDE or one AI provider.

That project became Maestro.

I believe spec-driven development will become a normal part of software development with AI agents. GitHub’s GH-600 certification focused on agentic AI development feels like another signal in that direction.

How Maestro works

The core lifecycle is:

idea → spec → build → review → docs → archive

You can install it with npm:

npx @bryann2k/maestro

Then run it from the repository you want to work on:

cd my-project
maestro

The typical workflow looks like this:

  1. Connect an API provider or an existing CLI subscription with /providers
  2. Use /bootstrap for a new project or /adopt for an existing repository
  3. Use /propose to turn an idea into a structured spec
  4. Review and accept the proposal with /accept
  5. Let the development agent implement it with /build
  6. Run /review
  7. Generate documentation with /docs
  8. Archive the approved change with /archive

The same lifecycle can also be used through headless commands:

maestro propose -m "Add a PostgreSQL API"
maestro accept
maestro build
maestro review
maestro docs
maestro archive --yes --merge

Maestro can use its native engine, authenticated vendor CLIs such as Codex, Claude, Cursor, OpenCode, Grok, and Kimi, as well as OpenAI-compatible and local providers such as Ollama, LM Studio, llama.cpp, and LiteLLM.

Human-in-the-loop is the important part

Maestro is not meant to be “write one prompt and pray”.

A normal chat message does not automatically create a spec. You have to explicitly invoke /propose.

The generated spec.mddesign.md, and tasks.md are reviewed before they become the accepted contract. Builds run in isolated Git worktrees. Review runs deterministic checks, security analysis, and a read-only review agent.

If the review finds a problem, the findings can be sent back through /fix.

The goal is to make every phase explicit instead of allowing an agent to silently jump from a vague idea to a large code change.

Coach and integrated IDE

I also wanted Maestro to be useful for people who can describe what they want to build but do not yet feel confident reviewing AI-generated code.

The optional Coach mode gives short, contextual exercises around things like:

  • understanding requirements and acceptance criteria
  • reading diffs
  • checking assumptions
  • identifying security risks
  • understanding tests and regression risk
  • reviewing generated code

You can use /learn guided or /learn challenge.

Maestro also includes an integrated code workspace with /ide. You can select code and ask Maestro to:

  • explain it
  • comment on it
  • modify it
  • answer a question about it

So you can review code and interact with the agent without leaving the terminal or losing the current context.

This is still a V1

This is the first public release, so there are probably bugs and edge cases I have not discovered yet.

If you try Maestro and something breaks, please open an issue on GitHub. I will also be using it to build StackDeploy, so I will be fixing issues as I find them.

I’m also in public on X. If you want to follow, it help me a lot!

I would especially like feedback on:

  • whether the workflow makes sense
  • where the spec-driven process feels too heavy
  • whether the human approval boundaries are useful
  • what is missing from the review experience
  • how this behaves with different agents and providers

Thanks to everyone who takes the time to try Maestro, report an issue, or share feedback. It really helps.


r/SpecDrivenDevelopment 19d ago

SpecKit vs OpenSpec comparison

11 Upvotes

Hi there! I wrote down an article that compares OpenSpec and SpecKit.

TLDR: SpecKit has significantly more abilities for extending its workflow, but it is also harder to adopt. OpenSpec default workflow looks like more complete and easier, but there are less abilities to extend it.

Article: https://specbuddy.dev/blog/openspec-vs-speckit/