Cursor Rules vs Agent Skills:我两者都测试了。以下是它们各自真正有效的时机。

发布: (2026年2月22日 GMT+8 01:02)
6 分钟阅读
原文: Dev.to

抱歉,我需要您提供要翻译的正文内容(除代码块、URL 和源链接之外的文本),才能为您完成简体中文翻译。请把文章的文字粘贴在这里,我会保持原有的格式和 markdown 语法进行翻译。

Short answer

规则没有被弃用。它们的作用不同。以下是我找到的内容。

设置

我创建了两种格式的相同指令,并通过 Cursor 的代理运行它们,以观察每种方式的行为。

作为规则 (.cursor/rules/jsdoc.mdc with alwaysApply: true)

---
description: "JSDoc rules"
alwaysApply: true
---
Always add JSDoc comments to exported functions.

作为技能 (.cursor/skills/jsdoc/SKILL.md)

# JSDoc Skill
Always add JSDoc comments to exported functions.

测试 1 – 每个是否在相关任务上有效?

提示: “创建一个用于格式化日期的实用函数”

  • 规则: 添加了完整的 JSDoc,包含 @param@returns。遵循了指示。
  • 技能: 同样的结果——完整的 JSDoc,遵循了指示。

当任务与指示内容相匹配时,规则和技能都能正常工作。

测试 2 – 每个是否会在不相关的任务上加载?

我为每个设置提供了一个标记指令(// RULE-LOADED// SKILL-LOADED),并让 Cursor 编写一个 Python “Hello, World!” 脚本——与 JSDoc 或 JavaScript 毫无关系。

  • Rule (alwaysApply: true): 标记注释出现在 Python 文件中。即使任务不相关,规则仍被加载。
  • Skill: 没有标记。技能根本没有加载。

核心行为差异: 带有 alwaysApply: true 的规则会被注入到每个提示中,无论是否相关。技能只有在代理判断任务相关时才会加载。

测试 3 – 跨工具发现

Cursor 的文档称它会自动从 .claude/skills/.codex/skills/ 中发现技能,以实现跨工具兼容。我在 .claude/skills/test/SKILL.md 中放置了一个带有标记指令的技能并运行了相关任务。

该技能没有加载。Cursor 没有找到它。这可能是 CLI 与 GUI 的差异,或者仅在 .cursor/skills/ 中有效。无论如何,“把它放在 .claude/skills/,所有工具都会找到它”的说法在我的测试中并未成立。

何时使用哪种

在以下情况下使用规则:

  • 你希望在每个任务上强制执行某些内容(编码风格、命名约定、框架模式)。
  • 即使任务看似无关,你也需要它生效(例如,在重构期间“保留注释”)。
  • 你想要可预测、始终开启的行为。

在以下情况下使用技能:

  • 你有程序化的、多步骤的工作流(例如,“如何部署到预发布环境”)。
  • 你希望指令仅在相关时加载(节省上下文窗口空间)。
  • 你正在构建跨工具可移植的东西(只要跨工具发现可靠)。

迁移问题

Cursor 在文档中提到了 /migrate-to-skills 命令。我无法通过 CLI 测试它(它似乎只能在 GUI 中使用)。v2.4 更新日志将 skills 定位为规则的补充:“与始终开启的声明式规则相比,skills 更适合动态上下文发现和过程性操作指令。”

这种表述与我的测试结果相符。规则和 skills 并不竞争;它们处理不同的使用场景。

对你的 .cursor/rules/ 文件的意义

  • 如果你有带有 alwaysApply: true.mdc 规则,用于代码风格、错误处理模式或框架约定,请继续使用它们。它们可靠、有效,并且每次都会加载。
  • 如果你在构建多步骤工作流或部署流程,skill 更合适。它们只在需要时加载,保持上下文窗口的整洁。

不要因为有人说规则已废弃就把所有内容迁移到 skill。事实并非如此。

链接

0 浏览
Back to Blog

相关文章

阅读更多 »

测试,是鸡蛋还是鸡?

测试的封面图片:是先有鸡还是先有蛋? https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2F...