This article is a machine translation of the contents of the following URL, which I wrote in Japanese:
https://qiita.com/Nana_777/items/d71dacb97e1e99375b36
Introduction
This is the fifth post in the Japan AWS Top Engineers Advent Calendar 2025.
Today, I'd like to introduce Kiro, a character who frequently appears in my Advent Calendar-related posts.
I've written about Kiro in several past articles, so I'll quote those articles and provide an overall overview of Kiro.
↓ Japan AWS Top Engineers Advent Calendar 2025 is here
https://qiita.com/advent-calendar/2025/aws-top-engineers
↓ My previous article on Kiro
↓ Some of the images in this article are slides I used at JAWS-UG Morning Meeting #72
https://speakerdeck.com/naonana777/hua-ti-noai-ide-kirosanwoshi-sitemita
What is AWS Kiro?
This is a service provided by AWS and comes in two versions: an IDE and a CLI.
It offers most of the capabilities of Amazon QDeveloper, such as chatting with AI and Vibe coding, but it also has several features not available in Amazon QDeveloper, such as specification-driven development and multimodal AI interaction.
Recently, I've been using the Kiro IDE version more often than Amazon QDeveloper on VSCode.
What You Can Do with AWS Kiro
Kiro's Icons are Cute
While many AWS service icons are cool, Kiro's icons, featuring a ghost motif, are very cute.
Kiro Can Do Almost Everything VSCode Can Do
VSCode is a commonly used IDE tool, and Kiro has most of its functionality.
If you're familiar with VSCode, I highly recommend Kiro, as it allows you to display terminals and consoles, install extensions, and more.
Agentic chat
Ask Kiro for research
Even if you're not involved in development, you can chat with Kiro to find out anything.
↓ I asked Kiro what Kiro is.

Ask Kiro to investigate an error
When you pass an error message to Kiro, he'll explain how to resolve it.
If any configuration changes or software installations are required to resolve the error, he'll confirm with you as you proceed.
↓ Example of a conversation when requesting an error investigation

Implementation assistance with Vibe coding
Requesting implementation from Kiro
By explaining your desired implementation in a chat with Kiro and submitting a request, Kiro will implement it.
↓ I requested Kiro to create CDK code.

Improve the accuracy of your deliverables with specification-driven development (Spec).
Kiro enables specification-driven development.
Instead of immediately starting implementation in response to a request, as with Vibe Coding, we create the requirements, design, and task list needed to complete the implementation before starting implementation.
You can align your understanding of the task list until completion. You can see your progress.
With Vibe coding, implementation had to proceed without any clarity on how much interaction would be required until completion, or what tasks would be performed.
With spec-driven development, the task list and specifications are generated in files before implementation, so the list of tasks recognized by the AI can be aligned with human understanding before implementation can proceed.
If the task list or specifications need revision, you can request corrections from Kiro via chat.
Additionally, because you can see which task is currently being performed on the task list, it's easy to understand how far you've progressed and how much work remains.
↓ Specification-Driven Development Image

↓ You can select Specification-Driven Development by selecting "Spec" from the "New Session" menu in Kiro chat.

↓ Files created with Specification-Driven Development

Predefine implementation rules with Steering
When implementing, you may want to adhere to coding conventions outside of design, as well as guidelines and rules that should be kept in mind for each function.
Kiro manages these rules as steering files and reflects them in the implementation.
You can have Kiro create general rules for the steering file, or you can create your own rules.
↓ Screen capture of Kiro creating a steering file

↓ Example of a steering file created by Kiro
Expanding the scope of use by using an MCP server
Kiro can call MCP server functions.
There are two ways to configure an MCP server in Kiro:
- Connect to a remote MCP server
- Enter connection information for the remote MCP server in mcp.json and use the features remotely.
- Configure an MCP server on your local PC and connect.
- Clone the MCP server published on GitHub to your local PC via Git and then access it in Kiro.
- Even for an MCP server on your local PC, you'll need to enter settings in mcp.json.
The Kiro IDE screen displays a list of configured MCP servers in the lower left corner. A green check mark appears next to the name of an MCP server that is successfully connected.
↓ Viewing MCP servers in Kiro IDE

From the Kiro homepage
Which MCP server you use is up to you, but the Kiro homepage lists commonly used MCP servers in a "Server directory."
Clicking [+ Add Kiro] next to each MCP server name on this page will add the necessary settings to Kiro's mcp.json file.
↓Kiro Server Directory Page
https://kiro.dev/docs/mcp/servers/
:::note warn
Some fine-tuning is required after adding Kiro.
If your PC is running Windows, you may need to set environment variables.
If you are unable to connect to the MCP server using only [+ Add Kiro], please refer to the official page of each MCP server to complete the setup.
↓ Example: Official AWS MCP Server Page
https://awslabs.github.io/mcp/
:::
↓ My previous article on setting up a remote MCP server
https://dev.to/aws-builders/aws-one-click-mcp-installation-with-kiro-kiro-2ipo
Local MCP Server Example: Using an MCP server for backlog, implement a backlog issue.
By using the backlog-mcp-server available on github, you can read Backlog issues from Kiro and update the content of those issues in projects open in Kiro.
One development style known as "issue-driven development" allows Kiro to handle everything from reading issues to implementing them, a task that previously required manual intervention to create issues, read and understand them, and then implement them.
This requires more effort than ever to define the content of issues in a way that's easy for AI to understand, but being able to assign issues to Kiro like a team member will broaden the scope of its use.
↓ My previous article about the BakLog MCP server
https://dev.to/aws-builders/aws-get-backlog-issues-via-the-mcp-tool-and-have-kiro-fix-them-kiro-59p7
↓ BakLog MCP server GitHub
https://github.com/nulab/backlog-mcp-server?tab=readme-ov-file
Multimodal
Evaluate architecture through image chat
Kiro can recognize not only text but also image content.
You can use this feature to have Kiro explain and suggest areas for improvement in your architecture diagram.
The architecture diagram doesn't have to be a beautifully formatted image created with a tool like draw.io; even a whiteboard drawing is fine.
I asked Kiro to review my architecture diagram.
I asked Kiro to suggest improvements to a simple architecture diagram.
The following is the message I sent to Kiro:
"Please let me know if there are any other AWS services that are needed, based on AWS best practices."
Kiro's response suggested the necessary AWS services.
Also, perhaps because I happened to have a CDK project open in the IDE, he gave me some advice on implementing it with the CDK.

naws.com/0/192949/0319343e-c68b-4eef-a019-1f288f43e05d.png)

Spec Development Based on Architecture Diagrams
Not only can you chat with Kiro based on architecture diagrams, but you can also provide images of architecture diagrams as prompts for spec development.
Kiro will create a spec file (requirements, design, and task list) based on the architecture diagram.
Let's try it using the configuration diagram in the AWS documentation at the following URL:
What should I do in this situation?
Is team development possible?
Splitting spec files
Spec files can be split by functional group, for example, rather than having a single set of three files for a single application: requirements, design, and task list.
Splitting spec files allows team members to divide up their tasks and develop in parallel.
↓ The result of dividing the calculator application specs into functions.

Synchronizing deliverables and task progress in the task list
If each team performs their own tasks or if implementation is performed using a method other than Kiro for some reason, the progress in the task list may differ from the actual implementation progress.
In such cases, you can update the task list progress by clicking "update tasks" in the task list or by requesting Kiro via chat to update the task list progress. This will ensure that the task list progress matches the actual implementation.
↓ My previous article on spec splitting
How to revert Kiro's execution results to their pre-execution state
Checkpoint
When chatting with Kiro about Vive coding, unexpected changes may be made to the application.
In Kiro's chat box, there is a retry button above the request you made to Kiro.
Even if multiple files have been changed by a human request, you can press this button to revert them to the state they were in before the request to Kiro.
How to keep up with Kiro information
Refer to the Kiro official page's changelog and blog
If you want to learn more about Kiro, we recommend the official documentation page.
If you want to know the latest updates or how to use it, you'll probably find some useful information on the official page.
The Kiro changelog page shows the Kiro version number and the features added in that version.
↓ Kiro Changelog Page
The Kiro changelog page briefly lists Kiro's updates, but for those who want more detailed information on how to use new features, the Kiro blog page is also available.
Kiro users introduce new features and various usage methods with detailed instructions, which should help you expand your Kiro usage.
↓ Kiro Blog
Conclusion
Kiro has been attracting attention since its launch in 2025.
It is frequently updated, and there are many interesting features that are too numerous to cover in this article.
Kiro is particularly known for its spec-driven development, but it also has many features that can be used for purposes other than spec-driven development. Please check out Kiro's features and use cases on user blogs.
You're sure to find a situation where it can be used in your own tasks.
Reference
↓ Kiro Official Documentation









Top comments (0)