简介
一个 Skill 就是一个包含 SKILL.md 文件的目录。Kimi Code CLI 启动时会发现所有 Skills,并将它们的名称、路径和描述注入到系统提示词中。AI 会根据当前任务的需要,自行决定是否读取具体的 SKILL.md 文件来获取详细指引。
例如,你可以创建一个「代码风格」Skill,告诉 AI 你项目的命名规范、注释风格等;或者创建一个「安全审计」Skill,让 AI 在审查代码时关注特定的安全问题。
Skill 发现
用户级 Skills
存放在用户主目录中,在所有项目中生效。候选目录分为两组,每组内按优先级选取第一个存在的目录,两组的结果独立合并(品牌组特异性更高,优先级更高):
- 品牌组(互斥选一):
~/.kimi/skills/~/.claude/skills/~/.codex/skills/
- 通用组(互斥选一):
~/.config/agents/skills/(推荐)~/.agents/skills/
项目级 Skills
存放在项目目录中,仅在该项目工作目录下生效。同样分为两组独立查找:
- 品牌组(互斥选一):
.kimi/skills/.claude/skills/.codex/skills/
- 通用组:
.agents/skills/
Skill 制作
创建一个 Skill 只需要两步:
- 在 skills 目录下创建一个子目录
- 在子目录中创建
SKILL.md文件
目录结构
一个 Skill 目录至少需要包含 SKILL.md 文件,也可以包含辅助目录来组织更复杂的内容:
~/.config/agents/skills/
└── my-skill/
├── SKILL.md # 必需:主文件
├── scripts/ # 可选:脚本文件
├── references/ # 可选:参考文档
└── assets/ # 可选:其他资源
SKILL.md 格式
SKILL.md 使用 YAML Frontmatter 定义元数据,后面是 Markdown 格式的提示词内容:
---
name: code-style
description: 我的项目代码风格规范
---
## 代码风格
在这个项目中,请遵循以下规范:
- 使用 4 空格缩进
- 变量名使用 camelCase
- 函数名使用 snake_case
- 每个函数都需要 docstring
- 单行不超过 100 字符
Frontmatter 字段
| 字段 | 说明 | 是否必填 |
|---|---|---|
name | Skill 名称,1-64 字符,只能使用小写字母、数字和连字符;省略时默认使用目录名 | 否 |
description | Skill 描述,1-1024 字符,说明 Skill 的用途和使用场景;省略时显示 “No description provided.” | 否 |
license | 许可证名称或文件引用 | 否 |
compatibility | 环境要求说明,最多 500 字符 | 否 |
metadata | 额外的键值对属性 | 否 |
最佳实践
- 保持
SKILL.md在 500 行以内,将详细内容移到scripts/、references/或assets/目录 - 在
SKILL.md中使用相对路径引用其他文件 - 提供清晰的步骤指引、输入输出示例和边界情况说明
示例
---
name: pptx
description: 创建和编辑 PowerPoint 演示文稿
---
## PPT 制作流程
创建演示文稿时,遵循以下步骤:
1. 分析内容结构,规划幻灯片大纲
2. 选择合适的配色方案和字体
3. 使用 python-pptx 库生成 .pptx 文件
## 设计原则
- 每页幻灯片聚焦一个主题
- 文字简洁,使用要点而非长段落
- 保持视觉层次清晰,标题、正文、注释有明确区分
- 配色统一,避免超过 3 种主色
---
name: git-commits
description: Git 提交信息规范,使用 Conventional Commits 格式
---
## Git 提交规范
使用 Conventional Commits 格式:
类型(范围): 描述
允许的类型:feat, fix, docs, style, refactor, test, chore
示例:
- feat(auth): 添加 OAuth 登录支持
- fix(api): 修复用户查询返回空值的问题
- docs(readme): 更新安装说明
Flow Skills
Kimi CLI 在标准 Skill 基础上增加了 Flow Skill(支持 Mermaid 流程图)。
Flow Skill 是一种特殊的 Skill 类型,它在 SKILL.md 中内嵌 Agent Flow 流程图,用于定义多步骤的自动化工作流。与普通 Skill 不同,Flow Skill 通过 /flow:<name> 命令调用,会按照流程图自动执行多个对话轮次。
创建 Flow Skill
创建 Flow Skill 需要在 Frontmatter 中设置 type: flow,并在内容中包含 Mermaid 或 D2 格式的流程图代码块:
---
name: code-review
description: 代码审查工作流
type: flow
---
\`\`\`mermaid
flowchart TD
A([BEGIN]) --> B[分析代码变更,列出所有修改的文件和功能]
B --> C{代码质量是否达标?}
C -->|是| D[生成代码审查报告]
C -->|否| E[列出问题并提出改进建议]
E --> B
D --> F([END])
\`\`\`
执行 Flow Skill
Flow Skill 可以通过两种方式调用:
/flow:<name>:执行流程,Agent 会从BEGIN节点开始,按照流程图定义依次处理每个节点,直到到达END节点/skill:<name>:与普通 Skill 一样,将SKILL.md内容作为提示词发送给 Agent(不自动执行流程)
# 执行流程
/flow:code-review
# 作为普通 Skill 加载
/skill:code-review
Skill 使用技巧
与 .kimirules 配合
项目根目录的 .kimirules 和项目级 Skills 功能互补:
| 文件 | 作用 | 适用内容 |
|---|---|---|
.kimirules | 全局项目上下文,每次对话自动注入 | 技术栈、架构决策、通用规范 |
Skill | 特定场景的详细指引,按需加载 | 审查流程、特定工具用法、复杂工作流 |
最佳实践:在 .kimirules 中说明项目概况,在 Skill 中定义可复用的专项流程。
# .kimirules 示例(精简,50行以内)
- 技术栈: Next.js 14 + TypeScript + Prisma
- 架构: App Router, Server Components 优先
- 代码风格: Airbnb ESLint
# Skill 示例:安全审计(详细,多步骤)
---
name: security-audit
description: 对 API 路由进行安全审查的完整流程
---
## 审查清单
1. SQL 注入检查...
2. XSS 防护检查...
3. 权限校验检查...
保持 Skill 精简
- 目标:单个 SKILL.md 不超过 500 行
- 拆分信号:如果某个 Skill 包含多个不相关的主题,拆成多个 Skill
- 引用外部资源:将长文档放在
references/目录,SKILL.md 中只写摘要和引用路径
Skill 命名规范
| 类型 | 命名建议 | 示例 |
|---|---|---|
| 代码规范 | {language}-style | python-style, react-style |
| 审查流程 | {domain}-audit | security-audit, performance-audit |
| 工具使用 | {tool}-guide | docker-guide, aws-guide |
| 工作流 | {workflow}-flow | release-flow, onboarding-flow |
调试 Skill
如果 AI 没有按 Skill 的指引执行:
- 检查命名:确保
name字段简洁明确,AI 能通过描述识别出适用场景 - 检查描述:
description是 AI 判断是否加载该 Skill 的关键,要写清楚触发条件 - 显式调用:使用
/skill:skill-name强制加载该 Skill - 简化测试:先写一个极简版本的 Skill 验证是否生效,再逐步完善