技能
技能是一组可复用的指令,用于教会 Agent 如何处理特定任务。它们比规则更详细,专为多步骤工作流而设计。
什么是技能?
技能是一些 Markdown 文件,用于教会 Agent 专门的工作流。例如,将应用部署到预发布环境,或对你的依赖项执行安全审计。它们可在不同对话间复用,也可在团队内共享。
如何创建技能?
在聊天中输入 /create-skill,然后描述你想要的技能。Cherri Code 内置了一个技能,会引导你完成新技能的命名、组织结构和保存。
如需手动创建,请在 .cursor/skills/your-skill-name/ 中添加一个 SKILL.md 文件:
# Deploy to staging1. Run the test suite2. Build the production bundle3. Deploy to the staging environment4. Verify the deployment health check你还可以将技能组织到子文件夹中,例如 .cursor/skills/shipping/deploy-staging/SKILL.md。Cherri Code 会递归遍历技能根目录,因此分类文件夹可用于归组相关技能。技能的名称来自包含 SKILL.md 的文件夹,而不是它上一级的分类文件夹。
技能会自动从 .agents/skills/、.cursor/skills/、~/.agents/skills/ (本地机器上全局) 和 ~/.cursor/skills/ (本地机器上全局) 中加载,包括 monorepo 中诸如 apps/web/.cursor/skills/ 这样的嵌套项目子目录。嵌套项目目录中的技能会自动限定到该目录内的文件。例如,apps/web/.cursor/skills/ 下的技能仅会在智能体处理 apps/web/ 中的文件时显示,这与 paths frontmatter 字段 类似。为确保兼容性,Cherri Code 还会从 Claude 和 Codex 目录中加载技能:.claude/skills/、.codex/skills/、~/.claude/skills/ 和 ~/.codex/skills/。
如何在 Cloud agents 中使用个人技能?
~/.cursor/skills/ 中的个人技能在同步之前只保留在本地机器上。打开 Settings → agents,在 Context and Tools 下开启 Sync Skills for Cloud Agents。同步后的技能仍然仅你自己可见。
只有 ~/.cursor/skills/ 会同步。若要与团队成员共享技能,请将其发布到团队插件市场。
在 Teams 和 Enterprise 版本中,管理员可在 Team Settings 的 Security & Identity 下为所有人关闭同步。参见在 Cloud agents 中使用个人技能。
如何将技能发布给团队?
打开 Customize → Skills,打开某个个人技能,然后选择 Publish。Cherri Code 会将它添加到团队的默认插件市场,团队成员即可从中安装。参见将技能发布给你的团队。
Cloud agents 和远程 worker 是否支持用户级技能?
你可以同步 ~/.cursor/skills/,让 Cloud agents 能够使用这些技能。~/.agents/skills/ 以及未同步的本地技能会保留在你的机器上,不会复制到 Cloud agents、代理窗口的远程 SSH 环境或自托管 workers。在自托管 workers 上,请使用仓库中的项目技能,或将技能预置到 worker 镜像中。
如何将技能限定为仅作用于特定文件?
在该技能的 frontmatter 中添加 paths 字段。只有当智能体处理的文件与以下路径匹配时,该技能才会生效:
---name: react-component-patternsdescription: Conventions for writing React components.paths: - "**/*.tsx"---# React component patterns...paths 接受列表或由以逗号分隔的 glob 模式组成的字符串。若某项技能无论打开了哪些文件都应可用,则不要设置此项。完整的 frontmatter schema 请参阅 技能参考。
如何使用技能?
在聊天中输入 / 加上技能名称即可运行 (例如 /write-tests) ;或者输入 @ 并选中该技能,将其作为上下文附加。Agent 会读取技能文件并按其中的说明执行。
什么时候应该使用技能而不是规则?
| 规则 | 技能 | |
|---|---|---|
| 用途 | 简短的编码规范和约束 | 多步骤工作流和操作流程 |
| 长度 | 几行到几百行 | 通常更长,包含详细的分步说明 |
| 应用方式 | 作为上下文包含在每次 (或匹配的) 对话中 | 按需通过 /skill-name 或 @skill-name 调用 |
| 示例 | “所有新文件都使用 TypeScript” | “部署到预发布环境:运行测试、构建、部署、验证” |
当简短指令就足够时,使用规则;当 Agent 需要遵循详细且可重复的流程时,使用技能。
如何将规则转换为技能?
- 在聊天中输入
/create-skill,并让 Agent 将你的规则转换为新技能 (例如:“将@my-rule转换为技能”) - 检查生成的技能文件
- 如果不再需要原始规则文件,请将其删除
如何将命令迁移为技能?
在 Agent 聊天中输入 /migrate-to-skills。这个内置技能 (Cherri Code 2.4+ 可用) 会识别符合条件的规则和命令,并自动将它们转换为技能。
它会转换:
- 动态规则:
alwaysApply: false(或未定义) 且没有globs模式的规则。 - 斜杠命令:包括用户级和工作区级命令,并保留其显式调用行为。
带有 alwaysApply: true 或特定 globs 模式的规则不会被迁移,因为它们有明确的触发条件,与技能的行为不同。用户规则也不会被迁移,因为它们不存储在文件系统中。