Skip to main content

Command Palette

Search for a command to run...

自定义

Agent 技能

Agent Skills 是一项开放标准,用于为 AI 智能体扩展专业能力。技能将特定领域的知识和工作流打包,使智能体能够执行特定任务。

什么是技能?

技能是可移植、纳入版本控制的功能包,用于让智能体学会执行特定领域的任务。技能可以包含脚本、模板和参考资料,智能体可借助工具使用这些内容。

可移植

技能可用于任何支持 Agent 技能 标准的智能体。

纳入版本控制

技能以文件形式存储,可在您的代码仓库中追踪,或通过 GitHub 代码仓库链接安装。

可操作

技能可以包含脚本、模板和参考资料,智能体可借助工具使用这些内容。

渐进式

技能按需加载资源,高效利用上下文。

技能的工作原理

Cursor 启动时,会自动从技能目录中发现技能,并将其提供给 智能体 使用。智能体会看到可用的技能,并根据上下文判断何时适用。

你也可以在 智能体聊天 中输入 /,然后搜索技能名称以手动调用技能。以这种方式调用的技能会附加到一条消息。要让技能在整个会话期间保持启用,请使用 Option+EnterAlt+Enter (Mac) 或 Alt+Enter (Windows) 将其作为自定义模式使用。请参阅自定义模式

Cursor 内置技能

Cursor 提供了一组内置技能,帮助您优化日常工作流。这些技能由 Cursor 管理,与您自行添加的技能一同显示。

技能功能
/automate创建由计划、Slack 消息、GitHub 事件及其他来源触发的 Cursor 自动化。
/autopilot监控 PR,并处理反馈、冲突、失败的检查及后续工作。
/canvas创建在对话旁呈现的交互式 React 工件。
/create-hook创建 Cursor 钩子,并针对智能体生命周期事件更新 hooks.json
/create-rule创建具有适当范围和指令的 Cursor 规则。
/create-skill创建 Agent 技能,包括其结构和 SKILL.md 文件。
/create-subagent创建具有明确角色和委派指令的自定义子智能体。
/cursor-blame调查由 AI 编写的更改及生成这些更改的提示词。
/loop按指定间隔重复运行提示词或技能。
/migrate-to-skills将符合条件的动态规则和斜杠命令转换为 Agent 技能。
/review选择并运行合适的代码评审智能体。
/review-bugbot使用 Bugbot 评审代码,查找可能的缺陷和回归。
/review-security使用安全评审检查代码中的安全漏洞。
/sdk帮助您使用 Cursor SDK 构建应用和集成。
/shell将提供的文本按原样作为 Shell 命令运行。
/split-to-prs将大型更改拆分为较小的 PR。
/statusline配置 Cursor 命令行界面的状态行。
/update-cli-config更新 ~/.cursor/cli-config.json 中的 Cursor 命令行界面设置。
/update-cursor-settings查找并更新相应的 Cursor 或 VS Code 设置。

您可以在智能体聊天中输入 /,然后选择相应名称来运行任何内置技能。当您的请求明确符合其用途时,智能体也可能自动使用某些内置技能。

技能目录

技能会自动从以下位置加载:

位置适用范围
.agents/skills/项目级
.cursor/skills/项目级
~/.agents/skills/本地计算机上的用户级 (全局)
~/.cursor/skills/本地计算机上的用户级 (全局)

为保持兼容性,Cursor 还会从 Claude 和 Codex 目录加载技能:.claude/skills/.codex/skills/~/.claude/skills/~/.codex/skills/

每个技能都应为一个包含 SKILL.md 文件的文件夹:

.agents/└── skills/    └── my-skill/        └── SKILL.md

技能还可以包含用于存放脚本、参考资料和静态资源的可选目录:

.agents/└── skills/    └── deploy-app/        ├── SKILL.md        ├── scripts/        │   ├── deploy.sh        │   └── validate.py        ├── references/        │   └── REFERENCE.md        └── assets/            └── config-template.json

嵌套技能目录

技能目录可以包含子目录,便于按类别、团队或域名对相关技能进行分组。Cursor 会递归遍历技能根目录,并识别找到的所有 SKILL.md

.cursor/└── skills/    ├── shipping/    │   ├── land-it/    │   │   └── SKILL.md    │   └── careful-merge-conflicts/    │       └── SKILL.md    ├── debugging/    │   └── using-datadog-mcp/    │       └── SKILL.md    └── workflow/        └── tdd/            └── SKILL.md

类别文件夹仅用于归类。技能的标识由包含 SKILL.md 的文件夹决定 (如此处的 land-ittdd 等) ,而非其父级类别。

Cursor 还会识别嵌套项目子目录中的技能。代码仓库中任意位置的 .cursor/skills/ (或 .agents/skills/) 文件夹都会被识别,因此在单体仓库中,可以将技能与其适用的 package 放在同一位置:

my-monorepo/├── .cursor/skills/         # 仓库级技能│   └── land-it/SKILL.md└── apps/    └── web/        └── .cursor/skills/  # 应用专属技能            └── deploy-web/SKILL.md

嵌套项目目录中的技能会自动作用于该目录内的文件。在上面的示例中,智能体仅在处理 apps/web/ 下的文件时才会显示 deploy-web;而仓库级 .cursor/skills/ 中的技能则可在任何位置使用。这与 paths frontmatter 字段类似——无需为嵌套技能设置 paths,即可将其限定在所在目录内。

SKILL.md 文件格式

每项技能均通过一个包含 YAML frontmatter 的 SKILL.md 文件定义:

---name: my-skilldescription: 简短说明此技能的功能及使用场景。---# 我的技能为代理提供的详细说明。## 何时使用- 在...情况下使用此技能- 此技能在...方面有帮助## 说明- 为代理提供的逐步指导- 特定领域的约定- 最佳实践和模式- 如果需要向用户澄清需求,请使用“询问问题”工具

Frontmatter 字段

字段必填描述
name技能标识符。只能包含小写字母、数字和连字符。必须与父文件夹名称一致。
description描述该技能的功能及适用时机。智能体据此判断相关性。
paths使用 glob 模式将技能限定于匹配的文件。接受以逗号分隔的 string 或列表。设置后,仅当智能体处理匹配文件时才会显示该技能。
disable-model-invocation设为 true 时,该技能仅会在通过 /skill-name 显式调用时包含。智能体不会根据上下文自动应用该技能。
icon当技能用作自定义模式时,徽章上显示的图标。默认值为闪电图标。
color当技能用作自定义模式时的徽章颜色。可选值为 defaultgreencyanbluepurplemagentaorangeyellowredbrand
metadata用于存储额外元数据的任意键值映射。

将技能限定为仅适用于特定文件

使用 paths 字段将技能限定为仅适用于匹配一个或多个 glob 模式的文件。这样,只有当智能体读取或编辑匹配的文件时,才会启用该技能,避免在处理无关工作时将特定文件的指导加入上下文。

---name: react-component-patternsdescription: Conventions for writing React components in this codebase.paths:  - "**/*.tsx"  - "packages/ui/**/*.ts"---# React component patterns...

您也可以传入一个以逗号分隔的 string:

---name: python-styledescription: Style rules for Python files.paths: "**/*.py, scripts/**/*.py"---

模式遵循标准 glob 语法。若希望某项技能在打开任意文件时均可用,请不要设置 paths

禁用自动调用

默认情况下,智能体判断某项技能相关时,会自动应用该技能。设置 disable-model-invocation: true 可使技能像传统斜杠命令一样,只有在��天中显式输入 /skill-name 时才会被加入上下文。

将技能用作自定义模式

任何包含有效 frontmatter 块的技能都可支持自定义模式,使该技能在整个会话期间始终保留在上下文中。启用的模式会在聊天输入框中显示徽章。可通过可选的 iconcolor frontmatter 字段设置其样式:

---name: tdddescription: Test-driven development playbook for this repo.icon: beakercolor: green---

图标来自 Cursor 的图标集,名称包括 codeterminalbuggit-branchbook-openbeakershieldrocket。无法识别的图标或颜色将使用默认徽章 (闪电图标) 。

在技能中包含脚本

技能可包含 scripts/ 目录,其中存放可由智能体运行的可执行代码。在 SKILL.md 中使用相对于技能根目录的路径引用脚本。

---name: deploy-appdescription: 将应用部署到预发布或生产环境。用于部署代码,或当用户提及部署、发布或环境时。---# 部署应用使用提供的脚本部署应用。## 用法运行部署脚本:`scripts/deploy.sh <environment>`其中,`<environment>` 可以是 `staging` 或 `production`。## 部署前验证在部署之前,运行验证脚本:`python scripts/validate.py`

智能体会读取这些说明,并在调用技能时执行引用的脚本。脚本可使用任何语言编写,如 Bash、Python、JavaScript,或智能体实现支持的其他可执行格式。

可选目录

技能支持以下可选目录:

目录用途
scripts/智能体可运行的可执行代码
references/按需加载的附加文档
assets/模板、图像或数据文件等静态资源

保持主 SKILL.md 简洁,将详细的参考资料移至单独的文件。这样可以更高效地利用上下文,因为智能体会按需逐步加载资源。

查看技能

要查看已发现的技能,请在侧边栏中打开 自定义,然后前往 技能。从插件或您的项目安装的技能会与规则一同显示在 由智能体决定 部分。

从 GitHub 安装技能

你可以从 GitHub 仓库导入技能:

  1. 在侧边栏中打开 自定义
  2. 前往 规则,然后点击 添加规则
  3. 选择 远程规则 (GitHub)
  4. 输入 GitHub 仓库 URL

将规则和命令迁移到技能

Cursor 2.4 内置了 /migrate-to-skills 技能,可帮助您将现有的动态规则和斜杠命令转换为技能。

迁移技能会转换:

  • 动态规则:使用“智能应用”配置的规则,即 alwaysApply: false (或未定义) 且未定义 globs 模式的规则。这些规则会转换为标准技能。
  • 斜杠命令:用户级和工作区级命令都会转换为设置了 disable-model-invocation: true 的技能,以保留其显式调用行为。

迁移方法:

  1. 在智能体聊天中输入 /migrate-to-skills
  2. 智能体将识别符合条件的规则和命令,并将其转换为技能
  3. .cursor/skills/ 中评审生成的技能

了解更多

Agent 技能 是一项开放标准。请访问 agentskills.io 了解详情。

相关内容