Skip to main content
最棘手的工程任务往往不只是写几个好的提示这么简单。它们可能还需要参考脚本、模板、检查列表以及其他辅助文件。技能让你可以把所有这些内容打包成文件夹,供 Cascade 调用 (读取和使用) 。 技能是教会 Cascade 如何稳定、可靠地执行多步工作流的绝佳方式。 Cascade 使用 渐进式披露 (progressive disclosure) 机制:默认情况下,只有技能的 namedescription 会显示给 AI 模型。完整的 SKILL.md 内容和辅助文件仅在 Cascade 决定调用该技能时 (或当你 @mention 它时) 才会被加载。即使定义了许多技能,这也能让你的上下文窗口保持精简。 有关 Skills 规范的更多详细信息,请访问 agentskills.io

如何创建技能

使用 UI(最简单的方式)

  1. 打开 Cascade 面板
  2. 点击面板右上角的三个点以打开 Customizations 菜单
  3. 点击 Skills 部分
  4. 点击 + Workspace 以创建工作区(针对特定项目的)技能,或点击 + Global 以创建全局技能
  5. 为该技能命名(仅使用小写字母、数字和连字符)

手动创建

工作区 Skill(针对特定项目):
  1. 创建目录:.windsurf/skills/<skill-name>/
  2. 添加带有 YAML 头部信息的 SKILL.md 文件
全局 Skill(在所有工作区可用):
  1. 创建目录:~/.codeium/windsurf/skills/<skill-name>/
  2. 添加带有 YAML 头部信息的 SKILL.md 文件

SKILL.md 文件格式

每个 skill 都需要一个 SKILL.md 文件,其 YAML frontmatter 中包含该 skill 的元数据:

示例技能

必填 Frontmatter 字段

  • name:技能的唯一标识符(会显示在 UI 中,并用于 @ 提及)
  • description:提供给 AI 模型的简要说明,帮助其判断在何时调用该技能
有效名称示例:deploy-to-stagingcode-reviewsetup-dev-environment

添加辅助资源

将任何辅助文件放在技能文件夹中,与 SKILL.md 放在一起。这些文件会在调用该技能时供 Cascade 访问:

技能调用

自动调用

当你的请求与某个 skill 的描述匹配时,Cascade 会自动调用该 skill,并利用其指令和资源来完成任务。这是使用 skill 的最常见方式——你只需描述自己想做什么,Cascade 就会自动判断应使用哪些相关的 skill。 skill 的 frontmatter 中的 description 字段至关重要:它帮助 Cascade 理解在何时应调用该 skill。请撰写能够清晰说明该 skill 的作用,以及在什么情况下应该使用它的描述。

手动调用

你可以随时在 Cascade 的输入框中输入 @skill-name 来显式激活某个 skill。当你想确保使用某个特定的 skill,或者想调用一个可能不会因你的请求而自动触发的 skill 时,这会非常有用。

技能作用域

为实现跨代理兼容性,Windsurf 也会在 .agents/skills/~/.agents/skills/ 中发现技能。如果你已启用 Claude Code 配置读取,.claude/skills/~/.claude/skills/ 也会被扫描。

系统级技能 (Enterprise)

Enterprise 组织可以部署适用于所有工作区且终端用户无法修改的技能: 每个技能都是一个子目录,其中包含一个 SKILL.md 文件,与工作区技能相同。

示例使用场景

部署工作流

创建一个包含部署脚本、环境配置和回滚方案的 Skill:

代码审查指南

包含风格指南、安全检查清单和审查模板:

测试流程

汇总测试模板、覆盖率要求和 CI/CD 配置:

最佳实践

  1. 编写清晰的描述:描述有助于 Cascade 判断何时调用该 skill。要具体说明该 skill 的功能,以及在什么情况下应当使用它。
  2. 包含相关资源:模板、检查清单和示例能让 skill 更有用。思考一下哪些文件能帮助他人完成这项任务。
  3. 使用具有描述性的名称deploy-to-stagingdeploy1 更好。名称应清楚表明该 skill 的作用。

技能 vs Rules vs Workflows

这三者都可以用来自定义 Cascade,但它们在结构调用方式上下文成本上有所不同: **经验法则:**如果你希望 Cascade 自动选用它,并且它需要辅助文件,就用技能。如果它只是简短的行为约束,就用 Rule。如果你总是想自己手动触发它,就用 Workflow。 如果 Skills 不是你想要的内容,可以查看这些其他 Cascade 功能:
  • Workflows - 使用可复用的 Markdown 工作流,通过斜杠命令触发,实现重复性任务的自动化
  • AGENTS.md - 提供以目录为作用域的指令,根据文件位置自动生效
  • Memories & Rules - 通过自动生成的记忆和用户自定义规则,在多轮对话之间持久保留上下文