Spec-Driven Development: Sharpening your AI toolbox - Al Harris, Amazon Kiro

By AI Engineer

Share:

Key Concepts

  • Spectriven & Curo Development: A structured, artifact-centric approach to AI-assisted software development, aiming to overcome the limitations of “vibe coding” through iterative workflows and comprehensive documentation (Specs).
  • Agentic ID (Kira/Curo): An integrated development environment leveraging AI agents to automate and accelerate the software development lifecycle.
  • EARS & Property-Based Testing (PBT): Utilizing structured natural language requirements (EARS) and translating them into properties for robust testing, increasing code confidence.
  • Specs as Central Artifacts: Organizing projects around “specs” – detailed documents representing features, requirements, and problem areas – and encouraging mutation over creation of new specs.
  • Steering & Customization: Providing mechanisms (steering, custom agents) to influence agent behavior, prioritize concerns, and tailor code generation to specific needs.

Kira & Spectriven Development: Foundations

Kira, an agentic ID, launched in preview on July 14th and generally available on October 17th. Developed by a small team, it was intentionally designed as a separate product suite from existing Amazon QE systems. Spectriven Development, the core methodology behind Kira, addresses the shortcomings of unstructured “vibe coding” by representing the entire Software Development Lifecycle (SDLC) based on decades of industry experience. This methodology emphasizes an iterative and compressed SDLC, visualized as a continuous loop between requirements, design, and implementation. A key component is the artifact-centric approach, focusing on generating and managing requirements, acceptance criteria, and design documents. Kira utilizes the EARS format for structured requirements and, with the GA launch, can translate these requirements into properties for Property-Based Testing (PBT) using libraries like Hypothesis (Python) and FastCheck (Node). The goal is reproducibility and accuracy over sheer speed.

Curo & Spec-Based Workflow: Practical Application

Curo builds upon these foundations, offering a practical workflow centered around “specs.” Tasks initiated from the UI default to isolated sessions, though initiating “do all tasks” can improve performance when sufficient context exists. While native “sub-agents” for parallel task execution are planned, the Curo CLI provides “custom agents” as a workaround. Projects are organized around specs, which can represent features, tests, or completed research. The system encourages mutating existing specs rather than creating new ones, demonstrated by adding UI telemetry requirements to an existing spec.

Addressing cross-functional tasks, the system allows users to either update a single spec or create a dedicated “cross-functional spec,” acknowledging the inherent challenges of defining clear system boundaries. Curo synthesizes specs into code, generating complete implementations, including S3 persistence (bucket creation, encryption, checkpointers) and property tests. While intentionally platform-agnostic, Curo offers a CLI tool to simplify interactions with AWS. Benchmarks (available on cure.deblog) demonstrate the benefits of using specs and PBT.

Advanced Features & Customization

Curo allows for incorporating non-functional requirements (speed, runtime, lock contention) into the design phase. The “steering” feature enables users to prioritize concerns and influence code generation, such as consistently attributing commits to a specific agent. Curo currently supports Java, Python, JavaScript/TypeScript, and Rust, but is fundamentally language-agnostic due to its reliance on an LLM. The importance of grounding documentation, as exemplified by Tessle’s work on specs for knowledge bases, was also highlighted.

Technical Components & Integrations

Key technical components include the Agentic ID (Kira/Curo), EARS for structured requirements, Property-Based Testing (PBT), Specs as central artifacts, and the CLI for custom agents and AWS integration. The system leverages tools like CDK for infrastructure-as-code and S3 for persistence. Prompt caching achieves a 90-95% hit rate, improving performance. MCP servers can be integrated to pull in external data and examples.

Conclusion

Kira and Curo, powered by Spectriven Development, represent a significant shift towards a more structured and reliable approach to AI-assisted software development. By emphasizing artifacts, iterative workflows, and robust testing, the system aims to overcome the limitations of ad-hoc “vibe coding” and deliver reproducible, maintainable, and accurate results. The flexibility offered through steering and custom agents allows developers to retain control and tailor the process to their specific needs, ultimately bridging the gap between automation and expertise.

Chat with this Video

AI-Powered

Load the transcript when you're ready to chat so the initial page stays lighter.

Ready to summarize another video?

Summarize YouTube Video