TL;DR: Classic spec formats weren't designed for AI agents. ANSS is an open-source standard that gives both humans and coding agents a shared, unambiguous language. Cut my iteration count from 5–7 to 2–3 on real projects. Free on GitHub.
For a human developer, a good spec communicates intent. For an AI agent, a good spec eliminates decision space. These are different documents. ANSS is built to be both.
[D] Domain — WHAT (business requirements, user stories)
[E] Engineering — HOW (architecture, stack, infrastructure)
[A] Agent — INSTRUCTIONS (invariants, principles, rules) ← read first
INV-001: No external npm packages
Cannot: add require() of npm modules
Reason: app must run without npm install
Check: no node_modules imports in server.js
The Check field: a verifiable condition, not a comment.
| Code | Principle |
|---|---|
| AP-001 | Simple > Clever |
| AP-002 | Monolith First |
| AP-004 | Human Override Always |
| AP-006 | Fail Loud |
| AP-010 | Reversibility > Efficiency |
Hard rule: > 3 problems found → stop and report. Never guess past this threshold.
Current State / Desired State / What NOT to Change / Impact / Rollback
git clone https://github.com/Kholomyanskiy/anss-standard
# Fill ANSS-Core-Template.en.md
# Tell agent: "Run Agent Review (Section 14) before writing any code."
Classic spec formats were written for human readers who tolerate ambiguity. AI agents don't — they fill gaps on their own. A look at the four ANSS mechanisms that close that gap.
Read →A short note on where ANSS came from and what changed in my own practice after adopting it: iteration cycles with an agent dropped from 5–7 to 2–3.
Read →Describe what's happening in your department in a couple of sentences — I'll give you an honest read on whether it's worth doing and where to start.
Write →