Spec-driven development means writing down what the software must do — requirements, acceptance criteria, a plan — before an AI writes code, and building from that document. Developer tools such as Kiro, Spec Kit and OpenSpec bring it to programmers. CodeHero PRO applies the same idea for the person who knows the business: the specification comes from an interview, and an independent check closes the loop.
What is spec-driven development?
Specification first, then a plan, then tasks, then code. The specification is the reference that the building and the checking both follow.
It is the opposite of prompting and fixing. With AI agents it matters even more: an agent follows what is written, so what is not written is guessed. A specification turns those guesses into decisions taken before the work starts.
Which tools bring it to developers?
Kiro, GitHub’s Spec Kit and OpenSpec are three of them. Each one asks the developer to settle the requirements before the AI writes code.
Kiro’s specs produce three files: requirements (user stories and acceptance criteria), a technical design and a trackable task list. Spec Kit is an open-source toolkit from GitHub that takes a feature through specify, plan and tasks before implementation. OpenSpec, published by Fission-AI under the MIT licence, gives each change its own folder with a proposal, specs, a design and tasks.
| Tool | Who writes the specification | What it holds |
|---|---|---|
| Kiro | A developer, in the IDE or CLI | Requirements with acceptance criteria, design, tasks |
| Spec Kit (GitHub) | A developer, with an AI coding agent | Specification, technical plan, tasks |
| OpenSpec | A developer, with an AI coding assistant | Per change: proposal, specs, design, tasks |
| CodeHero PRO | The person who knows the business, through an interview | Business rules with numbered examples, roles, states; then the plan and the tickets |
What changes when the owner writes the specification?
The developer tools assume that the person writing the specification is a developer. In CodeHero PRO it comes from an interview with the person who knows the work, in their own words.
The interview asks the questions only the owner can answer — who approves, what happens at a limit, what must never be lost — and writes each rule with a worked example. The planner turns the approved specification into a plan and tickets. Nothing is built before the owner says yes to the plan.
How does the independent check close the loop?
A model from a different AI company checks the result against the same specification — from the screen to the database and back. A finding goes back for repair and is checked again.
The yardstick is the specification, not the builder’s opinion of its own work. That is what makes the specification worth writing: it is used twice, once to build and once to check.
What does it look like on a real project?
In a recorded build of an equipment-requests app, the specification said that up to €500 is approved automatically and above that a manager approves — never their own request. The checker from a different AI company found two layout problems on phones that the builder had missed; the repair and the passing recheck stayed with the project.
Every step — the rule, the build, the finding, the repair, the second check — is in the project record, so the next change starts from what was decided.
What happens when the specification changes?
The change is recorded once, with the owner’s words and the reason, and reaches every piece of work it touches — the work still to come and the work already running.
A specification that cannot change is a contract; one that changes without a record is a guess. A recorded change keeps both the flexibility and the trace.
Where does CodeHero PRO fit?
It is spec-driven development for the people who know the business and do not write code: the interview writes the specification, AI agents build from it, a second AI company checks against it.
It runs on your own computer or server, with the specification, the plan, the checks and every change kept with the project.