最复杂的工程任务,往往不只是靠好的提示就能完成。它们可能还需要参考脚本、模板、检查清单以及其他辅助文件。技能让你能够把这些内容整合到文件夹中,供 Cascade 调用 (读取并使用) 。
技能是帮助 Cascade 稳定执行多步骤工作流程的绝佳方式。
Cascade 使用 渐进披露:默认情况下,模型只能看到技能的 name 和 description。只有当 Cascade 决定调用该技能 (或当你 @mention 它) 时,才会加载完整的 SKILL.md 内容和辅助文件。这样一来,即使定义了很多技能,你的上下文窗口也能保持精简。
有关技能规范的更多信息,请访问 agentskills.io。
- 打开 Cascade 面板
- 点击面板右上角的三个点,打开自定义菜单
- 点击
技能 部分
- 点击
+ 工作区 创建工作区 (项目专属) 技能,或点击 + 全局 创建全局技能
- 为技能命名 (仅限使用小写字母、数字和连字符)
工作区技能 (项目专用) :
- 创建目录:
.windsurf/skills/<skill-name>/
- 添加一个带有 YAML frontmatter 的
SKILL.md 文件
全局技能 (在所有工作区中均可用) :
- 创建目录:
~/.codeium/windsurf/skills/<skill-name>/
- 添加一个带有 YAML frontmatter 的
SKILL.md 文件
每个技能都需要一个 SKILL.md 文件,其中包含 YAML frontmatter,用于定义该技能的元数据:
---
name: deploy-to-production
description: Guides the deployment process to production with safety checks
---
## Pre-deployment Checklist
1. Run all tests
2. Check for uncommitted changes
3. Verify environment variables
## Deployment Steps
Follow these steps to deploy safely...
[Reference supporting files in this directory as needed]
- name:技能的唯一标识符 (显示在 UI 中,并用于 @ 提及)
- description:展示给模型的简要说明,用于帮助其判断何时调用该技能
有效名称示例:deploy-to-staging、code-review、setup-dev-environment
将所有辅助文件放在 skill 文件夹中,与 SKILL.md 放在同一目录下。调用该 skill 时,Cascade 就可以使用这些文件:
.windsurf/skills/deploy-to-production/
├── SKILL.md
├── deployment-checklist.md
├── rollback-procedure.md
└── config-template.yaml
当你的请求与某个技能的描述相匹配时,Cascade 会自动调用该技能,并使用其指示和资源来完成任务。这是技能最常见的使用方式——你只需描述你想做什么,Cascade 就会判断哪些技能适用。
你的技能 frontmatter 中的 description 字段至关重要:它能帮助 Cascade 理解应在何时调用该技能。请编写清晰说明技能作用及其适用时机的描述。
你始终可以在 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 文件,与工作区技能相同。
创建一个包含部署脚本、环境配置和回滚步骤的 skill:
.windsurf/skills/deploy-staging/
├── SKILL.md
├── pre-deploy-checks.sh
├── environment-template.env
└── rollback-steps.md
包括风格指南、安全检查清单和审查模板:
.windsurf/skills/code-review/
├── SKILL.md
├── style-guide.md
├── security-checklist.md
└── review-template.md
将测试模板、覆盖率要求和 CI/CD 配置整合在一起:
.windsurf/skills/run-tests/
├── SKILL.md
├── test-template.py
├── coverage-config.json
└── ci-workflow.yaml
-
编写清晰的描述:描述能帮助 Cascade 判断何时调用该技能。请具体说明该技能的作用,以及适用场景。
-
包含相关资源:模板、检查清单和示例能让技能更实用。想一想哪些文件可以帮助他人完成这项任务。
-
使用描述性名称:
deploy-to-staging 比 deploy1 更好。名称应清楚表明该技能的作用。
这三者都可以自定义 Cascade,但它们在结构、调用方式和上下文成本方面有所不同:
| 技能 | 规则 | 工作流程 |
|---|
| Purpose | 带辅助文件的多步骤流程 | 行为准则 (“应如何行事”) | 用于重复性任务的提示模板 |
| Structure | 包含 SKILL.md 和任意资源文件的文件夹 | 带有 frontmatter 的单个 .md 文件 | 单个 .md 文件 |
| Invocation | 由模型决定 (渐进式披露) 或通过 @mention | always_on / glob / model_decision / manual | 仅可手动通过 /slash-command 调用 |
| In system prompt? | 否——调用前只包含名称和描述 | 取决于激活模式 | 否——会列为可用命令 |
| Best for | 需要脚本/模板的部署、代码审查和测试流程 | 编码风格、项目规范、约束条件 | 需要你显式触发的一次性操作手册 |
**经验法则:**如果 Cascade 应该自动拾取它,并且它需要辅助文件,就使用技能。如果它是简短的行为约束,就使用规则。如果你希望始终由自己手动触发,就使用工作流程。
如果 技能 不是你要找的内容,可以看看 Cascade 的这些其他功能:
- 工作流程 - 通过斜杠命令调用可复用的 Markdown 工作流程,自动化重复性任务
- AGENTS.md - 提供目录作用域的指示,并根据文件位置自动生效
- 记忆与规则 - 通过自动生成的记忆和用户定义的规则,在对话之间持续保留上下文