Your spec, written by a team — not a template.
Otto interviews you. When your project hits the edge of his expertise, he pulls in the right specialist live. By the time the package drafts, the right people are already in the room.
Idea
Open a chat with Otto. Talk like a human — no forms, no required fields, no terminology gates.
Conversation
Otto asks what matters and pulls in specialists when your project hits their lane. You see who joined and why.
Spec
The team that talked to you writes the package. Vision, requirements, ADRs, traceability — ready for your AI coder.
Otto runs the room. He brings in specialists when your project needs them.
Otto asks, listens, and pulls the right agent in at the right moment. The agents who participate in the conversation will also help write your package, and pull in additional expertise when needed.
A complete documentation package — purpose-built for the way AI coders read context.
Every specification package produces a structured document shaped for the way AI coders read context. Your spec becomes the source of truth your build agent can't drift from.
ledger-cli/
├── 00-vision.md # Otto + Alan
├── 01-requirements/
│ ├── R-AUTH-014.md
│ ├── R-LEDGER-021.md # Vetta reviewed
│ └── ...
├── 02-architecture/
│ ├── ADR-0007-postgres-vs-sqlite.md
│ ├── ADR-0012-cli-args-vs-config.md
│ └── system-overview.md # Alan
├── 03-design/ # Lyra (because UI was in scope)
│ ├── visual-inspection-protocol.md
│ └── mockups/ # HTML/CSS mockups
│ ├── README.md
│ └── dashboard.html
├── 04-security/ # Argus (added mid-interview)
│ └── threat-model.md
├── 05-phase-plan.md
├── 06-traceability.csv
├── 07-session-protocol.md # Sterling
└── manifest.yaml
Vision & requirements
Numbered, traceable, AI-coder-shaped. Each requirement links forward to ADRs and back to a moment in your conversation.Architecture decisions
Real ADRs with status, consequences, and the trade-offs the team weighed. Not "here's a stack" — here's why.Domain-specific sections
Got UI? Lyra writes the visual protocol AND drafts HTML mockups for your key surfaces. Building with Claude or another AI? Merlin tunes prompts. Storing PII? Hush flags it. Multi-language? Polo plans i18n. Public auth surface? Argus models the threats. The package only grows what your project needs.Phase plan + session protocol
Sterling assembles the build order and the session rules — so your AI coder knows what to read first, what to verify between turns, and where to stop.Connect the folder you've already been working in.
You probably already have a folder. A brief, some sketches, a half-written requirements doc. Connect it once and SpecStep reads it before the first question — summarizes what it sees and asks you to confirm. The interview starts where your thinking left off, not from scratch.
24 specialists. One Otto-led conversation.
Otto runs every interview. The other 23 are pulled in when your project hits their lane — and then they stick around to write the parts of the package they own.
Your AI coder reads it directly.
Every spec ships with a programmable surface. Drive the full pipeline from your
agent or CI: start an interview, kick off a generation, fetch a package, register
a webhook. Same sf_* API key on every surface.
70 MCP tools
Full coverage of interviews, intake artifacts, generations, packages, change requests, webhooks. Your agent can drive end-to-end without hand-crafting HTTP.
Browse the tool catalog →REST + OpenAPI
Conventional JSON API at specstep.com/v1/.
Generate SDKs from /v1/openapi.json; wire it into
CI; write integration scripts in any language.
Webhooks
Subscribe to generation.completed,
generation.failed, and the rest. HMAC-SHA256
signatures, bounded retry, dedup-friendly delivery ids.
Ready to spec your project?
Talk to Otto. Watch the team form around your idea. Hand the package to your AI coder and ship.