Kiro and the Future of AI-Assisted Development A developer reports that Kiro, an AWS-built IDE based on VS Code, transforms AI-assisted coding through a spec-driven approach that prioritizes requirements, design, and tasks before code generation. The tool's Spec agent automates the planning phase, creating structured files like Requirements.md, which the developer finds superior to the typical loop with Copilot and ChatGPT. I started using Kiro at work and am incredibly impressed by how it transforms our AI coding workflow. Instead of writing code first and refactoring later the typical loop with Copilot and ChatGPT , Kiro uses a spec-driven approach. The Kiro methodology — moving from requirements to technical design to tasks — perfectly solves a challenge I had been trying to fix with GitHub Copilot. I wanted a way to define structured instructions first and then generate the code, but Kiro automates that whole initial planning phase for me. Below are my first impressions of Kiro after a few weeks of hands-on use. If you are currently using GitHub's AI tool, you can also check out my other article for some great ways to supercharge your workflow with Github Copilot https://dionarodrigues.dev/blog/ways-to-supercharge-your-workflow-with-github-copilot . Kiro is an Integrated Development Environment IDE built by AWS on the open-source version of VS Code Code OSS - so it combines all the VS Code advantages and extensions with a built-in AI tool optimized for spec-driven development. Unlike traditional AI assistants that generate code from chat prompts, Kiro focuses on specifications first. You define the blueprint, turn it into a clear list of tasks, and then decide whether to run them one by one or all at once. Kiro agents use the same concept as Copilot agents: they are autonomous, specialized AI assistants that you can choose based on the specific task you want help with . Kiro also comes with a few built-in agents that you can select when starting a new chat session, and you can also create your own agents: Note: Depending on the version of Kiro you are using, you may see a slightly different set of agents, but the Spec agent is the one we will focus on in this article. AGENTS.md This file is used by AI tools in every chat interaction, so it is worth setting up properly. To unlock Kiro's full power, create an AGENTS.md file at your project root. It should capture the main system requirements, such as those provided by the architecture team, along with any important tech stack constraints and the essential commands for the project. Keep it concise and avoid over-explaining or redundancy. You can find examples at agents.md https://agents.md/ . This is where Kiro really shines. The workflow for Kiro specs https://kiro.dev/docs/specs/ follows a recommended path: Requirements → Design → Tasks . These files are created before any code changes are made. While you can technically skip ahead and start with Design, Kiro strongly advises beginning with Requirements. Whichever path you choose, Kiro automatically saves these files inside a dedicated feature folder within a hidden .kiro/ directory at your project root. Source: Kiro documentation. The idea here is to create specs grouped by feature. Each feature could correspond to a Jira ticket, for example. This is different from AGENTS.md , which contains the core instructions for the project. In this case, we ask Kiro to focus on the specific parts of the project we are implementing. Let's dive into them below. Requirements.md This is your entry point: Kiro will generate a clear list of user stories and constraints that is easy for anyone to read. To create the spec, make sure the Spec agent is active you can select it whenever you start a new chat session, as explained above . Then ask Kiro to define the requirements, clearly stating what should and should not be implemented at this stage. For example, you can base the instructions on the Jira ticket requirements. Kiro will ask whether this is a new feature and, if so, group related specs into a new folder within .kiro/ . Keep your instructions narrow and precise. For example, imagine a web app with several features. The AGENTS.md file would hold the core project requirements, while a chat prompt could ask Kiro to create requirements for a new feature, such as: "Create the requirements for a new feature. It should focus on X, but should not include Y." Here, X and Y are short lists of things to include or exclude. Once the initial draft is ready, Kiro will ask whether you want to refine the requirements. If so, it will prompt you with a series of refinement questions to improve the document, or you can ask it to apply the necessary changes directly. Design.md Once the requirements are locked, Kiro asks for permission to move on to the technical design phase. Based on the requirements, it generates technical blueprints tailored to your stack — data models, infrastructure needs, example code snippets, and component diagrams. Concrete examples Kiro can produce: As before, review these outputs and make any adjustments before moving on to the implementation tasks. Tasks.md In this final step, Kiro converts your technical design into a dependency-aware checklist of implementation tasks. Tasks are grouped by step so you can follow the implementation flow see the video above for a demo . Click on a task to apply it and watch progress in the UI: an animated icon shows work in progress and a checkmark appears when the task completes. You can run tasks one-by-one, by group, or all at once. I recommend running them individually or in small groups so you can review changes as they happen and request improvements if needed. Kiro includes several other useful features — check the official documentation for full details. Autopilot : gives you control over how the AI applies changes. You can run everything automatically in Autopilot mode, or approve each step manually in Supervised mode. Steering : similar to Copilot, Kiro lets you define rules for specific contexts using frontmatter in Markdown files. For example, you can create custom instructions for TypeScript files only. These instructions can be applied automatically or manually through the chat prompt and can target the repository, workspace, or global level. Slash commands : let you run custom instructions from chat. For example, you could create a steering rule or hook that generates a commit message whenever you type /create-commit-msg , then analyze the diff and suggest a concise message that follows your preferred pattern. Checkpoints : because Kiro creates checkpoints throughout a chat, you can click "Restore" to rewind both your code changes and the Kiro context. It is essentially an undo button. Custom agents : as mentioned before, Kiro comes with some prebuilt agents, but you can also create your own for specific needs, such as a developer agent with tailored instructions. This agent will then be available when you start a new session. What I like most about Kiro is that it feels less like a chatbot and more like a thoughtful collaborator. It has helped me structure my work better and stay more intentional about the code I write, especially as I move from refactoring to planning. If you enjoy building with AI in a more guided way, I think it is absolutely worth trying. 😊