返回首页

介绍 SKILL

· AI · #SKILL

简介

一个 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 只需要两步:

  1. 在 skills 目录下创建一个子目录
  2. 在子目录中创建 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 字段

字段说明是否必填
nameSkill 名称,1-64 字符,只能使用小写字母、数字和连字符;省略时默认使用目录名
descriptionSkill 描述,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}-stylepython-style, react-style
审查流程{domain}-auditsecurity-audit, performance-audit
工具使用{tool}-guidedocker-guide, aws-guide
工作流{workflow}-flowrelease-flow, onboarding-flow

调试 Skill

如果 AI 没有按 Skill 的指引执行:

  1. 检查命名:确保 name 字段简洁明确,AI 能通过描述识别出适用场景
  2. 检查描述description 是 AI 判断是否加载该 Skill 的关键,要写清楚触发条件
  3. 显式调用:使用 /skill:skill-name 强制加载该 Skill
  4. 简化测试:先写一个极简版本的 Skill 验证是否生效,再逐步完善

参考