技能

用技能把领域知识教给 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。