Cursor 的三板斧:Rules, Commands 与 Agent Skills

Posted on Mon 12 January 2026 in Journal

Abstract Cursor 的三板斧:Rules, Commands 与 Agent Skills
Authors Walter Fan
Category learning note
Status v1.0
Updated 2026-01-12
License CC-BY-NC-ND 4.0

Cursor 的三板斧:Rules, Commands 与 Agent Skills

工具的上限,取决于你怎么"调教"它。


一个让我汗颜的发现

前几天,我看到一个同事用 Cursor 写技术设计文档。

他敲了一行 /design-doc 用户认证服务重构 @JIRA-12345,然后喝了口咖啡。等他放下杯子,一篇结构完整的设计文档已经生成好了——背景、目标、方案对比、架构图描述、API 设计、风险评估,一应俱全。更神奇的是,它还自动从 Jira ticket 里提取了需求背景。

我愣了三秒钟。

我用 Cursor 也快一年了,但我的用法还停留在"Tab 补全"和"Cmd+K 问问题"的阶段。这就像买了一辆特斯拉,结果只用来听收音机。

那天之后,我花了一周时间研究 Cursor 的 Rules、Commands 和最近大热的 Agent Skills。越研究越觉得:这东西的能力边界,远比我想象的大。

今天这篇文章,我想把这些东西掰开揉碎,讲清楚它们是什么、为什么重要、怎么用。


What:这三样东西到底是什么?

1. Cursor Rules:给 AI 立规矩

一句话定义:Rules 是你写给 AI 的"行为准则",告诉它"你是谁、你怎么做事、你有什么偏好"。

它存放在 .cursor/rules/ 目录下,是一个 Markdown 文件(通常带 .mdc 后缀)。

举个例子,我的 core.mdc 里写着:

---
alwaysApply: true
---

# Author Background & Writing Style

## Background (who I am)
- I'm an "old programmer" focused on backend/server development...
- Tech Stack: Java / C++ / Python / Go / JavaScript
- Domain: Telephony, database, networking, WebRTC, collaboration platforms and Web Service governance

## Writing voice (how I write)
- Prefer a "senior columnist / tech blogger" voice
- Tone: humorous but restrained
- Style: conversational Chinese by default

有了这个 Rules,每次我让 Cursor 帮我写东西,它就知道:

  • 我是个老程序员,别跟我整花里胡哨的
  • 我喜欢中文写作,偶尔夹杂英文术语
  • 我的风格是"有料但不装"

Rules 的本质:它是一个持久化的 System Prompt,让 AI 记住"你是谁"。

2. Cursor Commands:给 AI 下任务

一句话定义:Commands 是你预设的"任务模板",用 /command-name 触发,让 AI 按照你定义的流程执行复杂任务。

它存放在 .cursor/commands/ 目录下,也是 Markdown 文件。

比如我的 design-doc.md

# Design Doc Generator

你是一位资深架构师,擅长编写清晰、完整的技术设计文档。

## Usage
- `/design-doc <feature-name>` - 生成设计文档
- `/design-doc <feature-name> @<jira-ticket>` - 从 Jira 提取背景

## Instructions:
1. 如果提供了 Jira ticket,先读取需求背景
2. 按照公司模板生成设计文档:
   - Background & Motivation
   - Goals & Non-Goals
   - High-Level Design
   - Detailed Design (API, Data Model, Sequence Diagram)
   - Alternatives Considered
   - Risks & Mitigations
   - Timeline & Milestones
3. 使用 PlantUML 生成架构图和时序图
4. 输出到 `docs/design/` 目录

当我输入 /design-doc 用户认证服务重构 @JIRA-12345,Cursor 就会:

  1. 通过 MCP 调用 Jira API,读取 JIRA-12345 的需求描述
  2. 按照我定义的模板结构生成设计文档
  3. 自动生成 PlantUML 图表
  4. 创建文件到指定目录

Commands 的本质:它是一个可复用的 Prompt 模板 + 工作流定义。

3. Agent Skills:给 AI 加技能

一句话定义:Agent Skills 是一种轻量级、开放的格式,用于扩展 AI Agent 的能力,为它提供专业知识和工作流。

根据 Agent Skills 官方规范,一个 Skill 本质上就是一个包含 SKILL.md 文件的文件夹:

my-skill/
├── SKILL.md          # 必需:指令 + 元数据
├── scripts/          # 可选:可执行代码
├── references/       # 可选:参考文档
└── assets/           # 可选:模板、资源

SKILL.md 的结构很简单:

---
name: design-doc-generator
description: Generate technical design documents from requirements
---

# Design Doc Generator

## When to use this skill
Use this skill when the user needs to create a technical design document...

## How to generate a design doc
1. Extract requirements from Jira ticket
2. Follow the company template structure
3. Generate PlantUML diagrams
...

Agent Skills 的工作机制(渐进式披露):

  1. 发现(Discovery):启动时,Agent 只加载每个 Skill 的 namedescription,知道它大概能干什么
  2. 激活(Activation):当任务匹配某个 Skill 的描述时,Agent 读取完整的 SKILL.md 指令
  3. 执行(Execution):Agent 按照指令执行,按需加载引用的文件或执行捆绑的代码

这种设计的好处是:保持 Agent 响应速度的同时,让它能按需获取更多上下文


另一个相关概念:MCP(Model Context Protocol)

MCP 是 Anthropic 提出的协议,让 AI 能够调用外部工具:

  • 读取文件系统
  • 执行终端命令
  • 调用外部 API(Jira、GitLab、Confluence 等)
  • 访问数据库
  • 操作浏览器

在 Cursor 里,这些能力通过 MCP Server 提供。你可以把它理解为"AI 的手和脚"。

Skills vs MCP 的关系: - Skills 定义"做什么"和"怎么做"(知识和流程) - MCP 提供"能做什么"(工具和能力)

两者结合,AI 就不只是个"嘴炮",而是真的能帮你干活。


Why:为什么这三样东西这么重要?

1. 从"问答机器"到"个人助理"

没有 Rules、Commands、Agent Skills 的 AI,就像一个刚入职的实习生——聪明,但不了解你,不了解公司,不了解项目。每次你都得从头解释一遍背景。

有了这三样东西,AI 就变成了一个"跟了你三年的助理"——知道你的风格、了解你的项目、熟悉你的工作流。

2. 从"一次性对话"到"可复用工作流"

你有没有过这种经历:

花了 20 分钟跟 ChatGPT 调教出一个完美的 Prompt,生成了一篇很棒的内容。 第二天想再用,发现那个 Prompt 找不到了……

Commands 解决的就是这个问题。把好用的 Prompt 固化成 Command,下次一行 /xxx 就能复用。

3. 从"只会说"到"能做事"

传统的 LLM 只能"生成文本"。你问它"帮我创建一个文件",它只会告诉你"你可以用 touch 命令创建文件"。

有了 Agent Skills 和 MCP: - Skills 告诉 AI "生成设计文档的流程是什么" - MCP 让 AI 能"真的去读 Jira、写文件、调 API"

两者结合,AI 真的可以帮你完成端到端的任务。这是质的飞跃。


How:怎么用好这三样东西?

Step 1:写好你的 Rules

位置.cursor/rules/core.mdc(或其他 .mdc 文件)

关键要素

---
alwaysApply: true  # 是否始终应用
---

# 1. 你是谁
- 你的背景、角色、专业领域

# 2. 你怎么做事
- 你的写作/编码风格
- 你的偏好和禁忌

# 3. 输出规范
- 格式要求
- 语言要求
- 其他约束

我的经验

  • Rules 不要太长,500 行以内
  • 要具体,别写"写得好一点"这种废话
  • 可以分多个文件,按场景组织(比如 coding.mdcwriting.mdc

Step 2:创建你的 Commands

位置.cursor/commands/xxx.md

基本结构

# Command Name

一句话描述这个 Command 干什么

## Usage
- `/command-name` - 基本用法
- `/command-name <arg>` - 带参数用法

## Instructions
1. 第一步做什么
2. 第二步做什么
3. ...

## Example
输入:...
输出:...

我常用的 Commands

Command 用途
/design-doc 生成技术设计文档
/api-spec 生成 API 接口规范
/code-review 代码审查
/explain-code 解释代码逻辑
/test-cases 根据需求生成测试用例
/release-notes 生成发布说明

Step 3:创建你的 Agent Skills

位置:项目根目录下创建 skills/ 文件夹

根据 Agent Skills 规范,每个 Skill 是一个独立的文件夹:

skills/
├── design-doc/
│   ├── SKILL.md              # 必需:指令和元数据
│   ├── templates/            # 设计文档模板
│   │   └── design-template.md
│   └── references/           # 参考资料
│       └── best-practices.md
├── api-spec/
│   ├── SKILL.md
│   └── templates/
│       └── openapi-template.yaml
└── code-review/
    └── SKILL.md

一个 SKILL.md 示例(设计文档生成):

---
name: design-doc-generator
description: Generate technical design documents from Jira requirements, following company standards
---

# Design Doc Generator

## When to use this skill
Use this skill when:
- User needs to create a technical design document
- User mentions "design doc", "TDD", "technical spec"
- User references a Jira ticket for a new feature

## Prerequisites
- Jira MCP configured for reading tickets
- Access to company design doc templates

## How to generate a design doc

### Step 1: Gather requirements
1. Read the Jira ticket using `@JIRA-xxxxx`
2. Extract: summary, description, acceptance criteria, linked epics

### Step 2: Generate document structure
Follow the template in `templates/design-template.md`:
- Background & Motivation
- Goals & Non-Goals
- High-Level Design
- Detailed Design
- Alternatives Considered
- Risks & Mitigations
- Timeline

### Step 3: Create diagrams
Use PlantUML for:
- Architecture diagrams
- Sequence diagrams
- Data flow diagrams

### Step 4: Output
Save to `docs/design/{feature-name}.md`

Step 4:配置 MCP Server

位置:Cursor 设置 → Features → MCP

MCP 提供 Agent Skills 执行时需要的"工具":

  • File System:读写文件
  • Terminal:执行命令
  • Browser:操作浏览器(Playwright)
  • Jira/GitLab:读取项目管理和代码仓库

配置示例(在 Cursor 设置中):

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem"]
    },
    "jira": {
      "command": "node",
      "args": ["path/to/jira-mcp-server.js"]
    },
    "gitlab": {
      "command": "node",
      "args": ["path/to/gitlab-mcp-server.js"]
    }
  }
}

Example:一个完整的工作流示例

假设我要为一个新功能写技术设计文档,我的工作流是这样的:

场景:产品经理在 Jira 上创建了一个 ticket JIRA-12345,要求重构用户认证服务,支持 OAuth 2.0 和 SAML。

1. 触发 Command

/design-doc 用户认证服务重构 @JIRA-12345

2. Cursor 读取 Rules

它知道我是谁、我的团队用什么技术栈、我们的设计文档规范是什么。

比如我的 Rules 里写着:

## 技术栈偏好
- 后端:Java 17 + Spring Boot 3
- 数据库:PostgreSQL
- 缓存:Redis
- 消息队列:Kafka
- 容器化:Kubernetes

## 设计文档规范
- 必须包含:背景、目标、非目标、方案对比、风险评估
- 架构图使用 PlantUML
- API 设计遵循 RESTful 规范
- 必须考虑向后兼容性

3. Cursor 调用 Agent Skills(MCP)

  • Jira MCP:读取 JIRA-12345 的需求描述、验收标准、关联的 Epic
  • GitLab MCP:查看现有认证服务的代码结构和 API
  • File System:读取团队之前的设计文档作为参考

4. Cursor 执行 Command 中定义的流程

  • 分析需求,提取关键点
  • 生成文档结构
  • 撰写各个章节
  • 用 PlantUML 生成架构图和时序图
  • 列出方案对比(OAuth 2.0 vs SAML vs 自研)
  • 评估风险和缓解措施

5. 输出结果

一份完整的设计文档,大概长这样:

# 用户认证服务重构设计文档

## 1. Background & Motivation
当前认证服务基于自研的 Session-based 方案,存在以下问题:
- 不支持 SSO,企业客户接入成本高
- Session 存储在单机内存,无法水平扩展
- 缺乏标准化的 Token 管理机制

## 2. Goals
- 支持 OAuth 2.0 Authorization Code Flow
- 支持 SAML 2.0 SSO
- Token 存储迁移到 Redis,支持水平扩展

## 3. Non-Goals
- 本次不涉及 MFA 改造
- 不改变现有用户数据模型

## 4. High-Level Design
[PlantUML 架构图]

## 5. Detailed Design
### 5.1 API Design
- POST /oauth/authorize
- POST /oauth/token
- GET /oauth/userinfo

### 5.2 Data Model
[Token 存储结构]

### 5.3 Sequence Diagram
[PlantUML 时序图]

## 6. Alternatives Considered
| 方案 | 优点 | 缺点 | 结论 |
|------|------|------|------|
| 自研 OAuth | 灵活 | 开发成本高 | ❌ |
| Spring Security OAuth | 成熟 | 配置复杂 | ✅ |
| Keycloak | 功能全 | 运维成本高 | ❌ |

## 7. Risks & Mitigations
- 风险1:Token 迁移期间服务中断
  - 缓解:采用双写策略,灰度切换

## 8. Timeline
- Week 1-2: 核心 OAuth 实现
- Week 3: SAML 集成
- Week 4: 测试和灰度

6. 后续操作

  • Cursor 自动创建文件 docs/design/auth-service-refactor.md
  • 如果配置了 Confluence MCP,还可以直接同步到 Wiki

整个过程,我只输入了一行命令。以前写这样一份设计文档,至少要花半天时间。


一些实用技巧

1. Rules 的分层策略

.cursor/rules/
├── core.mdc          # 全局规则,始终生效
├── coding.mdc        # 编码相关规则
├── writing.mdc       # 写作相关规则
└── project-xxx.mdc   # 特定项目规则

alwaysApply: true/false 控制是否自动应用。

2. Commands 的命名规范

  • 用动词或名词开头:design-doccode-reviewapi-spec
  • 保持简短:能用一个词就别用两个
  • 语义清晰:看名字就知道干什么

3. 善用 @ 引用

在 Cursor 中,你可以用 @ 引用文件、文件夹、Jira ticket、甚至网页:

/design-doc 支付网关重构 @ZOOM-67890
帮我分析 @https://example.com/api-doc 这个 API 文档,生成对应的客户端 SDK
根据 @docs/design/auth-service.md 生成测试用例

4. 迭代优化你的 Prompt

Commands 里的 Prompt 不是一次写好的。我的建议:

  1. 先写一个"能用"的版本
  2. 用几次,发现问题
  3. 针对问题优化 Prompt
  4. 重复 2-3,直到满意

总结

概念 是什么 解决什么问题
Rules AI 的行为准则(持久化 System Prompt) 让 AI 记住"你是谁"、你的偏好和规范
Commands 预设的任务模板(可复用 Prompt) 让复杂任务一行命令触发
Agent Skills 专业知识和工作流(SKILL.md + 资源) 让 AI 掌握特定领域的"做事方法"
MCP AI 的工具箱(外部能力接口) 让 AI 能调用文件系统、API、数据库等

四者的关系:

Rules(你是谁)+ Commands(做什么)+ Skills(怎么做)+ MCP(用什么工具)
                              ↓
                   可编程的 AI 助手

三者结合,Cursor 就从一个"智能补全工具"变成了一个"可编程的 AI 助手"。


Checklist:你可以现在就做的事

  • [ ] 在 .cursor/rules/ 下创建你的 core.mdc,写下你的背景、技术栈和团队规范
  • [ ] 把你常用的文档模板(设计文档、API 规范、测试用例)整理成 Commands
  • [ ] 配置 Jira/GitLab MCP,让 AI 能读取你的项目上下文
  • [ ] 尝试用 /design-doc 生成一份设计文档,体验一下"一行命令完成复杂任务"的快感
  • [ ] 把生成的文档分享给同事,收集反馈,持续优化你的 Commands

扩展阅读


最后一句

工具的上限,不取决于工具本身,而取决于你怎么"调教"它。

Rules、Commands、Agent Skills,本质上都是在"教 AI 如何帮你干活"。

教得好,它就是你的超级助理。 教得不好,它就只是一个贵一点的自动补全。

所以,别只是"用"Cursor,要学会"调教"它。


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。