Skip to main content

Kiro cheatsheet

A one-page reference for Kiro's spec-driven workflow. For the full walkthrough and worked EARS/design/tasks examples, see the complete guide.

๐Ÿ“– Full guide: Kiro โ†’

The core loopโ€‹

Idea โ†’ requirements.md โ†’ [review gate]
โ†’ design.md โ†’ [review gate]
โ†’ tasks.md โ†’ [review gate]
โ†’ implementation

Spec first, code second โ€” the agent never touches implementation files until a task list is approved.

.kiro/ layoutโ€‹

.kiro/
โ”œโ”€โ”€ specs/<feature>/
โ”‚ โ”œโ”€โ”€ requirements.md
โ”‚ โ”œโ”€โ”€ design.md
โ”‚ โ””โ”€โ”€ tasks.md
โ”œโ”€โ”€ steering/{product,tech,structure}.md
โ”œโ”€โ”€ hooks/*.json
โ””โ”€โ”€ settings/mcp.json

EARS acceptance criteriaโ€‹

WHEN <trigger> THE SYSTEM SHALL <response>
IF <precondition> THEN THE SYSTEM SHALL <response>
WHILE <state> THE SYSTEM SHALL <response>

Unambiguous and testable โ€” unlike "handle errors gracefully," every criterion has a concrete trigger and observable response.

Tasks trace to requirementsโ€‹

- [x] 1. Add failed_attempts/locked_until columns
_Requirements: 3, 4_
- [ ] 2. Implement lockout logic
_Requirements: 3, 4_

Three-hop trace: requirement โ†’ task โ†’ commit/PR.

Steering (persistent context)โ€‹

FilePurpose
product.mdwhat the product is, who it's for
tech.mdstack, versions, conventions
structure.mdrepo layout, naming, boundaries

inclusion: always \| fileMatch \| manual controls when a steering file loads.

Agent hooksโ€‹

{
"trigger": { "type": "fileEdited", "pattern": "src/services/**/*.ts" },
"action": { "type": "agentPrompt", "prompt": "Sync tests for this change." }
}

For deterministic housekeeping (test sync, doc refresh) โ€” not a CI replacement; hooks can be skipped or missed.

MCP integrationโ€‹

{ "mcpServers": { "aws-docs": { "command": "uvx",
"args": ["aws-documentation-mcp-server@latest"], "autoApprove": [] } } }

Scope autoApprove to read-only tools โ€” never auto-approve write/delete capable ones.

Kiro vs. autocomplete toolsโ€‹

Cursor/CopilotKiro
Intentchat transcript, ephemeralchecked into git
Reviewafter code (diff)before code + per-task
Traceabilitynone by defaultrequirement โ†’ task โ†’ PR

Common mistakesโ€‹

  • Skipping review gates (one uninterrupted pass to code)
  • Vague EARS criteria with no concrete trigger/response
  • Treating .kiro/specs/ as disposable, deleting after merge
  • Letting steering docs drift out of date
  • Over-scoping hooks to fire on every keystroke-adjacent save
  • Broad MCP autoApprove on write/delete tools

When to skip specsโ€‹

Small, self-contained changes โ€” a one-line fix, quick prototype โ€” don't need requirements/design overhead. Specs earn their cost on features with real acceptance criteria, multiple reviewers, or compliance needs.