06c - Kiro Skills 创建教程
本文是《AI Agent 实战手册》第 6 章第 3 节。 上一节:Claude Code Skills 创建教程 | 下一节:Remotion Skills 与领域 Skills
概述
Kiro 是 AWS 推出的 Agentic AI IDE,其 Skills 系统遵循开放的 Agent Skills 标准(agentskills.io),允许开发者将指令、脚本和模板打包为可复用的能力包。与 Claude Code Skills 类似,Kiro Skills 采用渐进式加载机制——启动时仅加载元数据(name + description),在 agent 判断相关时才加载完整内容,从而高效管理上下文窗口。本节将系统讲解 Kiro Skills 的目录结构、文件格式、与 Hooks 和 Steering 的协作机制,并提供多个完整可用的实战示例。
1. Kiro 能力扩展体系总览
在深入 Skills 之前,先理解 Kiro 的三大能力扩展机制以及它们的定位差异:
| 机制 | 定位 | 加载方式 | 适用场景 |
|---|---|---|---|
| Steering | 持久化行为引导 | 始终加载(always)或自动加载(auto) | 编码规范、项目约定、安全策略 |
| Skills | 按需能力扩展 | 渐进式加载(元数据常驻,内容按需) | 领域知识、专业工作流、大型文档集 |
| Powers | 完整能力包 | 关键词触发激活 | Steering + Skills + MCP Server 的组合包 |
核心区别:Steering 文件指导 agent 的行为方式(“怎么做”),Skills 赋予 agent 专业能力(“会什么”),Powers 则是将 Steering、Skills 和 MCP Server 打包为一体的完整解决方案。
工具推荐
| 工具 | 用途 | 价格 | 适用场景 |
|---|---|---|---|
| Kiro IDE | Skills 的原生运行环境 | Free 50 credits/月,Pro $20/月,Pro+ $40/月,Power $200/月 | 创建和使用 Skills |
| Kiro CLI | 终端环境中使用 Skills | 同上(共享账户额度) | CLI 工作流中使用 Skills |
| Agent Skills 标准 | 跨平台 Skill 规范 | 免费(开放标准) | 编写可移植的 Skills |
| Kiro Powers 市场 | 社区 Power/Skill 分享 | 免费浏览和安装 | 发现和复用社区 Skills |
2. 目录结构与存放位置
Skill 目录结构
每个 Skill 是一个独立文件夹,SKILL.md 是唯一必需文件:
my-skill/
├── SKILL.md # 核心文件(必需):YAML 元数据 + Markdown 指令
├── templates/
│ └── component.md # 可选:模板文件
├── scripts/
│ └── validate.sh # 可选:可执行脚本
├── examples/
│ └── sample.md # 可选:示例输出
└── reference.md # 可选:详细参考文档存放位置与作用域
| 级别 | 路径 | 作用域 | 优先级 |
|---|---|---|---|
| 个人级(全局) | ~/.kiro/skills/<skill-name>/SKILL.md | 你的所有项目 | 低 |
| 项目级(工作区) | .kiro/skills/<skill-name>/SKILL.md | 仅当前项目 | 高 |
优先级规则:当个人级和项目级存在同名 Skill 时,项目级(工作区)优先。这允许团队在项目中覆盖个人默认设置。
与 Claude Code 的对比:Claude Code 使用
.claude/skills/目录,Kiro 使用.kiro/skills/目录。两者都遵循 Agent Skills 开放标准,SKILL.md 格式完全兼容。如果你已有 Claude Code Skills,只需将文件夹复制到.kiro/skills/即可在 Kiro 中使用。
与 Steering 目录的关系
.kiro/
├── steering/ # Steering 文件(始终加载的行为规则)
│ ├── code-style.md
│ └── security.md
├── skills/ # Skills 文件(按需加载的能力扩展)
│ ├── code-reviewer/
│ │ └── SKILL.md
│ └── api-generator/
│ ├── SKILL.md
│ └── templates/
└── specs/ # Spec 文件(需求/设计/任务)
└── my-feature/3. SKILL.md 文件格式详解
YAML Frontmatter
SKILL.md 顶部使用 --- 包裹的 YAML 块定义元数据:
---
name: my-skill
description: What this skill does and when to use it
---Frontmatter 字段参考
| 字段 | 必需 | 说明 | 默认值 |
|---|---|---|---|
name | 是 | Skill 显示名称。仅允许小写字母、数字和连字符,最长 64 字符 | — |
description | 推荐 | Skill 的用途和触发条件。Kiro 用此判断何时加载完整内容 | 正文第一段 |
license | 否 | 许可证标识(如 Apache-2.0、MIT) | — |
metadata | 否 | 附加元数据(author、version 等) | — |
最小示例:
---
name: react-patterns
description: React component patterns and best practices for our project. Use when creating or refactoring React components.
---完整示例:
---
name: api-security-review
description: Security review checklist for API endpoints. Use when reviewing or creating API routes, middleware, or authentication logic.
license: MIT
metadata:
author: team-security
version: "2.0"
---Markdown 正文
Frontmatter 之后是 Markdown 正文,包含 Kiro 执行 Skill 时遵循的详细指令。正文内容在 Skill 被触发时加载到上下文中。
两种典型内容模式:
知识型内容——添加 Kiro 应用到当前工作的领域知识:
---
name: project-conventions
description: Project coding conventions and architecture decisions
---
# 项目编码约定
## 技术栈
- Next.js 14 App Router + TypeScript
- Prisma ORM + PostgreSQL
- Tailwind CSS + shadcn/ui
## 命名规范
- 组件使用 PascalCase
- hooks 使用 camelCase,以 use 开头
- API 路由使用 kebab-case任务型内容——给 Kiro 逐步执行的指令:
---
name: db-migration
description: Create and run database migrations safely
---
# 数据库迁移流程
1. 修改 prisma/schema.prisma
2. 运行 `npx prisma migrate dev --name <migration-name>`
3. 检查生成的 SQL 文件
4. 运行 `npx prisma generate` 更新客户端
5. 更新相关的 seed 数据辅助文件引用
在 SKILL.md 中通过相对路径引用辅助文件:
## 附加资源
- 组件模板见 [templates/component.md](templates/component.md)
- API 文档见 [reference.md](reference.md)
- 验证脚本:`scripts/validate.sh`4. 渐进式加载机制
Skills 采用三级渐进式加载,高效管理上下文窗口:
第 1 级:元数据(~100 tokens)
└── name + description → Kiro 判断是否与当前任务相关
第 2 级:完整指令(SKILL.md 正文)
└── 相关时加载详细指令到上下文
第 3 级:辅助资源(按需)
└── 模板、脚本、参考文档等为什么这很重要?
假设你有 20 个 Skills,每个完整内容约 2000 tokens。如果全部加载,将占用 40,000 tokens 的上下文窗口。渐进式加载下,启动时仅消耗 20 × ~100 = ~2,000 tokens,节省 95% 的上下文空间。
操作步骤
步骤 1:编写高质量的 description
description 是渐进式加载的关键——它决定 Kiro 何时加载你的 Skill。好的 description 应包含:
- Skill 的具体用途
- 触发场景的关键词
- 适用的技术栈或文件类型
# ❌ 太模糊
description: 帮助处理代码
# ✅ 具体明确
description: Review TypeScript API routes for security vulnerabilities, input validation, and authentication. Use when creating or modifying files in src/app/api/.步骤 2:控制 Skill 内容大小
- SKILL.md 正文保持精炼(建议 < 3000 tokens)
- 详细参考文档放在辅助文件中
- 使用链接引用而非内联大段内容
5. Hooks 集成:事件驱动的自动化
Kiro Hooks 是事件驱动的自动化机制,可以在特定 IDE 事件发生时自动执行预定义的 agent 动作。Hooks 与 Skills 配合使用,能构建强大的自动化工作流。
Hook 事件类型
| 事件类型 | 触发时机 | 典型用途 |
|---|---|---|
| Prompt Submit | 用户提交 prompt 时 | 注入额外上下文、过滤 prompt、记录日志 |
| Agent Stop | agent 完成响应后 | 编译检查、代码格式化、变更审查 |
| Pre Tool Use | agent 即将调用工具前 | 安全验证、操作拦截、权限检查 |
| Post Tool Use | agent 工具调用完成后 | 结果审查、后处理、质量检查 |
| File Created | 新文件创建时 | 生成样板代码、添加许可头、创建测试文件 |
| File Edited | 文件保存时 | 运行 lint、更新文档、执行测试 |
| File Deleted | 文件删除时 | 清理引用、更新导入、维护项目完整性 |
| Manual Trigger | 手动执行 | 按需代码审查、文档生成、安全扫描 |
Hook 动作类型
| 动作 | 说明 | 适用事件 |
|---|---|---|
| Ask Kiro(askAgent) | 向 Kiro 发送 prompt,让 agent 执行任务 | 所有事件类型 |
| Shell Command(runCommand) | 执行 shell 命令 | Prompt Submit、Agent Stop、Pre/Post Tool Use |
创建 Hook 的方式
方式一:通过 Kiro IDE 面板
- 打开 Kiro 面板中的 Agent Hooks 区域
- 点击
+按钮创建新 Hook - 用自然语言描述 Hook 的工作流
- 配置触发事件、文件模式和动作
方式二:通过命令面板
Cmd + Shift + P(Mac)或Ctrl + Shift + P(Windows/Linux)- 输入
Kiro: Open Kiro Hook UI - 按向导配置 Hook
Hook + Skill 协作模式
Hooks 和 Skills 可以协同工作,形成完整的自动化链:
文件保存事件 → Hook 触发 → Ask Kiro prompt →
Kiro 自动加载相关 Skill → 执行 Skill 中的指令示例:当 src/app/api/ 下的文件被编辑时,Hook 触发安全审查,Kiro 自动加载 api-security-review Skill 执行检查。
6. Steering 规则交互
Steering 与 Skills 的协作
Steering 和 Skills 在 Kiro 中扮演互补角色:
| 维度 | Steering | Skills |
|---|---|---|
| 加载时机 | 始终加载或自动加载 | 按需加载 |
| 内容类型 | 行为规则和约束 | 领域知识和工作流 |
| 上下文占用 | 始终占用 | 仅相关时占用 |
| 文件位置 | .kiro/steering/ 或 ~/.kiro/steering/ | .kiro/skills/ 或 ~/.kiro/skills/ |
| 文件格式 | Markdown(可选 YAML frontmatter) | YAML frontmatter + Markdown(必需) |
Steering 文件格式
Steering 文件支持通过 YAML frontmatter 控制加载行为:
---
inclusion: always
---
# 编码规范
- 使用 TypeScript strict mode
- 所有函数必须有类型注解
- 禁止使用 any 类型inclusion 选项:
always:始终加载到上下文(适合核心规则)auto:Kiro 根据相关性自动决定是否加载(适合特定场景规则)- 不设置:默认行为,Kiro 自行判断
优先级规则
当 Steering 和 Skills 中存在冲突指令时:
- 工作区 Steering > 全局 Steering(工作区规则覆盖全局规则)
- Steering 和 Skills 互补而非覆盖(Steering 定义”怎么做”,Skills 定义”做什么”)
- 如果 Skill 中的指令与 Steering 规则冲突,Steering 规则优先(因为 Steering 是始终加载的约束)
实际协作示例
假设你有以下配置:
Steering 文件(.kiro/steering/security.md):
---
inclusion: always
---
# 安全规则
- 所有 API 输入必须使用 Zod 验证
- 禁止在日志中输出敏感信息
- 错误响应不泄露内部实现细节Skill 文件(.kiro/skills/api-generator/SKILL.md):
---
name: api-generator
description: Generate RESTful API routes with validation and error handling
---
# API 路由生成器
1. 创建路由文件在 src/app/api/
2. 添加 Zod schema 验证(遵循安全规则)
3. 实现错误处理中间件
4. 生成对应的测试文件当你请求”创建一个用户注册 API”时:
- Steering 的安全规则始终生效,确保 Zod 验证和安全错误处理
- Skill 的 API 生成指令按需加载,提供具体的生成步骤
- 两者协同确保生成的代码既符合安全规范又遵循项目约定
7. 完整示例一:TypeScript 代码审查 Skill
场景
团队使用 Next.js + TypeScript + Prisma 技术栈,需要统一代码审查标准。每次审查都应检查类型安全、API 安全、数据库查询性能和测试覆盖。
文件结构
.kiro/skills/ts-code-reviewer/
├── SKILL.md
├── checklist.md
└── report-template.mdSKILL.md
---
name: ts-code-reviewer
description: Review TypeScript code for type safety, security vulnerabilities, performance issues, and test coverage in Next.js + Prisma projects. Use when reviewing PRs, analyzing code quality, or before merging.
---
# TypeScript 代码审查指令
## 技术栈上下文
- Next.js 14 App Router
- TypeScript strict mode
- Prisma ORM + PostgreSQL
- Tailwind CSS + shadcn/ui
- Vitest + Playwright
## 审查流程
1. **确定变更范围**:识别变更的文件和影响范围
2. **逐文件审查**:按 [checklist.md](checklist.md) 逐项检查
3. **生成报告**:按 [report-template.md](report-template.md) 格式输出
## 审查重点
### 类型安全
- 禁止 `any` 类型(除非有充分理由并注释)
- 所有函数参数和返回值必须有类型注解
- 使用 Zod 进行运行时验证
### API 路由安全
- 所有 API 路由必须有输入验证
- 检查认证和授权中间件
- 错误响应不泄露内部信息
### 数据库查询
- 检查 N+1 查询(使用 `include` 而非循环查询)
- 事务操作使用 `$transaction`
- 大数据量查询使用分页
### 测试覆盖
- 新功能必须有对应单元测试
- API 路由必须有集成测试
- 关键路径必须有 E2E 测试
## 输出格式
按严重程度分类:
- 🔴 **必须修复**:安全漏洞、数据丢失风险、类型错误
- 🟡 **建议修复**:性能问题、代码规范违反
- 🟢 **可选优化**:代码风格、可读性改进
- ✅ **做得好的地方**:值得肯定的实践checklist.md
# 代码审查清单
## 必查项
- [ ] 无 `any` 类型
- [ ] API 路由有输入验证
- [ ] 敏感操作有认证检查
- [ ] 无硬编码密钥或凭证
- [ ] 错误处理完整
## 性能项
- [ ] 无 N+1 数据库查询
- [ ] 大列表使用分页
- [ ] 图片使用 next/image 优化
## 测试项
- [ ] 新功能有单元测试
- [ ] API 变更有集成测试
- [ ] 测试覆盖率不低于现有水平report-template.md
# 代码审查报告
## 概要
- 审查范围:[文件数量] 个文件,[行数] 行变更
- 总体评价:[优秀/良好/需改进/需重写]
## 🔴 必须修复
1. [文件:行号] 问题描述 → 建议修复方案
## 🟡 建议修复
1. [文件:行号] 问题描述 → 建议修复方案
## 🟢 可选优化
1. [文件:行号] 优化建议
## ✅ 做得好的地方
1. [具体描述]配套 Hook 设置
为这个 Skill 创建一个 Hook,在 agent 完成代码修改后自动触发审查:
- 事件类型:Agent Stop
- 动作:Ask Kiro
- Prompt:
请审查刚才修改的代码,使用 ts-code-reviewer skill 进行全面检查
配套 Steering 规则
在 .kiro/steering/code-quality.md 中添加始终生效的质量规则:
---
inclusion: always
---
# 代码质量规则
- 所有 PR 必须通过代码审查
- TypeScript strict mode 不可关闭
- 新代码必须有对应测试
- 禁止提交 console.log 调试代码使用方式
# Kiro 在你请求代码审查时自动加载此 Skill
> 审查一下最近的代码变更
# 或在对话中提及相关关键词时自动触发
> 这个 API 路由有没有安全问题?8. 完整示例二:教学模式 Steering + Skill 组合
场景
你正在学习 Rust 编程语言,希望 Kiro 以互动教学模式辅助学习——讲解知识点、出练习题、审查代码、评估掌握度。这个示例展示了 Steering 和 Skill 如何协同工作。
Steering 文件:行为规则
.kiro/steering/teaching-mode.md:
---
inclusion: always
---
# 教学模式规则
## 核心原则
这是一个互动式教学计划。AI 是老师,用户是学生。
## 行为约束
- 所有讲解使用中文
- 禁止直接给出练习答案代码
- 每个知识点必须包含:讲解 → 出题 → 等待学生完成 → 审查 → 验收
- 讲解时与学生已知的语言(如 TypeScript)进行对比
- 出题后必须停下来等待学生回复
## 评估标准
- 掌握度 ≥ 80%:通过,进入下一个知识点
- 掌握度 < 80%:提供补充练习,继续巩固Skill 文件:Rust 教学知识库
.kiro/skills/rust-teaching/SKILL.md:
---
name: rust-teaching
description: Rust programming language teaching materials and exercises. Use when the user is learning Rust, asking about Rust concepts, or working on Rust exercises.
---
# Rust 教学知识库
## 教学方法
1. 概念讲解:用中文解释 Rust 概念,与 TypeScript 对比
2. 代码示例:展示 Rust 代码和等价的 TypeScript 代码
3. 练习设计:给出需求描述,不给答案
4. 代码审查:检查学生代码的正确性和 Rust 惯用写法
## 核心知识点映射
### 所有权(Ownership)
- TypeScript:垃圾回收,无需手动管理
- Rust:所有权系统,编译时内存安全
- 关键概念:move、borrow、lifetime
### 模式匹配(Pattern Matching)
- TypeScript:switch/case,有限的解构
- Rust:match 表达式,穷尽性检查,解构绑定
- 关键概念:match、if let、while let
### 错误处理
- TypeScript:try/catch,异常机制
- Rust:Result<T, E>、Option<T>,无异常
- 关键概念:?运算符、unwrap、expect
### Trait 系统
- TypeScript:interface,鸭子类型
- Rust:trait,静态分发,trait bound
- 关键概念:impl、dyn、泛型约束
## 练习模板
每个练习应包含:
1. 知识点说明
2. 需求描述(中文)
3. 输入/输出示例
4. 提示(不是答案)
5. 验收标准协作效果
当用户说”我想学习 Rust 的所有权系统”时:
- Steering 规则生效:Kiro 进入教学模式,使用中文,不直接给答案
- Skill 按需加载:Kiro 加载 Rust 教学知识库,获取所有权相关的教学材料
- 协同输出:Kiro 按教学流程讲解所有权概念,与 TypeScript 对比,出练习题,等待学生完成
这个示例展示了 Steering(控制行为模式)和 Skills(提供领域知识)的完美配合。
9. 从零创建 Skill 的操作步骤
步骤 1:规划 Skill
确定 Skill 的定位:
问自己:
1. 这个知识/能力是否需要始终加载?
→ 是:用 Steering 文件
→ 否:用 Skill
2. 这个 Skill 是个人使用还是团队共享?
→ 个人:放 ~/.kiro/skills/
→ 团队:放 .kiro/skills/,提交到 Git
3. 需要辅助文件吗?
→ 模板、脚本、参考文档 → 创建子目录步骤 2:创建目录和文件
# 项目级 Skill
mkdir -p .kiro/skills/my-skill
touch .kiro/skills/my-skill/SKILL.md
# 个人级 Skill
mkdir -p ~/.kiro/skills/my-skill
touch ~/.kiro/skills/my-skill/SKILL.md步骤 3:编写 SKILL.md
cat > .kiro/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: Clear description of what this skill does and when to use it
---
# Skill 指令
## 上下文
[技术栈、项目背景等]
## 执行步骤
1. [步骤一]
2. [步骤二]
3. [步骤三]
## 输出格式
[期望的输出格式说明]
EOF步骤 4:验证 Skill 被发现
在 Kiro 中测试:
> 有哪些可用的 skills?或在 Kiro IDE 面板中查看 Skills 列表,确认你的 Skill 出现在列表中。
步骤 5:测试触发
输入与 description 语义匹配的请求,观察 Kiro 是否自动加载你的 Skill。
步骤 6:迭代优化
- 如果 Skill 未触发:检查 description 是否包含用户自然会说的关键词
- 如果 Skill 触发过于频繁:让 description 更具体
- 如果内容太长:将详细内容移到辅助文件中
提示词模板
请帮我创建一个 Kiro Skill:
- 用途:[具体任务描述]
- 技术栈:[相关技术]
- 触发场景:[什么时候应该加载这个 Skill]
- 是否需要辅助文件:[模板/脚本/参考文档]
- 是否需要配套 Hook:[是/否,什么事件触发]
- 是否需要配套 Steering:[是/否,什么规则始终生效]
请生成完整的 SKILL.md 和所有辅助文件。实战案例:构建团队 Skills + Steering + Hooks 体系
场景
一个 5 人全栈团队,使用 Next.js + Prisma + PostgreSQL,需要建立统一的 AI 辅助开发工作流。
第 1 步:规划体系结构
.kiro/
├── steering/ # 始终生效的规则
│ ├── code-style.md # 编码风格(inclusion: always)
│ ├── security.md # 安全规则(inclusion: always)
│ └── git-conventions.md # Git 约定(inclusion: always)
├── skills/ # 按需加载的能力
│ ├── ts-code-reviewer/ # 代码审查(自动触发)
│ │ ├── SKILL.md
│ │ ├── checklist.md
│ │ └── report-template.md
│ ├── api-generator/ # API 生成(自动触发)
│ │ ├── SKILL.md
│ │ └── templates/
│ ├── db-migration/ # 数据库迁移(自动触发)
│ │ └── SKILL.md
│ └── project-context/ # 项目上下文(自动触发)
│ └── SKILL.md
└── specs/ # Spec 驱动开发
└── ...第 2 步:创建核心 Steering 文件
.kiro/steering/code-style.md:
---
inclusion: always
---
# 编码风格
- TypeScript strict mode,禁止 any
- 函数式组件 + hooks
- Server Actions 处理服务端操作
- Zod 验证所有外部输入
- 自定义 AppError 类处理错误第 3 步:创建项目上下文 Skill
.kiro/skills/project-context/SKILL.md:
---
name: project-context
description: Project architecture, tech stack, and directory conventions. Use when working on any part of this project.
---
# 项目上下文
## 技术栈
- Next.js 14 App Router + TypeScript 5.x
- Prisma ORM + PostgreSQL 16
- NextAuth.js v5 认证
- Tailwind CSS + shadcn/ui
- Vitest 单元测试 + Playwright E2E
## 目录结构
- `src/app/` — 页面和 API 路由
- `src/components/` — React 组件
- `src/lib/` — 工具函数和配置
- `prisma/` — 数据库 schema 和迁移
- `tests/` — E2E 测试第 4 步:配置 Hooks 自动化
为团队设置关键 Hooks:
Hook 1:新文件创建时自动生成测试
- 事件:File Created
- 文件模式:
src/**/*.ts,src/**/*.tsx - 动作:Ask Kiro
- Prompt:
为刚创建的文件生成对应的单元测试文件,遵循项目测试约定
Hook 2:API 文件保存时安全检查
- 事件:File Edited
- 文件模式:
src/app/api/**/*.ts - 动作:Ask Kiro
- Prompt:
检查这个 API 路由的安全性:输入验证、认证检查、错误处理
Hook 3:Agent 完成后编译检查
- 事件:Agent Stop
- 动作:Shell Command
- 命令:
npx tsc --noEmit
第 5 步:提交到 Git 并团队共享
git add .kiro/steering/ .kiro/skills/
git commit -m "chore: add team steering rules, skills, and hooks"
git push团队成员拉取代码后,Steering 和 Skills 自动生效。Hooks 需要每个成员在 IDE 中确认启用。
案例分析
这个体系的设计遵循几个关键原则:
- 分层职责:Steering 管”规则”,Skills 管”能力”,Hooks 管”自动化”
- 最小上下文:只有核心规则始终加载,专业能力按需加载
- 团队一致性:通过 Git 共享,确保团队使用相同的规则和能力
- 渐进式构建:先从最常用的 2-3 个 Skill 开始,根据实际需求逐步添加
避坑指南
❌ 常见错误
-
把所有内容都放在 Steering 中
- 问题:Steering 文件始终加载,内容过多会浪费上下文窗口
- 正确做法:只有核心规则放 Steering,领域知识和工作流放 Skills
-
description 写得太模糊
- 问题:
description: "帮助开发"太宽泛,Kiro 无法判断何时触发 - 正确做法:包含具体关键词、技术栈和触发场景,如
"Review TypeScript API routes for security vulnerabilities in Next.js projects"
- 问题:
-
SKILL.md 内容过长
- 问题:把所有参考文档都塞进 SKILL.md,加载时占用大量上下文
- 正确做法:SKILL.md 只保留核心指令(< 3000 tokens),详细内容放辅助文件
-
忽略 Steering 和 Skills 的配合
- 问题:只用 Skills 不用 Steering,导致 agent 行为不一致
- 正确做法:Steering 定义始终生效的约束,Skills 提供按需能力,两者配合使用
-
Skill 数量过多
- 问题:创建了 50+ 个 Skills,元数据占用过多上下文,部分 Skill 无法被发现
- 正确做法:定期审查 Skills 库,合并相关 Skills,删除不再使用的 Skill
-
忘记在 YAML frontmatter 中添加 name 字段
- 问题:缺少 name 字段导致 Skill 无法被正确识别和触发
- 正确做法:始终包含 name 和 description 两个字段
✅ 最佳实践
- description 是最关键的字段——它决定 Kiro 何时加载你的 Skill,要包含用户自然会说的关键词
- 从简单开始,先用纯 Markdown 指令验证效果,再逐步添加辅助文件
- 包含输入输出示例,帮助 Kiro 理解期望的行为
- 将团队共享的 Skills 放在
.kiro/skills/(提交到 Git),个人偏好的 Skills 放在~/.kiro/skills/ - 利用 Steering + Skills + Hooks 三层体系构建完整的自动化工作流
- 如果已有 Claude Code Skills,直接复制到
.kiro/skills/即可复用(格式兼容) - 定期审查和优化 Skills 库,保持精炼高效
相关资源与延伸阅读
Skills 发现与安装
- Skills.sh — Vercel 推出的 Agent Skills 开放目录,Kiro 也支持安装 Skills.sh 上的 Skills
- Kiro Powers — Kiro 的 Powers 系统,打包文档、工作流和 MCP Server 的可复用能力包
官方文档
- Kiro Skills 文档 — Kiro Skills 的完整创建和使用指南
- Kiro Steering 文档 — Steering 文件的编写指南,理解 Skills 和 Steering 的区别
- Kiro Hooks 文档 — Hooks 的完整文档,与 Skills 配合实现自动化工作流
学习资源
- Book of Kiro — Skills — 社区编写的 Kiro 知识库,包含 Skills 的实战案例
- Kiro IDE Complete Tutorial — kiro-ide.net — Kiro IDE 的完整教程,涵盖 Skills 和 Spec-Driven 工作流
- AI Coding Tools Blog — Kiro — Kiro 的详细文档和教程集合
社区
- Kiro Directory — Kiro 资源聚合站,包含教程、指南和社区链接
- Kiro Community — Book of Kiro — Kiro 社区知识库
- Agent Skills Open Standard — Agent Skills 开放标准,了解跨工具的 Skills 互操作性
参考来源
- Agent Skills - Kiro 官方文档 (持续更新)
- Kiro 0.9: Custom subagents, skills support, and enterprise controls - Kiro Blog (2025-12)
- Stop repeating yourself: why global steering is the AI context layer you’ve been missing - Kiro Blog (2025-11)
- Teaching Kiro new tricks with agent steering and MCP - Kiro Blog (2025-10)
- Hooks - Kiro 官方文档 (持续更新)
- Hook types - Kiro 官方文档 (持续更新)
- Steering - Kiro 官方文档 (持续更新)
- Skills, Custom Diff Tools, and Conversation Compaction - Kiro CLI Changelog 1.24 (2025-07)
- Remote MCP, global steering, sequential hooks - Kiro IDE Changelog 0.5 (2025-06)
- Agent Skills Open Standard - agentskills.io (2025-12)
- Kiro Hooks Complete Documentation Guide - AI Coding Tools Blog (2025-12)
- Introducing Kiro Powers - Kiro Blog (2025-12)
📖 返回 总览与导航 | 上一节:Claude Code Skills 创建教程 | 下一节:Remotion Skills 与领域 Skills