技能
用技能把领域知识教给 Agent——从简单清单到完整专业流程,按需自动加载。
什么是技能
技能(Skills)是可复用的指令与资源包(一个文件夹 + 一份 SKILL.md),用来教 Agent 完成特定任务——可以是一份简单检查清单,也可以是带支撑文件(脚本、模板)的完整专业流程。典型用途:部署流程、代码审查清单、API 接入指南等。
会话开始时,应用会把已发现技能的名称与描述加入 Agent 的指令;当你的请求与某个技能匹配(或你明确点名使用),Agent 会加载该技能的完整内容再行动。
内置与自定义
应用内置了基础技能(如联网搜索);侧栏「更多 → 技能」可以查看当前可用的技能。
自定义技能放在固定目录即可被发现:
- 全局技能:
~/.agents/skills/<名称>/SKILL.md(所有会话可用); - 项目技能:项目内
.agents/skills/<名称>/SKILL.md(仅当前项目); - 兼容旧目录:
.goose/skills/等历史位置仍会被识别(技术标识按惯例保留)。
创建一个技能
SKILL.md 需要 YAML frontmatter(name 与 description),后面是技能正文:
---
name: code-review
description: 面向拉取请求的代码审查清单
---
# 代码审查清单
审查代码时逐项检查:
## 功能
- [ ] 实现与需求描述一致
- [ ] 边界情况已处理
- [ ] 错误处理得当
## 安全
- [ ] 代码中没有硬编码的凭据
- [ ] 用户输入已校验
description 决定 Agent 何时匹配到这个技能——写清楚「做什么、用于什么场景」效果最好。
与提示文件、工作流的分工
- 提示文件(
.cyhints/.goosehints/AGENTS.md):项目约定与偏好,每次会话自动生效; - 技能:领域知识与方法,按需加载;
- 工作流:可执行、可分享的任务配置,一键运行。
三者可以组合:提示文件声明项目规则,技能沉淀方法,工作流固化步骤。
本页基于上游开源文档(Apache-2.0)改写,已修改;来源与变更见 /legal/provenance。