kiro-integration
AWS Kiro specification patterns and synchronization. Use when working with Kiro IDE, syncing requirements.md/design.md/tasks.md files, or configuring steering files for AI agent context.
What this skill does
# Kiro Integration
AWS Kiro specification patterns, file structure, and synchronization with canonical model.
## When to Use This Skill
**Keywords:** Kiro, AWS Kiro, requirements.md, design.md, tasks.md, steering files, Kiro IDE, Kiro agent, Kiro sync, spec generation, agentic development, Kiro hooks
**Use this skill when:**
- Working with AWS Kiro IDE or Kiro-compatible tools
- Syncing between Kiro format and canonical specifications
- Creating or updating Kiro specification files
- Configuring steering files for agent context
- Integrating Kiro with existing spec-driven workflows
- Converting between Kiro and other specification formats
## Kiro Overview
Kiro is an agentic IDE developed by AWS that uses specification-driven development. It generates three interconnected files:
```text
.kiro/
├── specs/
│ ├── requirements.md # EARS-formatted requirements
│ ├── design.md # Technical implementation design
│ └── tasks.md # Executable task breakdown
└── steering/
└── context.md # Agent steering context
```
## Key Concepts
### Specification Files
| File | Purpose | Format |
| --- | --- | --- |
| `requirements.md` | Requirements using EARS patterns | EARS syntax in markdown |
| `design.md` | Technical design and architecture | Markdown with diagrams |
| `tasks.md` | Executable task checklist | Markdown checkboxes |
### EARS Integration
Kiro uses EARS (Easy Approach to Requirements Syntax) for requirements. All six patterns are supported:
- **Ubiquitous:** `The system SHALL...`
- **State-Driven:** `WHILE <condition>, the system SHALL...`
- **Event-Driven:** `WHEN <trigger>, the system SHALL...`
- **Unwanted:** `IF <condition>, THEN the system SHALL...`
- **Optional:** `WHERE <feature>, the system SHALL...`
- **Complex:** Combinations of the above
### Steering Files
Steering files provide context to the Kiro agent:
- Project-specific knowledge
- Codebase conventions
- Domain terminology
- Architectural constraints
## Kiro File Structure
### requirements.md
```markdown
# Requirements: <Feature Name>
## Context
<Problem statement and background>
## Functional Requirements
### FR-1: <Requirement Title>
**Pattern:** Event-Driven
**Priority:** Must
WHEN the user submits a form, the system SHALL validate all required fields.
#### Acceptance Criteria
- [ ] AC-1.1: Given valid input, when submitted, then success message shown
- [ ] AC-1.2: Given invalid input, when submitted, then errors highlighted
### FR-2: ...
## Non-Functional Requirements
### NFR-1: Performance
The system SHALL respond within 200ms for all API requests.
```
### design.md
```markdown
# Design: <Feature Name>
## Overview
<High-level design approach>
## Architecture
### Component Diagram
<Mermaid or text diagram>
### Components
| Component | Responsibility |
| --- | --- |
| FormValidator | Input validation logic |
| FormHandler | Form submission handling |
## Data Model
### Entities
- **FormSubmission**: Captures form data
- id: UUID
- data: JSON
- status: enum
## API Design
### Endpoints
| Method | Path | Description |
| --- | --- | --- |
| POST | /api/forms | Submit form |
## Technical Decisions
### Approach Selected
<Chosen approach with rationale>
### Alternatives Considered
| Alternative | Pros | Cons | Why Not |
| --- | --- | --- | --- |
| ... | ... | ... | ... |
```
### tasks.md
````markdown
# Tasks: <Feature Name>
## Task List
### Phase 1: Setup
- [ ] **TSK-001**: Create FormValidator component
- Requirement: FR-1
- Deliverables: `src/validators/FormValidator.ts`
- Acceptance: Unit tests pass
- [ ] **TSK-002**: Create FormHandler service
- Requirement: FR-1, FR-2
- Deliverables: `src/services/FormHandler.ts`
- Acceptance: Integration tests pass
### Phase 2: Integration
- [ ] **TSK-003**: Wire up API endpoint
- Requirement: FR-1
- Deliverables: `src/routes/forms.ts`
- Acceptance: E2E tests pass
## Dependency Graph
```text
TSK-001 ─┬─> TSK-003
TSK-002 ─┘
```
## Progress
| Status | Count |
| --- | --- |
| Pending | 3 |
| In Progress | 0 |
| Complete | 0 |
````
## Sync with Canonical Model
### Kiro to Canonical
| Kiro Field | Canonical Field |
| --- | --- |
| requirements.md FR-x | `requirements[].id` |
| EARS text | `requirements[].text` |
| Priority | `requirements[].priority` |
| AC-x.y | `requirements[].acceptance_criteria[]` |
| design.md | `implementation_notes` |
| tasks.md TSK-x | maps to task schema |
### Canonical to Kiro
When converting from canonical format to Kiro:
1. Split canonical spec into three files
2. Format requirements using EARS syntax
3. Generate design.md from implementation notes
4. Create tasks.md from task breakdown
## Steering File Configuration
### context.md Structure
```markdown
# Project Context
## Overview
<Project description and purpose>
## Technology Stack
- Language: TypeScript
- Framework: Next.js
- Database: PostgreSQL
## Conventions
### Naming
- Use camelCase for variables
- Use PascalCase for components
- Use kebab-case for files
### Architecture
- Follow vertical slice architecture
- Use feature-based folder structure
- Apply CQRS for complex operations
## Domain Glossary
| Term | Definition |
| --- | --- |
| Form | User input collection |
| Submission | Completed form data |
## Constraints
- All APIs must be RESTful
- Response time < 200ms
- Test coverage > 80%
```
## Workflows
### Generate Kiro Specs from Feature Request
1. Analyze feature request
2. Generate `requirements.md` with EARS patterns
3. Generate `design.md` with architecture
4. Generate `tasks.md` with breakdown
5. Create steering context if needed
### Sync Kiro to Canonical
1. Read Kiro spec files
2. Parse EARS requirements
3. Extract acceptance criteria
4. Map to canonical schema
5. Output canonical YAML/JSON
### Sync Canonical to Kiro
1. Read canonical specification
2. Split into three Kiro files
3. Format requirements as EARS
4. Structure design document
5. Create task checklist
## Quick Commands
| Action | Command |
| --- | --- |
| Generate from feature | `/spec:kiro:sync --from feature` |
| Sync to canonical | `/spec:kiro:sync --to canonical` |
| Update from canonical | `/spec:kiro:sync --from canonical` |
| Validate Kiro files | `/spec:validate .kiro/specs/` |
## Integration with Spec Kit
Kiro files map to Spec Kit phases:
| Kiro File | Spec Kit Phase |
| --- | --- |
| requirements.md | Phase 1: Specify |
| design.md | Phase 2: Plan |
| tasks.md | Phase 3: Tasks |
## References
**Detailed Documentation:**
- [Kiro Structure Reference](references/kiro-structure.md) - File organization patterns
- [Steering Files Guide](references/steering-files.md) - Context configuration
- [Hooks Integration](references/hooks-integration.md) - Kiro hooks patterns
**Related Skills:**
- `ears-authoring` - EARS requirement patterns
- `speckit-workflow` - GitHub Spec Kit 5-phase workflow
- `canonical-spec-format` - Canonical specification structure
---
**Last Updated:** 2025-12-24
## Version History
- **v1.0.0** (2025-12-26): Initial release
---
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.