AWS Builder Center

What I Learned Exploring Kiro: From MCP to Building an Application

A hands-on learning experience exploring how MCP, Steering, Skills, and spec-driven development can support software development with AI.

Estudiante de ingeniería de sistemas

Introduction

As part of my learning process in cloud and AI-assisted software development, I had the opportunity to work through several hands-on labs with Kiro. The labs covered different concepts, including MCP, Steering, Skills, and application development.
The objective of this article is to briefly share what I learned from these labs and how I understood the role of these features when developing software with AI assistance.

1. MCP

The first lab introduced Model Context Protocol (MCP).
MCP allows AI applications to interact with external tools and resources through a standardized protocol. This can include APIs, databases, files, documentation, and other services.
What I found interesting is that the AI assistant is not limited to generating text or code. Through MCP, it can interact with external capabilities that provide additional context or allow it to perform specific actions.
For me, the main idea was that MCP acts as a connection between the AI assistant and external tools.

2. Steering

The second lab focused on Steering.
When working on a software project, there are usually rules and decisions that should remain consistent, such as the project structure, coding conventions, technologies, or development practices.
Steering allows this information to be defined as persistent project context. This means that instead of explaining the same requirements in every interaction, Kiro can use the information defined for the project.
As a developer, I found this useful because maintaining context is important when working on projects that contain many files and different components.

3. Skills

The third lab introduced Skills.
Skills can be used to provide reusable instructions for specific types of tasks. This makes it possible to organize knowledge and workflows that can be used repeatedly during development.
For example, a project could have a Skill related to testing, documentation, code reviews, or a specific development workflow.
The main thing I learned here is that AI-assisted development does not have to depend entirely on individual prompts. Some instructions and workflows can be organized and reused.

4. Building an Application

After exploring these concepts, the next labs focused on actually building an application with Kiro.
This helped me understand that AI-assisted development is not only about generating code. There is also a process involved in defining requirements, planning the solution, implementing it, and validating the result.
One concept that stood out to me was spec-driven development, where the development process starts with requirements and design before moving into implementation.
A simplified workflow can be represented as:
Requirements → Design → Tasks → Implementation → Testing
I found this approach useful because it provides more structure than simply asking an AI assistant to generate an entire application.

5. Build Challenge

The final challenge allowed me to put the concepts from the previous labs together.
MCP provides access to external tools and resources, Steering provides project context, and Skills provide reusable capabilities. Combined with a structured development process, these features can make AI assistance more useful during application development.
At the same time, I learned that the developer still has an important role. Generated code needs to be reviewed, tested, and adapted to the requirements of the project.

Conclusion

Working through these labs gave me a better understanding of how AI can be integrated into the software development process.
Before doing the labs, I mainly thought about AI assistants as tools for generating code. After exploring MCP, Steering, Skills, and spec-driven development, I understood that AI can also help with planning, understanding project context, using external tools, and following development workflows.
As a Software Engineering student, I found the experience useful because it allowed me to connect concepts related to AI with practices that are already part of software development, such as requirements, architecture, implementation, and testing.
The main lesson I took from this experience is that AI-assisted development is not just about generating code faster. The context, structure, and instructions given to the AI also have an important role in the development process.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article