SDD Agent

Extending Spec-Driven Development

In design

The SDD Agent project began as an effort to improve the GitHub Spec-Kit process that I experienced while using it to develop the CarFinder MVP. The process exposed several opportunities to make AI-assisted Spec-Driven Development (SDD) more capable, particularly as projects grow in complexity.

The initial challenges were practical: keeping generated code aligned with requirements, managing technical debt introduced by code fixes, preserving hierarchical requirements, and giving human reviewers enough context to make informed decisions.

These problems led me to explore a broader question: as AI takes on more of the implementation, what tools will engineers need to work at the requirements level and make requirements an integral part of the development process?

An Engineering-Centered Approach

My approach comes from a systems-engineering perspective. Requirements define the intended behavior of a system. Implementation is an artifact of the development process, and its correctness must ultimately be evaluated against that intent.

This perspective also shapes how I think about technical debt. When the implementation and our understanding of the system diverge, maintenance becomes more difficult and changes become riskier. I am exploring whether a stronger requirements-centered process can reduce that divergence and make implementations easier to evolve.

AI changes the possibilities. If an agent can reason about requirements, evaluate proposed changes, and maintain traceability into the implementation, then code generation becomes part of a larger engineering process rather than an isolated activity. From a requirements-centered perspective, the primary concern shifts from understanding every line of code to ensuring that the implementation continues to satisfy application intent. This opens the possibility of reducing technical debt by keeping the implementation aligned with the requirements, even as the code itself evolves.

An Evolving Tool

SDD Agent is being developed incrementally, with each stage addressing problems identified through practical experimentation.

The initial focus is on extending Spec-Kit with stronger requirements traceability, hierarchical validation, and oversight of code changes that may affect application intent.

Subsequent work explores how an agent can help designers translate ideas into precise, useful requirements, and how changes introduced directly into code can be analyzed and reflected back into those requirements.

The objective is to improve the relationship between what we intend to build, how we describe it, and what the software actually does.

Learning Through Development

I see SDD Agent as both a tool-building effort and an opportunity to investigate how AI changes software engineering practice. Each iteration provides a way to test ideas against real development challenges, discover limitations, and refine the approach.

The goal is not simply to generate code faster. It is to develop a more dependable way to engineer software as AI takes on a greater role in implementation.