This skill should be used when managing structured spec-driven development workflows. Triggered by phrases like [kiro], [check kiro status], [load kiro], [update kiro], [kiro workflow], or when the user mentions kiro spec, create new kiro spec. Use this for managing requirements, design docs, and implementation tasks in kiro
/plugin marketplace add towry/dots/plugin install claude-code-skills@local-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Kiro is a workflow management system for structured spec-driven development that uses spec files to track progress through requirements gathering, design, and implementation phases. This skill enables Claude to manage the complete lifecycle of a kiro spec, from initial requirements to final implementation.
The kiro spec dir default to <project-root>/llm/kiro/<spec-name>/ but can be customized per spec.
Every kiro spec contains four key spec files, which need to be updated and tracked throughout the workflow:
claude.md - Control board with session notes, decisions, and spec status trackingrequirements.md - User stories and acceptance criteriadesign.md - Architecture, data models, and implementation detailstasks.md - Implementation tasks with status trackingreview-spec.md - Document as a bridge for user and the spec owner, help to review this spec before implement.When user mentions kiro, follow this decision tree:
Does the user want to create a new kiro spec?
agpod kiro pr-new --desc "<description>" --template defaultDoes the user want to select/load an existing spec?
Is the user already working on a spec?
Check our system prompt, if our system prompt have existing kiro dir <kiro_dir>, just load it. Otherwise, follow these steps:
Ask general subagent to run the following command to get all kiro specs:
agpod kiro --json pr-list -n 2
Expected JSON output format:
[
{
"name": "spec-name",
"path": "<spec-path>",
"created": "2024-01-15T10:30:00Z"
}
]
Note, the path should be relatieve to the project root or is absolute path if it starts with /.
Present the list of specs to the user and ask which one to load, or select based on user input.
Once spec is selected, read <spec-path>/claude.md to understand:
When to enter this phase:
claude.md shows requirements.md: empty or requirements.md: draftRead current requirements
Read <spec-path>/requirements.md
Gather requirements from user
Update requirements.md
requirements.md fileUpdate claude.md status
requirements.md: draft when in progressrequirements.md: ready when complete and approvedCritical Rule: Never proceed to design phase without user approval of requirements.
When to enter this phase:
claude.md shows requirements.md: ready AND design.md: empty or design.md: draftRead current design and requirements
Read <spec-path>/design.md
Read <spec-path>/requirements.md
Create design for each requirement
For each requirement ID (e.g., REQ-AUTH-LOGIN), create a corresponding design section with:
Present design options
Task tool to review the designUpdate design.md
design.md fileUpdate claude.md
design.md: draft when in progressdesign.md: ready when complete and approvedCritical Rule:
agpod kiro --json pr-list -n 2 to find the latest old specs.When to enter this phase:
claude.md shows design.md: ready AND tasks.md: empty or tasks.md: draftRead design and create tasks
Read <spec-path>/design.md
Read <spec-path>/tasks.md
Break down each requirement into tasks
For each requirement ID (e.g., REQ-AUTH-LOGIN), create corresponding TASK-REQ-{ID} section (e.g., TASK-REQ-AUTH-LOGIN) with:
Update tasks.md
tasks.md fileUpdate claude.md
tasks.md: draft when in progresstasks.md: ready when complete and approvedCritical Rule: Never start implementation without user approval of tasks.
When to enter this phase:
claude.md shows tasks.md: readyRead tasks and select next task
Read <spec-path>/tasks.md
Confirm task with user
Implement the task
Update tasks.md file status
[x] when completeclaude.md → Session Notebook → FindingsUpdate claude.md after each task
claude.md current at all times, update tasks.md status after each task.claude.md immediately after changes to other spec filesSpec files can have three statuses:
agpod kiro --json pr-list
# To limit latest n, use `-n <n>` option.
agpod kiro pr-new --desc "<description>" --template default
Additional options:
--git-branch: Create and checkout git branch--open: Open in editor after creation--force: Force creation even if directory existsTo list templates, run agpod kiro --json list-templates
user: "load kiro system spec" / "load kiro system" agent: "Loading kiro skill ... I see user mention 'system', let me ask general subagent to list existing kiro specs and see if a matching 'system' spec exist ... Ok let me read this spec and check the control board for current status ... I see requirements.md is empty, so we need to gather requirements ..."
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.