Tutorial interactivo para Kiro
Ask KiroDe vibe coding a software real
3 mundos · 10 niveles · 55 min
Tutorial interactivo para Kiro
3 mundos · 10 niveles · 55 min
© 2026 Comunidad · No oficial · Kiro es marca de AWS
Un prompt y tienes un juego andando. Así arranca el vibe coding, con el agente Default.
Abre una sesión nueva y escribe directo en "Let's build".
El selector de abajo dice Default y Autopilot está activado.
Pega el prompt:
Crea un juego tipo runner: el fantasma de Kiro corre, esquiva obstáculos saltando con la barra espaciadora y acumula puntaje. HTML, CSS y JS.
Kiro crea el juego y lo puedes abrir en el browser.
Quieres aprobar cada edición antes de que Kiro la aplique. ¿Qué cambias?
"Un prompt. Treinta segundos. Tenemos un juego. Pero... ¿qué pasa cuando otro dev toca este código?"
Es probable que Kiro cree carpetas, tests, package.json, etc. Déjalo — eso es justamente el problema que M2 (steering) viene a resolver. Si alguien pregunta, decir: "Exacto, eso es vibe coding sin reglas."
Mostrar la barra del chat (está ilustrada en la misión): el selector de agentes (Default, Spec, Quick Spec, Bug Fix, Plan), el de modelos (Auto por defecto) y Autopilot. Hoy arrancamos con Default.
Para ver la app: Live Server (extensión) o abrir index.html directo en el browser (Cmd+O / Ctrl+O).
Pregunta a la audiencia: "¿Quiénes ya conocen Kiro? ¿Quiénes usan otra herramienta tipo Cursor?"
~3 min
Sin reglas, cada prompt produce código distinto. El steering son reglas que Kiro lee en cada interacción.
Pega tus convenciones:
Crea un steering file con las convenciones de nuestro proyecto:
- Proyecto simple: máximo 3 archivos (html, css, js). No crear carpetas src/, tests/, ni package.json
- No crear unit tests ni archivos de configuración
- Mensajes de error en español
- camelCase para variables y funciones
- Comentarios JSDoc en todas las funciones
- try/catch en todo
- Separar html, css y js en archivos distintos
- Color principal #9147ff y #c59eff
- Tipografía Roboto
Aparece .kiro/steering/ con un archivo de reglas.
Pide el refactor:
Si no lo hiciste automáticamente, refactoriza el juego siguiendo las convenciones. Hazme un resumen de los cambios.
El juego queda en 3 archivos, con JSDoc y try/catch.
Quieres que una regla aplique solo a archivos CSS. ¿Qué modo de steering usas?
always (por defecto), fileMatch, auto (cuando tu pedido coincide con su descripción) y manual (con #nombre en el chat).AGENTS.md automáticamente..kiro/steering/ y que su frontmatter diga inclusion: always."No le repetí las reglas. Las leyó solo. Para siempre, para todo el equipo."
Mostrar que el steering aparece en .kiro/steering/ y en el panel lateral. Destacar el contraste con M1: "¿Recuerdan las carpetas, los tests, el package.json? Ahora el steering dice 'máximo 3 archivos, sin tests'. Kiro lo reorganiza solo."
Pregunta: "¿Qué convenciones pondrían ustedes? ¿Arquitectura? ¿Seguridad? ¿Patrones de diseño?"
~5 min
El vibe coding es rápido pero impredecible. Un spec escribe el plan antes que el código.
# Requirements
## 1. Vidas
User story: Como jugador, quiero 3 vidas, para no perder al primer choque.
Acceptance criteria
Qué debe hacer el juego, en criterios EARS que se pueden testear.
# Design
## Arquitectura
## Modelo de datos
state = { lives: 3, score, speed, highScore }
## Manejo de errores · Testing
Si localStorage no está disponible, el juego sigue sin guardar el récord.
Cómo se construye. Todavía cero líneas de código.
# Tasks
lives = 3Pasos con checkbox. Run all Tasks los ejecuta en orden.
Abajo en el chat, cambia el agente a Quick Spec.
El selector dice Quick Spec.
Pega el prompt y responde sus preguntas.
Agrega un sistema de vidas y dificultad progresiva al juego. El jugador empieza con 3 vidas, pierde una al chocar, y la velocidad aumenta cada 100 puntos. Guardar el high score en localStorage. Mostrar pantalla de game over con opción de reiniciar.
Aparecen requirements.md, design.md y tasks.md en .kiro/specs/.
En tasks.md, haz clic en Run all Tasks.
Las tareas se marcan y el juego tiene vidas, high score y game over.
Tu feature es clara y la quieres rápido. ¿Qué agente usas?
bugfix.md (comportamiento actual, esperado y el que no debe cambiar) y el análisis de la causa en design.md.requirements.md y en tasks.md usa Sync Files: crea las tareas que faltan."No es un prompt que espero que funcione. Es un plan escrito que puedo revisar antes de que exista una línea de código."
Usar el árbol de decisión: esta feature es clara, por eso Quick Spec (mucho más rápido que el Spec estándar, que pausa para aprobar cada fase). Abrir los 3 documentos: requirements con criterios EARS, design con arquitectura, tasks con checkboxes.
Los .md se pueden editar a mano o pidiéndolo en el chat; después, Sync Files en tasks.md actualiza las tareas.
Pregunta: "¿Cuántas líneas de código nueva hemos escrito? Cero. Estamos refinando."
~10 min (con el agente Spec y sus aprobaciones, 15-20)
Un hook es una regla automática: cuando pasa algo, Kiro actúa sin que se lo pidas.
ejemplo.jsun cambio del agentePanel Agent Hooks → + → "Ask Kiro to create a hook", y pega:
Cuando el agente cree o modifique un archivo JavaScript, revisa si hay errores o funciones sin documentación JSDoc y avísame en el chat.
Un hook nuevo en el panel, con evento File Save.
Pruébalo: pide un archivo y después un cambio.
Crea un archivo ejemplo.js con una función sumar() sin JSDoc. Después agrégale una función restar(), también sin JSDoc.
Cuando Kiro guarda el cambio, avisa en el chat que falta JSDoc.
Quieres buscar secretos cada vez que el agente termina. ¿Qué evento usas?
.js."No corrí ningún comando. El IDE reaccionó solo."
Pedirle a Kiro en el chat que cree ejemplo.js y después lo modifique, y mostrar cómo se dispara el hook cuando el agente guarda el cambio. Aclarar que los eventos de archivo solo los disparan cambios del agente, no un guardado manual. Repasar los eventos: File Save, File Create, File Delete, Prompt Submit, Agent Stop, Session Start, Pre/Post Tool Use y Pre/Post Task Execution. No hay evento de git commit.
Pregunta: "¿Qué hooks les serían útiles? ¿Buscar secretos cuando el agente termina (Agent Stop)? ¿Bloquear comandos peligrosos antes de que se ejecuten (Pre Tool Use)? ¿Revisar que el README esté actualizado?"
~5 min
Un custom agent es un especialista: tiene sus propias instrucciones y solo las herramientas que le das.
| Default | revisor | |
|---|---|---|
| Leer archivos | ||
| Editar archivos | ||
| Usar la terminal | ||
| Criterio propio |
Crea el agente:
Crea el archivo .kiro/agents/revisor.md para un custom agent llamado "revisor": un senior developer estricto que solo puede leer archivos (tools: ["read"]). Solo aprueba código con manejo de errores explícito y funciones documentadas con JSDoc.
Kiro te pide confirmar y aparece .kiro/agents/revisor.md.
Úsalo:
Usa el agente revisor para revisar el código JavaScript del juego y dime si lo aprobarías para producción.
Responde APROBADO o RECHAZADO con motivos, sin tocar archivos.
¿Qué puede definir un custom agent que el steering no?
name, description, tools y permissions; el cuerpo es su system prompt..kiro/agents/revisor.md con frontmatter válido."Tiene el criterio de tu equipo y solo las herramientas que necesita. No es una IA genérica, es TU senior dev."
Mostrar .kiro/agents/revisor.md: el frontmatter define name, description, tools y permissions; el cuerpo es su system prompt. Diferencia clave: el steering influye en cómo piensa Kiro; un agente además controla qué herramientas puede usar.
Pregunta: "¿Qué agentes crearían? ¿Seguridad? ¿Arquitectura? ¿Un agente que revise contra la documentación de una API interna?"
~5 min
Necesitas un dato actual y no quieres abrir cinco pestañas. Kiro busca en internet desde el chat.
Para un buen game feel: gravedad más fuerte al caer, coyote time de ~100 ms y un buffer de salto…
Pregunta y pide que busque:
¿Cuáles son las mejores prácticas para hacer un juego runner en el browser con buen game feel? Busca en internet.
La respuesta trae enlaces a sus fuentes.
¿Cuándo conviene pedirle a Kiro que busque en internet?
web_search y web_fetch (para leer una página)."No abrí ninguna pestaña. El dato llegó al chat."
Mostrar que la respuesta cita fuentes: Kiro usó su herramienta integrada web_search (y web_fetch para leer páginas). Útil para documentación, buenas prácticas y datos que el modelo no tiene en su entrenamiento.
~2 min
Un workflow es un equipo de agentes con un plan. Cada paso corre en su propia sesión, con contexto limpio.
Activa Workflows en Workspace Configuration → Workflows y abre una sesión nueva.
Arriba del chat aparece el panel Workflows.
Pide el trabajo en equipo:
Quiero agregar power-ups al juego (escudo e imán). Arma un workflow: un agente investiga en internet buenas prácticas de power-ups en juegos runner, otro los implementa siguiendo el steering, y el agente revisor revisa el resultado. Si el revisor rechaza, vuelve a implementar.
Kiro propone los pasos y los ejecuta. Puedes abrir cada paso en su pestaña.
Tienes que renombrar una variable. ¿Usas un workflow?
.kiro/workflows/ (o ~/.kiro/workflows/) en JSON o YAML.kiroAgent.workflows.enabled y abre una sesión nueva."No es un agente haciendo todo: es un equipo con un plan, y cada paso arranca con la cabeza limpia."
Mostrar el panel Workflows: seleccionar un paso para abrirlo en su pestaña y, si pasa, mostrar el loop cuando el revisor rechaza. Contar que es nuevo (Kiro IDE 1.2, septiembre 2026) y opcional. Une todo lo anterior: web search en la investigación, steering al implementar, el agente revisor al final.
Pregunta: "¿Qué proceso de su equipo podría ser un workflow? ¿Investigar un incidente? ¿Feature, tests y PR?"
~7 min
El steering son reglas fijas. Una skill es conocimiento que Kiro carga solo cuando lo necesita.
Crea tu propia skill:
Investiga en internet cómo se crean skills en Kiro. Luego crea una skill llamada "game-physics" que sepa sobre gravedad en juegos 2D, curvas de dificultad, hitboxes y game feel.
Aparece .kiro/skills/game-physics/SKILL.md.
Pruébala:
El salto del personaje se siente flotante. ¿Cómo hago que se sienta más responsivo y satisfactorio?
Kiro usa la skill y sugiere gravedad variable, coyote time o input buffering.
Importa una skill de otros: panel Agent Steering & Skills → + → Import a skill y pega la URL de la carpeta.
https://github.com/anthropics/skills/tree/main/skills/frontend-design
https://github.com/aws/agent-toolkit-for-aws/tree/main/skills/core-skills/launch-with-aws
Usa la skill frontend-design para rediseñar la pantalla de inicio del juego, respetando los colores y la tipografía del steering.
La pantalla de inicio del juego cambia de estilo.
¿Cuándo carga Kiro el contenido completo de una skill?
/game-physics.SKILL.md que usa Claude Code.~/.kiro/skills/; las del workspace ganan si tienen el mismo nombre.name del frontmatter tiene que coincidir con el nombre de la carpeta.~/.kiro/skills/."Kiro supo cuándo necesitaba ese conocimiento. No se lo tuve que decir."
Mostrar .kiro/skills/game-physics/SKILL.md: frontmatter con name y description; Kiro solo carga la description al inicio y el resto cuando tu pedido coincide (también se puede llamar a mano con /game-physics). Diferencia: steering = convenciones siempre presentes (el qué), skills = conocimiento bajo demanda y portable (el cómo), agents = herramientas y permisos (el especialista).
Mostrar que la skill de Anthropic funciona tal cual: es el mismo formato SKILL.md que usa Claude Code.
Probar un salto en el juego para mostrar que ahora se siente mejor físicamente.
Pregunta: "¿Qué conocimiento de dominio tiene su negocio que podría ser una skill? ¿KPIs? ¿Modelos de datos? ¿APIs internas?"
~7 min
Un MCP conecta a Kiro con fuentes externas en tiempo real, como la documentación oficial de AWS.
Instala el MCP con el botón Install Kiro en github.com/awslabs/mcp, o pídelo:
Instala el MCP de AWS Documentation a nivel workspace en .kiro/settings/mcp.json, con la configuración oficial de awslabs.
Existe .kiro/settings/mcp.json con el servidor de AWS Documentation.
Pregúntale a la documentación:
Busca en la documentación oficial de AWS cuál es la mejor forma de hacer deploy de esta app a hosting estático.
La respuesta cita docs.aws.amazon.com y compara opciones.
¿Dónde configuras un MCP para que lo use todo el equipo?
{
"mcpServers": {
"awslabs.aws-documentation-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_DOCUMENTATION_PARTITION": "aws"
},
"disabled": false,
"autoApprove": []
}
}
}
uvx: pídele a Kiro que instale uv."Un clic en GitHub. Documentación oficial, leída en tiempo real, aplicada a tu proyecto."
Abrir github.com/awslabs/mcp y mostrar el botón "Install Kiro". Recomendar AWS Documentation como primer MCP. Mostrar la alternativa manual con el JSON para quienes prefieran copiar.
Si el servidor no arranca, lo más común es que falte uvx: pedirle a Kiro que instale uv.
Pregunta: "¿Los MCP son solo de AWS? No. Hay de Atlassian, GitHub, bases de datos... Son conectores universales."
~5 min
Un Power empaqueta skills, MCPs y steering para que otro dev lo instale en un clic.
Panel de Powers (fantasma con rayo) → busca Power Builder → Install.
Power Builder aparece instalado.
Pide el paquete:
Quiero crear un Power que empaquete lo que hicimos: el steering de convenciones, la skill de game physics y el MCP de AWS Documentation. Usa el Power Builder con el formato Agent Plugins.
Una carpeta con plugin.json, skills/, mcp.json y dev.kiro/.
Un compañero quiere tu hook de revisión. ¿Cómo se lo pasas?
"Con MCP conectaste la IA a una herramienta. Con Powers le diste el manual completo."
Instalar el Power Builder primero. Mostrar la estructura que genera: plugin.json (nombre, versión, keywords que lo activan), skills/, mcp.json y dev.kiro/ con el steering. Los Powers viejos con POWER.md siguen funcionando. Explicar que esto se sube a un repo y cualquiera lo instala.
Si hay tiempo: crear una carpeta nueva, instalar el power desde URL y mostrar cómo la experiencia cambia completamente.
Pregunta: "¿Qué powers crearían para su equipo? ¿Uno de seguridad? ¿De arquitectura? ¿De onboarding para devs nuevos?"
~5 min
Web Search no crea archivos: es una herramienta que Kiro ya trae.
Un Power empaqueta steering, skills y MCP para que otro dev lo instale en un clic. Hooks, agents y workflows se comparten versionando .kiro/.
10 features desbloqueadas · 3 fases completadas
“Eso no es vibe coding. Eso es software.”
Lo que aprendiste
Kiro más allá del IDE
curl -fsSL https://cli.kiro.dev/install | bash
Contenido validado contra la documentación de Kiro IDE 1.2 · octubre 2026 · Sitio no oficial, sin afiliación con AWS