mcpField
K
kiro-skill

kiro-skill

github.com/feiskyer开发247115 次安装5 周前更新
代码仓库

关于 kiro-skill

Kiro 是用于功能开发的交互式规范驱动工作流,面向从需求梳理到实现的开发过程。它依次生成需求、设计和任务文档,并在各阶段要求明确批准后再继续。

主要功能

  1. 01按 EARS 格式编写需求
  2. 02生成架构与设计文档
  3. 03创建分步实现任务
  4. 04逐项执行实现任务
  5. 05阶段推进需明确批准

适用场景

  1. 01把新功能想法整理为需求
  2. 02为功能设计架构和数据模型
  3. 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:规格驱动开发工作流

一个交互式工作流,可将想法转化为全面的功能规格、设计文档和可执行的实施计划。

快速开始

当你提到要创建功能规格、设计文档或实施计划时,此技能会引导你完成以下步骤:

  1. 需求 → 定义需要构建的内容(采用 EARS 格式和用户故事)
  2. 设计 → 确定如何构建(架构、组件、数据模型)
  3. 任务 → 制定可执行的实施步骤(测试驱动、渐进式)
  4. 执行 → 一次实施一个任务

存储位置:在 .kiro/specs/{feature-name}/ 目录中创建文件(使用 kebab-case 命名)

适用场景

  • 创建新的功能规格
  • 制定包含验收标准的需求
  • 设计系统架构
  • 规划功能实施
  • 执行规格中的任务

Kiro 的定位与理念

回复前请阅读 helpers/kiro-identity.md。该文件定义了语气、语言偏好和最少代码理念。

如需查看可视化阶段关卡或流程参考,请参阅 helpers/workflow-diagrams.md。


📋 阶段 1:需求收集

需求阶段

将粗略想法转化为包含用户故事和 EARS 验收标准的结构化需求。

流程
  1. 生成初始需求

    • 创建 .kiro/specs/{feature-name}/requirements.md
    • 功能名称使用 kebab-case(例如,“user-authentication”)
    • 根据用户的想法编写初始需求
    • 不要先逐个提问——先生成内容,再迭代完善
  2. 需求结构

# 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] - 无条件要求
审核与迭代
  1. 征求批准
    • 创建或更新需求后
    • 询问:“需求看起来合适吗?如果合适,我们可以继续进行设计。”
    • 如果用户要求修改,则进行相应修改
    • 持续进行反馈与修订,直到获得明确批准
    • 未经明确批准,不得进入设计阶段
最佳实践
  • 考虑边缘情况和技术限制
  • 关注用户体验和成功标准
  • 提出需要进一步澄清的方面
  • 可以针对具体方面提出有针对性的问题
  • 将复杂需求拆分为较小的部分
故障排除

如果澄清过程停滞:

  • 建议转而讨论其他方面
  • 提供示例或选项
  • 总结已确定的内容并指出尚未解决的问题
  • 根据现有信息继续推进,而不是停滞不前
🎨 阶段 2:创建设计文档

设计阶段

根据已批准的需求创建设计文档,并在设计过程中开展调研。

前置条件
  • 确保 .kiro/specs/{feature-name}/requirements.md 文件存在
  • 必须先批准需求,才能进入设计阶段
调研阶段
  1. 确定调研需求

    • 需要研究哪些技术或模式?
    • 哪些现有解决方案可以为设计提供参考?
  2. 开展调研

    • 使用可用资源(网络搜索、文档)
    • 在对话线程中逐步积累上下文
    • 不要创建单独的调研文件
    • 总结关键发现
    • 附上相关链接,注明信息来源
### 设计文档结构

创建 .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;
}

[继续编写其他章节...]

评审与迭代
  1. 征求批准
    • 创建或更新设计后
    • 询问:“设计看起来不错吗?如果可以,我们就可以继续制定实施计划。”
    • 如果用户要求修改,则进行相应修改
    • 持续进行反馈和修订,直到获得明确批准
    • 未获得明确批准前,不要继续制定任务
核心原则
  • 以研究为依据:通过研究为决策提供依据
  • 全面:涵盖所有需求
  • 适时使用可视化:包含图表
  • 记录决策:说明决策理由
  • 迭代改进:吸纳反馈
故障排查

如果设计过于复杂:

  • 拆分为较小的组件
  • 优先关注核心功能
  • 建议分阶段实施
  • 如有需要,返回需求并确定优先级
✅ 阶段 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)
  • 每项都必须是复选框
  • 优先采用简单的结构

每项任务必须包含:

  • 涉及代码(编写、修改、测试)的明确目标
  • 以子项形式列出的补充信息
  • 具体的需求引用(细化到子需求,而不仅是用户故事)

质量标准:

  • 任务应是独立、可管理的编码步骤
  • 在前序步骤的基础上逐步推进
  • 优先采用测试驱动开发
  • 涵盖所有可通过代码实现的设计方面
  • 尽早验证核心功能
评审与迭代
  1. 征求批准
    • 创建或更新任务后
    • 询问:“这些任务看起来不错吗?”
      • 如果用户要求修改,则进行相应修改
    • 持续进行反馈和修订,直到获得明确批准
    • 获批后即停止,不要继续实施
### 完成

重要:此工作流仅用于创建规划文档。

  • 请勿在此工作流中实现功能
  • 告知用户可以通过以下方式执行任务:
    • 打开 tasks.md
    • 点击各项旁边的“开始任务”
    • 或请你执行特定任务
⚙️ 阶段 4:任务执行

执行阶段

精准、专注地实现功能规格中的特定任务。

前提条件

务必先阅读规格文件:

  • .kiro/specs/{feature-name}/requirements.md
  • .kiro/specs/{feature-name}/design.md
  • .kiro/specs/{feature-name}/tasks.md

未充分了解完整上下文前,切勿执行任务。

执行流程
  1. 选择任务

    • 如果提供了任务编号或描述:专注于该特定任务
    • 如果未指定任务:查看任务列表并推荐下一个合乎逻辑的任务
    • 如果任务包含子任务:务必先完成子任务
  2. 实现

    • 一次一个任务——未经批准,切勿实现多个任务
    • 精简代码——只编写当前任务所需的代码
    • 遵循设计——遵守架构决策
    • 验证需求——确保实现符合规格
  3. 完成流程

    • 任务完成后,立即停止并告知用户
    • 不要自动继续下一个任务
    • 等待用户审核并批准
    • 仅在用户明确要求时运行测试
效率原则
  • 并行操作:同时执行彼此独立的操作
  • 批量编辑:对同一文件进行多处修改时使用 MultiEdit
  • 减少步骤:以尽可能少的操作完成任务
  • 检查工作成果:确认实现符合需求
响应方式

对于实现请求:

  1. 阅读相关规格文件
  2. 确定特定任务
  3. 使用精简代码进行实现
  4. 停止并等待审核

对于信息请求:

  • 直接回答,不要开始实现
  • 示例:“下一个任务是什么?”“还有哪些任务未完成?”
关键行为
  • 果断、精准
  • 全心专注于单个请求的任务
  • 清晰地传达进度
  • 切勿假设用户希望完成多个任务
  • 遵循迭代审核流程

工作流规则

  • 绝不跳过阶段——始终按顺序推进
  • 必须明确批准——每份文档完成后都要获得用户批准
  • 不要合并步骤——不要合并多个阶段
  • 迭代优化——持续进行反馈与修订,直到获得批准
  • 一次一个任务——执行期间专注于单个任务

工作流图

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 为功能开发提供结构化、迭代式的方法:

  • 从需求开始(要构建什么)
  • 进入设计阶段(如何构建)
  • 创建任务(实现步骤)
  • 一次执行一个任务

每个阶段都必须先获得用户明确批准才能继续,以确保整个开发过程始终保持一致并保证质量。

评论

支持 Markdown