最复杂的工程任务,往往不只是靠好的提示就能完成。它们可能还需要参考脚本、模板、检查清单以及其他辅助文件。技能让你能够把这些内容整合到文件夹中,供 Cascade 调用 (读取并使用) 。 技能是帮助 Cascade 稳定执行多步骤工作流程的绝佳方式。 Cascade 使用 渐进披露:默认情况下,模型只能看到技能的Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
name 和 description。只有当 Cascade 决定调用该技能 (或当你 @mention 它) 时,才会加载完整的 SKILL.md 内容和辅助文件。这样一来,即使定义了很多技能,你的上下文窗口也能保持精简。
有关技能规范的更多信息,请访问 agentskills.io。
如何创建 Skill
使用 UI (最简单)
- 打开 Cascade 面板
- 点击面板右上角的三个点,打开自定义菜单
- 点击
技能部分 - 点击
+ 工作区创建工作区 (项目专属) 技能,或点击+ 全局创建全局技能 - 为技能命名 (仅限使用小写字母、数字和连字符)
手动创建
- 创建目录:
.windsurf/skills/<skill-name>/ - 添加一个带有 YAML frontmatter 的
SKILL.md文件
- 创建目录:
~/.codeium/windsurf/skills/<skill-name>/ - 添加一个带有 YAML frontmatter 的
SKILL.md文件
SKILL.md 文件格式
SKILL.md 文件,其中包含 YAML frontmatter,用于定义该技能的元数据:
技能示例
必填 Frontmatter 字段
- name:技能的唯一标识符 (显示在 UI 中,并用于 @ 提及)
- description:展示给模型的简要说明,用于帮助其判断何时调用该技能
deploy-to-staging、code-review、setup-dev-environment
添加辅助资源
SKILL.md 放在同一目录下。调用该 skill 时,Cascade 就可以使用这些文件:
调用技能
自动调用
description 字段至关重要:它能帮助 Cascade 理解应在何时调用该技能。请编写清晰说明技能作用及其适用时机的描述。
手动调用
@skill-name,以显式启用某个技能。当你想确保使用特定技能,或者想调用某个可能不会因你的请求而自动触发的技能时,这种方式就很有用。
技能作用域
| 作用域 | 位置 | 可用性 |
|---|---|---|
| 工作区 | .windsurf/skills/ | 仅限当前工作区。随你的代码仓库一同提交。 |
| 全局 | ~/.codeium/windsurf/skills/ | 你设备上的所有工作区。不会提交。 |
| 系统 (Enterprise) | 因操作系统而异 (见下文) | 所有工作区,由 IT 部署。只读。 |
为实现跨 Agent 兼容,Devin Desktop 也会在
.agents/skills/ 和 ~/.agents/skills/ 中发现技能。如果你已启用 Claude Code 配置读取功能,还会扫描 .claude/skills/ 和 ~/.claude/skills/。系统级技能 (企业版)
| 操作系统 | 路径 |
|---|---|
| macOS | /Library/Application Support/Windsurf/skills/ |
| Linux/WSL | /etc/windsurf/skills/ |
| Windows | C:\ProgramData\Windsurf\skills\ |
SKILL.md 文件,与工作区技能相同。
示例用例
部署工作流程
代码审查指南
测试步骤
最佳实践
- 编写清晰的描述:描述能帮助 Cascade 判断何时调用该技能。请具体说明该技能的作用,以及适用场景。
- 包含相关资源:模板、检查清单和示例能让技能更实用。想一想哪些文件可以帮助他人完成这项任务。
-
使用描述性名称:
deploy-to-staging比deploy1更好。名称应清楚表明该技能的作用。
技能 vs 规则 vs 工作流程
| 技能 | 规则 | 工作流程 | |
|---|---|---|---|
| Purpose | 带辅助文件的多步骤流程 | 行为准则 (“应如何行事”) | 用于重复性任务的提示模板 |
| Structure | 包含 SKILL.md 和任意资源文件的文件夹 | 带有 frontmatter 的单个 .md 文件 | 单个 .md 文件 |
| Invocation | 由模型决定 (渐进式披露) 或通过 @mention | always_on / glob / model_decision / manual | 仅可手动通过 /slash-command 调用 |
| In system prompt? | 否——调用前只包含名称和描述 | 取决于激活模式 | 否——会列为可用命令 |
| Best for | 需要脚本/模板的部署、代码审查和测试流程 | 编码风格、项目规范、约束条件 | 需要你显式触发的一次性操作手册 |
