关于 kiro-skill
Kiro 是用于功能开发的交互式规范驱动工作流,面向从需求梳理到实现的开发过程。它依次生成需求、设计和任务文档,并在各阶段要求明确批准后再继续。
主要功能
- 01按 EARS 格式编写需求
- 02生成架构与设计文档
- 03创建分步实现任务
- 04逐项执行实现任务
- 05阶段推进需明确批准
适用场景
- 01把新功能想法整理为需求
- 02为功能设计架构和数据模型
- 03根据实施计划逐项开发
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ feiskyer/ codex-settings --skill kiro-skill安装后在 Claude Code 中输入/kiro-skill确认已加载。
附带文件helpers/kiro-identity.mdhelpers/workflow-diagrams.md
详细介绍
Kiro:规格驱动开发工作流
一个交互式工作流,可将想法转化为全面的功能规格、设计文档和可执行的实施计划。
快速开始
当你提到要创建功能规格、设计文档或实施计划时,此技能会引导你完成以下步骤:
- 需求 → 定义需要构建的内容(采用 EARS 格式和用户故事)
- 设计 → 确定如何构建(架构、组件、数据模型)
- 任务 → 制定可执行的实施步骤(测试驱动、渐进式)
- 执行 → 一次实施一个任务
存储位置:在 .kiro/specs/{feature-name}/ 目录中创建文件(使用 kebab-case 命名)
适用场景
- 创建新的功能规格
- 制定包含验收标准的需求
- 设计系统架构
- 规划功能实施
- 执行规格中的任务
Kiro 的定位与理念
回复前请阅读 helpers/kiro-identity.md。该文件定义了语气、语言偏好和最少代码理念。
如需查看可视化阶段关卡或流程参考,请参阅 helpers/workflow-diagrams.md。
📋 阶段 1:需求收集
需求阶段
将粗略想法转化为包含用户故事和 EARS 验收标准的结构化需求。
流程
-
生成初始需求
- 创建
.kiro/specs/{feature-name}/requirements.md - 功能名称使用 kebab-case(例如,“user-authentication”)
- 根据用户的想法编写初始需求
- 不要先逐个提问——先生成内容,再迭代完善
- 创建
-
需求结构
# Requirements Document
## Introduction
[Feature summary - what problem does this solve?]
## Requirements
### Requirement 1
**User Story:** As a [role], I want [feature], so that [benefit]
#### Acceptance Criteria
1. WHEN [event] THEN [system] SHALL [response]
2. IF [precondition] THEN [system] SHALL [response]
3. WHEN [event] AND [condition] THEN [system] SHALL [response]
### Requirement 2
**User Story:** As a [role], I want [feature], so that [benefit]
#### Acceptance Criteria
1. WHEN [event] THEN [system] SHALL [response]
EARS 格式
需求语法简易方法——结构化验收标准:
WHEN [event] THEN [system] SHALL [response]- 事件驱动IF [condition] THEN [system] SHALL [response]- 条件驱动WHILE [state] [system] SHALL [response]- 状态驱动WHERE [feature] [system] SHALL [response]- 通用要求[system] SHALL [response]- 无条件要求
审核与迭代
- 征求批准
- 创建或更新需求后
- 询问:“需求看起来合适吗?如果合适,我们可以继续进行设计。”
- 如果用户要求修改,则进行相应修改
- 持续进行反馈与修订,直到获得明确批准
- 未经明确批准,不得进入设计阶段
最佳实践
- 考虑边缘情况和技术限制
- 关注用户体验和成功标准
- 提出需要进一步澄清的方面
- 可以针对具体方面提出有针对性的问题
- 将复杂需求拆分为较小的部分
故障排除
如果澄清过程停滞:
- 建议转而讨论其他方面
- 提供示例或选项
- 总结已确定的内容并指出尚未解决的问题
- 根据现有信息继续推进,而不是停滞不前
🎨 阶段 2:创建设计文档
设计阶段
根据已批准的需求创建设计文档,并在设计过程中开展调研。
前置条件
- 确保
.kiro/specs/{feature-name}/requirements.md文件存在 - 必须先批准需求,才能进入设计阶段
调研阶段
-
确定调研需求
- 需要研究哪些技术或模式?
- 哪些现有解决方案可以为设计提供参考?
-
开展调研
- 使用可用资源(网络搜索、文档)
- 在对话线程中逐步积累上下文
- 不要创建单独的调研文件
- 总结关键发现
- 附上相关链接,注明信息来源
创建 .kiro/specs/{feature-name}/design.md,包含:
概述
- 设计方案的高层描述
- 关键架构决策及其理由
架构
- 系统架构概述
- 组件关系
- 数据流图(适当时使用 Mermaid)
组件和接口
- 组件详细说明
- API 规范
- 接口契约
数据模型
- 数据库架构
- 数据结构
- 状态管理方案
错误处理
- 错误场景和恢复策略
- 验证方案
- 日志记录和监控注意事项
测试策略
- 单元测试方案
- 集成测试计划
- 性能测试注意事项
设计示例
# Feature Design
## Overview
[High-level approach and key decisions]
## Architecture
```mermaid
graph TD
A[Component A] --> B[Component B]
B --> C[Component C]
组件和接口
组件 A
- 用途:[它的功能]
- 接口:[它提供的 API]
- 依赖项:[它需要什么]
数据模型
interface UserModel {
id: string;
email: string;
role: UserRole;
}
[继续编写其他章节...]
评审与迭代
- 征求批准
- 创建或更新设计后
- 询问:“设计看起来不错吗?如果可以,我们就可以继续制定实施计划。”
- 如果用户要求修改,则进行相应修改
- 持续进行反馈和修订,直到获得明确批准
- 未获得明确批准前,不要继续制定任务
核心原则
- 以研究为依据:通过研究为决策提供依据
- 全面:涵盖所有需求
- 适时使用可视化:包含图表
- 记录决策:说明决策理由
- 迭代改进:吸纳反馈
故障排查
如果设计过于复杂:
- 拆分为较小的组件
- 优先关注核心功能
- 建议分阶段实施
- 如有需要,返回需求并确定优先级
✅ 阶段 3:实施任务列表
任务阶段
将已批准的设计转化为可执行、以测试驱动的实施任务。
前提条件
- 确保
design.md已存在且已获批准 - 需求和设计为任务提供背景信息
任务生成说明
核心原则:将设计转化为提示词,供代码生成大模型以测试驱动的方式实现每个步骤。
重点:
- 逐步推进,尽早测试
- 基于前序任务构建,不留下孤立代码
- 仅包含涉及编写、修改或测试代码的任务
- 避免复杂度的大幅跃升
排除内容:
- 用户验收测试或收集反馈
- 部署到生产环境或预发布环境
- 收集性能指标
- 运行应用程序进行手动测试(但可以编写自动化端到端测试)
- 用户培训或创建文档
- 业务流程变更
- 营销或沟通活动
任务格式
创建 .kiro/specs/{feature-name}/tasks.md,包含:
# Implementation Plan
- [ ] 1. Set up project structure and core interfaces
- Create directory structure for models, services, repositories
- Define interfaces that establish system boundaries
- _Requirements: 1.1_
- [ ] 2. Implement data models and validation
- [ ] 2.1 Create core data model interfaces and types
- Write TypeScript interfaces for all data models
- Implement validation functions for data integrity
- _Requirements: 2.1, 3.3, 1.2_
- [ ] 2.2 Implement User model with validation
- Write User class with validation methods
- Create unit tests for User model validation
- _Requirements: 1.2_
- [ ] 3. Create storage mechanism
- [ ] 3.1 Implement database connection utilities
- Write connection management code
- Create error handling utilities
- _Requirements: 2.1, 3.3_
[Additional tasks...]
任务要求
结构:
- 最多两层层级(任务和子任务)
- 子任务使用小数编号(1.1、1.2、2.1)
- 每项都必须是复选框
- 优先采用简单的结构
每项任务必须包含:
- 涉及代码(编写、修改、测试)的明确目标
- 以子项形式列出的补充信息
- 具体的需求引用(细化到子需求,而不仅是用户故事)
质量标准:
- 任务应是独立、可管理的编码步骤
- 在前序步骤的基础上逐步推进
- 优先采用测试驱动开发
- 涵盖所有可通过代码实现的设计方面
- 尽早验证核心功能
评审与迭代
- 征求批准
- 创建或更新任务后
- 询问:“这些任务看起来不错吗?”
- 如果用户要求修改,则进行相应修改
- 持续进行反馈和修订,直到获得明确批准
- 获批后即停止,不要继续实施
重要:此工作流仅用于创建规划文档。
- 请勿在此工作流中实现功能
- 告知用户可以通过以下方式执行任务:
- 打开 tasks.md
- 点击各项旁边的“开始任务”
- 或请你执行特定任务
⚙️ 阶段 4:任务执行
执行阶段
精准、专注地实现功能规格中的特定任务。
前提条件
务必先阅读规格文件:
.kiro/specs/{feature-name}/requirements.md.kiro/specs/{feature-name}/design.md.kiro/specs/{feature-name}/tasks.md
未充分了解完整上下文前,切勿执行任务。
执行流程
-
选择任务
- 如果提供了任务编号或描述:专注于该特定任务
- 如果未指定任务:查看任务列表并推荐下一个合乎逻辑的任务
- 如果任务包含子任务:务必先完成子任务
-
实现
- 一次一个任务——未经批准,切勿实现多个任务
- 精简代码——只编写当前任务所需的代码
- 遵循设计——遵守架构决策
- 验证需求——确保实现符合规格
-
完成流程
- 任务完成后,立即停止并告知用户
- 不要自动继续下一个任务
- 等待用户审核并批准
- 仅在用户明确要求时运行测试
效率原则
- 并行操作:同时执行彼此独立的操作
- 批量编辑:对同一文件进行多处修改时使用 MultiEdit
- 减少步骤:以尽可能少的操作完成任务
- 检查工作成果:确认实现符合需求
响应方式
对于实现请求:
- 阅读相关规格文件
- 确定特定任务
- 使用精简代码进行实现
- 停止并等待审核
对于信息请求:
- 直接回答,不要开始实现
- 示例:“下一个任务是什么?”“还有哪些任务未完成?”
关键行为
- 果断、精准
- 全心专注于单个请求的任务
- 清晰地传达进度
- 切勿假设用户希望完成多个任务
- 遵循迭代审核流程
工作流规则
- 绝不跳过阶段——始终按顺序推进
- 必须明确批准——每份文档完成后都要获得用户批准
- 不要合并步骤——不要合并多个阶段
- 迭代优化——持续进行反馈与修订,直到获得批准
- 一次一个任务——执行期间专注于单个任务
工作流图
stateDiagram-v2
[*] --> Requirements
Requirements --> ReviewReq : Complete
ReviewReq --> Requirements : Changes
ReviewReq --> Design : Approved
Design --> ReviewDesign : Complete
ReviewDesign --> Design : Changes
ReviewDesign --> Tasks : Approved
Tasks --> ReviewTasks : Complete
ReviewTasks --> Tasks : Changes
ReviewTasks --> [*] : Approved
Execute : Execute Single Task
[*] --> Execute : Task Request
Execute --> [*] : Complete
检测逻辑
通过检查以下内容确定当前状态:
# Check for .kiro directory
if [ -d ".kiro/specs" ]; then
# List features
ls .kiro/specs/
# For specific feature, check phase
FEATURE="$1"
if [ -f ".kiro/specs/$FEATURE/requirements.md" ]; then
echo "Requirements exists"
fi
if [ -f ".kiro/specs/$FEATURE/design.md" ]; then
echo "Design exists"
fi
if [ -f ".kiro/specs/$FEATURE/tasks.md" ]; then
echo "Tasks exists - ready for execution"
fi
fi
总结
Kiro 为功能开发提供结构化、迭代式的方法:
- 从需求开始(要构建什么)
- 进入设计阶段(如何构建)
- 创建任务(实现步骤)
- 一次执行一个任务
每个阶段都必须先获得用户明确批准才能继续,以确保整个开发过程始终保持一致并保证质量。