最后更新于 2026 年 8 月 12 日,路径、触发和兼容性信息核实自 Cursor、Claude Code 与 Agent Skills 官方文档。
Agent Skills 规范建议在启动阶段只加载每个 Skill 的名称和描述,约 100 tokens 的元数据;真正的 SKILL.md 内容在匹配任务后再加载,脚本、参考资料和模板则按需读取。详见 Agent Skills 官方规范。这直接给出选型结论:需要持续生效的代码规范、架构约束和项目背景,优先放进 Cursor Rules;只在特定任务触发、包含多步骤流程、脚本或参考资源的能力,优先做成 Agent Skills。
如果你正在把 Cursor Rules 迁移到 Agent Skills,或者团队同时使用 Cursor 与 Claude Code,这篇适合你。平台工程师也可以用下面的指标和清单治理项目指令、自动化流程与权限边界。
先按“生效方式”判断,而不是按文件后缀判断
Agent Skills 与 Cursor Rules 都可能使用 Markdown,但它们解决的问题并不相同。真正影响结果的是:什么时候进入上下文、由谁触发、影响哪些文件、能否携带可执行资源。
Cursor 的 Project Rules 位于 .cursor/rules,可以通过 Always、文件匹配、Agent 判断或手动引用等方式应用;项目规则支持版本控制,也可以放在嵌套目录中,使规则靠近对应代码。旧的 .cursorrules 仍可能被支持,但官方文档已将其标记为弃用方向。具体行为应以 Cursor Rules 官方文档 为准。
Agent Skills 则以目录为单位,至少包含一个 SKILL.md。标准结构还允许加入 scripts/、references/ 和 assets/,因此它不只是“一段更长的提示词”。
| 指标 | Cursor Rules | Agent Skills |
|---|---|---|
| 主要职责 | 持续约束项目行为 | 执行特定任务流程 |
| 典型触发 | 始终生效、文件匹配、手动调用或模型请求 | 根据名称与描述自动匹配,也可手动调用 |
| 作用范围 | 用户、项目、嵌套目录和文件类型 | 个人、项目、插件或企业管理范围 |
| 内容形态 | 指令、背景、示例和引用文件 | 指令、脚本、参考资料、模板和资源 |
| 适合内容 | 编码规范、架构边界、目录约束 | 代码审查、迁移、发布、测试修复 |
| 主要风险 | 上下文重复、规则冲突、误匹配 | 自动触发不稳定、脚本权限和资源过期 |
这意味着,长期存在的“必须这样写”通常不应该依赖模型临时判断。相反,涉及“先扫描、再修改、再运行测试、最后生成报告”的任务,也不适合全部塞进一条持续注入的 Rule。
⚠️ 一个简单判断:如果删除这条指令后,任何相关代码编辑都会变得不合规,它更像 Rule;如果只有执行某类任务时才需要它,它更像 Skill。
第一步:用上下文成本区分长期约束与按需流程
Cursor Rules 的 Always 类型会持续进入模型上下文;自动附加规则则在引用匹配文件时生效;手动规则只有在明确调用时才加入。规则同时作用于 Agent 和 Inline Edit,因此它并不是只影响聊天窗口。
这类机制适合放置:
- API 错误返回结构;
- 前端组件目录边界;
- 数据库迁移禁止直接修改生产表;
- 必须运行的测试命令;
- 项目统一的命名和日志规范。
但持续注入也有代价。规则越长、越多,模型每次处理相关任务时都要面对更多背景;如果多个目录规则重复描述同一规范,模型可能收到相互接近但措辞不同的要求,导致行为不稳定。
Agent Skills 采用渐进式加载:先让客户端知道 Skill 的名称和描述,匹配任务后再读取完整指令,需要时再访问资源。官方规范建议把主 SKILL.md 控制在 500 行以内,把详细资料移入 references/,把可重复操作放入 scripts/。
所以你可以把“项目永远遵守的规则”放进 Rules,把“完成一次发布前检查”做成 Skill。前者降低遗漏长期约束的概率,后者避免每次普通编辑都加载发布流程。
第二步:按表达能力拆分内容,不要把流程硬塞进规则
Rules 更适合表达边界和偏好,例如:
所有 API 响应必须包含 requestId。
服务层不得直接访问数据库连接。
修改鉴权逻辑后必须补充集成测试。
这些要求短、稳定、与大量任务相关,放在项目规则中容易被持续应用。
Skills 的优势在于它可以把流程拆成多个阶段,并携带执行所需的材料。例如,一个代码审查 Skill 可以包含:
- 读取变更文件;
- 执行静态检查脚本;
- 对照
references/security.md; - 根据模板生成审查报告;
- 输出阻断项和建议项。
标准文档明确规定,Skill 目录可以包含可执行脚本、参考资料与静态资源;但具体脚本是否能够运行,以及需要哪些权限,仍然由客户端实现决定。
| 内容类型 | 推荐放置 | 不推荐放置 | 原因 |
|---|---|---|---|
| 命名、目录和代码风格 | Cursor Rules | 每个 Skill 各复制一份 | 属于持续约束 |
| 项目架构背景 | 项目 Rules 或专门背景文件 | 每个流程 Skill 重复嵌入 | 避免多份版本漂移 |
| 测试修复流程 | Agent Skill | Always Rule | 只在特定任务需要 |
| 发布前检查脚本 | Agent Skill 的 scripts/ |
纯 Markdown Rule | 需要可执行步骤 |
| 安全审查参考资料 | Skill 的 references/ |
塞进所有 Rules | 避免长期占用上下文 |
| 输出报告模板 | Skill 的 assets/ |
写成模糊要求 | 保证格式稳定 |
长期规范全部放进 Skill,会出现一个隐性问题:模型只有在正确识别并调用 Skill 时才可能看到它。反过来,把完整工作流全部放进 Rules,又会让简单的代码编辑背负不必要的流程指令。
第三步:核对路径和优先级,再决定是否迁移
Cursor 官方文档确认了几类规则范围:用户规则面向个人所有项目,Project Rules 位于项目的 .cursor/rules 并可纳入版本控制;嵌套 .cursor/rules 可服务于单个子目录。规则可以使用文件模式自动附加,也可以手动应用。
Claude Code 的 Skills 则区分个人、项目、插件和企业范围。官方文档列出的典型路径包括 ~/.claude/skills/<skill-name>/SKILL.md、项目内的 .claude/skills/<skill-name>/SKILL.md,以及插件目录中的 skills/<skill-name>/SKILL.md;同名 Skill 还存在层级覆盖关系。相关路径和调用方式可参考 Claude Code Skills 官方文档。
| 维护目标 | Cursor 方案 | Claude Code 方案 | 迁移判断 |
|---|---|---|---|
| 仅个人偏好 | User Rules | ~/.claude/skills/ 或个人配置 |
不要提交进项目仓库 |
| 当前项目约束 | .cursor/rules |
.claude/skills/ |
分别保留客户端原生结构 |
| 单体仓库子目录 | 嵌套 .cursor/rules |
子目录中的 .claude/skills/ |
在最小仓库验证发现范围 |
| 跨项目团队共享 | 规则仓库、复制或软链接 | Plugin 或版本化插件 | 不要假设两边可直接共用 |
| 流程能力包 | 规则加引用文件 | Skill 加脚本和资源 | 优先保留 Skill 的目录结构 |
需要特别注意,Cursor 官方页面目前说明,跨项目共享规则没有内置的一键机制,团队通常需要使用专门仓库、复制或软链接。Claude Code 则提供插件作为跨项目分发方式,插件可以把 Skills、Agents、Hooks 和其他扩展打包,并通过版本控制或项目范围安装。相关机制以 Claude Code 插件官方文档 为准。
因此,迁移时不要只做文件复制。你应该逐项记录:
- 原规则的生效范围;
- 是否始终加载;
- 是否依赖文件匹配;
- 是否需要手动调用;
- 是否引用外部文件;
- 是否执行命令;
- 是否依赖特定客户端能力。
第四步:用兼容性测试确认“能读”不等于“能用”
Agent Skills 规范定义了 SKILL.md 的基本格式:name 和 description 是必需字段,其他字段包括 license、compatibility、metadata 和实验性的 allowed-tools。这部分可以作为跨客户端共享的基础,但不代表所有客户端会实现全部字段。
Claude Agent SDK 的官方说明进一步指出,Skill 元数据可以在启动时被发现,完整内容在触发后加载;同时,SDK 可以通过 skills 选项控制会话中可用的 Skill,但该选项是上下文过滤器,不等同于沙箱。文件仍可能通过其他读取或命令工具被访问。相关边界可参考 Claude Agent SDK 的 Skills 说明。
最容易误判的地方有三个。
第一,目录发现方式不同。Cursor 主要识别自己的规则目录和规则类型;Claude Code 发现的是 Skill 目录与 SKILL.md。即使两个客户端都能读取 Markdown,也不表示它们会按照同一套目录或优先级加载。
第二,触发机制不同。Cursor 的规则可以按 glob 自动附加,或由 Agent 请求;Claude Code 会根据 Skill 描述判断是否调用,也支持通过斜杠命令直接触发。
第三,资源执行能力不同。Skill 中的脚本可能依赖 Shell、Python、网络、Git 或特定工具。规范允许声明环境要求,但实际权限、审批和执行方式仍要看客户端配置,不能把 allowed-tools 当成所有环境都支持的安全边界。
提醒:所谓“完全无损迁移”通常只是把文字内容搬过去。真正需要重新验证的是自动发现、调用时机、脚本权限、引用路径和冲突优先级。
第五步:用混合方案建立唯一事实来源
对同时使用 Cursor 与 Claude Code 的团队,推荐采用“两层结构”。
Rules 层保存长期约束:
- 项目目录结构;
- API 和数据模型边界;
- 代码风格;
- 安全红线;
- 测试门槛;
- 提交信息格式。
Skills 层执行按需流程:
- 新功能代码审查;
- 测试失败定位;
- 依赖升级;
- 数据库迁移检查;
- 发布前验证;
- 文档和变更日志生成。
不要把同一条规范完整写进 .cursor/rules 和 SKILL.md。更稳的方式是把规范作为唯一源文件,再让 Cursor Rule 和 Skill 只引用或概括它;如果两个客户端无法共享原文件,就通过生成脚本同步,而不是人工双写。
混合配置的可勾选检查清单
- [ ] 已把“始终成立”的约束与“特定任务才执行”的流程分开。
- [ ] 每条长期规范只有一个维护源。
- [ ] 每个 Skill 的
description都明确写出适用任务和触发词。 - [ ] 每个
SKILL.md的脚本、模板和参考资料都使用相对路径。 - [ ] 已记录 Cursor Rules、项目 Skills、个人 Skills 的生效范围。
- [ ] 已检查同名规则或 Skill 是否存在覆盖关系。
- [ ] 已限制脚本可访问的目录、命令和网络资源。
- [ ] 已使用正常任务、边界任务和冲突任务做回归测试。
- [ ] 已由代码所有者审查自动生成的规则,而不是直接合并。
- [ ] 已为规范、流程和工具适配层分别指定负责人。
常见迁移问题:哪些内容不能直接互换?
Agent Skills 和 Cursor Rules 的职责边界
Rules 的核心是“在特定上下文中持续提供指导”,Skills 的核心是“让 Agent 在特定任务中获得一套可复用能力”。两者可以同时存在,但不应互相伪装。
项目编码规范的放置位置
如果规范适用于每次相关文件编辑,例如接口命名和错误处理,应放在 Rules。若规范需要扫描代码、读取安全标准并输出结果,则把执行流程放进 Skill,Rules 只保留“必须通过检查”的长期约束。
Cursor Rules 是否能替代 Claude Skills
它可以承接一部分文字指令,但不能自然替代包含脚本、模板、参考资料和多阶段调用的能力包。迁移后仍要重写触发描述和执行说明。
Agent Skills 是否能直接在 Cursor 中使用
目前不能仅凭标准字段就宣称正式支持。你可以把 SKILL.md 作为源材料,再生成 Cursor 能识别的规则文件;但自动加载、脚本执行和资源引用必须单独验证。
Rules 与 Skills 同时存在时如何避免冲突
最有效的方法不是增加优先级说明,而是减少重复:Rules 写“必须遵守什么”,Skills 写“怎样完成一次任务”。如果两者必须提到同一个主题,Rules 只保留约束,Skill 负责步骤、命令和验收标准。
第六步:用五个指标做最终选型
| 你的主要需求 | 首选 | 辅助方案 | 选择理由 |
|---|---|---|---|
| 统一代码风格 | Cursor Rules | Skill 做检查 | 规范需要持续生效 |
| 维护架构背景 | Cursor Rules | Skill 按需读取详细资料 | 背景是项目上下文 |
| 自动代码审查 | Agent Skills | Rules 声明审查门槛 | 审查包含步骤和输出 |
| 测试失败修复 | Agent Skills | Rules 提供测试命令 | 修复流程不是每次都需要 |
| 发布流程 | Agent Skills | Rules 禁止绕过检查 | 流程需要脚本和审批 |
| 多客户端团队协作 | 混合方案 | 生成适配层 | 避免假设完全兼容 |
| 高风险命令执行 | Skill 加权限限制 | Rules 明确禁止项 | 需要审计和人工确认 |
如果你主要使用 Cursor,并且团队问题集中在“模型总是违反项目约定”,先完善 Rules;如果你主要使用 Claude Code,且工作重点是自动化研发流程,先设计 Skills。混合团队则应先定义规范源,再分别生成客户端适配文件。
你还可以把规则和能力包放进代码审查流程:规则变更必须由项目负责人批准,Skill 脚本必须有测试,触发描述变化必须重新验证误触发和漏触发。这样维护成本才不会随着工具数量线性增长。
最后检查:把迁移放进可回滚的最小仓库
不要一开始就在生产级单体仓库中同时改动几十条规则。建议建立一个最小示例仓库,至少准备一个全局规范、一个后端目录规则、一个代码审查 Skill 和一个带脚本的测试 Skill,然后分别验证:
- 只启用 Cursor Rules 时,哪些文件会触发;
- 只启用 Agent Skills 时,哪些任务会自动调用;
- 手动调用 Skill 后,脚本和参考资料能否读取;
- Rules 与 Skills 同时存在时,冲突要求由谁负责;
- 删除或修改配置后,当前会话是否仍保留旧内容;
- 换一个客户端后,哪些字段、路径和资源需要适配。
每次产品更新目录、加载优先级或兼容范围,都应重新执行这组测试。官方文档本身也在持续更新,路径和功能边界不能用社区经验替代正式说明。
如果你是在多人、多工具环境中落地这套方案,单台本地设备往往还会带来环境版本不一致、权限配置分散和复现困难等问题。与其把 Cursor、Claude Code、脚本依赖和项目规则分别维护在每个人电脑上,不如先评估统一远程开发环境,再结合 ZavCloud 的帮助中心 了解连接、权限和环境管理方式;需要临时隔离测试环境时,也可以对比 ZavCloud 的 Mac 云租用方案。
但这不代表所有团队都适合租赁:长期稳定重负载、必须接入本地物理设备,或者已有成熟自建基础设施时,自购设备或自建环境可能更合理。若你只是需要临时算力、跨地区协作、验证混合规则配置,或希望把项目依赖与权限隔离开,租用 ZavCloud 的 Mac 环境通常比在每台开发机上重复配置更省事;真正值得比较的不是单次启动成本,而是环境复现、权限审计和规则迁移失败后的排查时间。
ZavCloud Developer Infrastructure
为 AI 开发工作流准备一台随时可用的远程 Mac
使用 ZavCloud Mac 云租用,无需购置实体设备,即可快速获得适合开发、测试与自动化任务的远程 Mac 环境。
按项目周期和使用需求选择套餐,避免长期闲置硬件,以更灵活的成本支撑团队协作。