name 和 description 会显示给 AI 模型。完整的 SKILL.md 内容和辅助文件仅在 Cascade 决定调用该技能时 (或当你 @mention 它时) 才会被加载。即使定义了许多技能,这也能让你的上下文窗口保持精简。
有关 Skills 规范的更多详细信息,请访问 agentskills.io。
如何创建技能
使用 UI(最简单的方式)
- 打开 Cascade 面板
- 点击面板右上角的三个点以打开 Customizations 菜单
- 点击
Skills部分 - 点击
+ Workspace以创建工作区(针对特定项目的)技能,或点击+ Global以创建全局技能 - 为该技能命名(仅使用小写字母、数字和连字符)
手动创建
- 创建目录:
.windsurf/skills/<skill-name>/ - 添加带有 YAML 头部信息的
SKILL.md文件
- 创建目录:
~/.codeium/windsurf/skills/<skill-name>/ - 添加带有 YAML 头部信息的
SKILL.md文件
SKILL.md 文件格式
SKILL.md 文件,其 YAML frontmatter 中包含该 skill 的元数据:
示例技能
必填 Frontmatter 字段
- name:技能的唯一标识符(会显示在 UI 中,并用于 @ 提及)
- description:提供给 AI 模型的简要说明,帮助其判断在何时调用该技能
deploy-to-staging、code-review、setup-dev-environment
添加辅助资源
SKILL.md 放在一起。这些文件会在调用该技能时供 Cascade 访问:
技能调用
自动调用
description 字段至关重要:它帮助 Cascade 理解在何时应调用该 skill。请撰写能够清晰说明该 skill 的作用,以及在什么情况下应该使用它的描述。
手动调用
@skill-name 来显式激活某个 skill。当你想确保使用某个特定的 skill,或者想调用一个可能不会因你的请求而自动触发的 skill 时,这会非常有用。
技能作用域
为实现跨代理兼容性,Windsurf 也会在
.agents/skills/ 和 ~/.agents/skills/ 中发现技能。如果你已启用 Claude Code 配置读取,.claude/skills/ 和 ~/.claude/skills/ 也会被扫描。系统级技能 (Enterprise)
每个技能都是一个子目录,其中包含一个
SKILL.md 文件,与工作区技能相同。
示例使用场景
部署工作流
代码审查指南
测试流程
最佳实践
- 编写清晰的描述:描述有助于 Cascade 判断何时调用该 skill。要具体说明该 skill 的功能,以及在什么情况下应当使用它。
- 包含相关资源:模板、检查清单和示例能让 skill 更有用。思考一下哪些文件能帮助他人完成这项任务。
-
使用具有描述性的名称:
deploy-to-staging比deploy1更好。名称应清楚表明该 skill 的作用。
技能 vs Rules vs Workflows
**经验法则:**如果你希望 Cascade 自动选用它,并且它需要辅助文件,就用技能。如果它只是简短的行为约束,就用 Rule。如果你总是想自己手动触发它,就用 Workflow。
如果 Skills 不是你想要的内容,可以查看这些其他 Cascade 功能:
- Workflows - 使用可复用的 Markdown 工作流,通过斜杠命令触发,实现重复性任务的自动化
- AGENTS.md - 提供以目录为作用域的指令,根据文件位置自动生效
- Memories & Rules - 通过自动生成的记忆和用户自定义规则,在多轮对话之间持久保留上下文