跳到主要内容

全局 Skill + 项目 Skill + 自定义 Skill + MCP:用 Cursor 把开发做成流水线

实践项目:laby-boot(Ruoyi-Pro / CRM + BPM)
工具链:Cursor Agent + Superpowers + MCP
2026-05-31


写在前面

很多人用 AI 写代码,体验像开盲盒:同一句「帮我加个审批」,有时产出结构清晰、有时直接改飞、有时 SQL 中文变 ???、有时没跑测试就说「已完成」。

问题不在模型笨,而在 缺少一套稳定的工程约束

我们在 Cursor 里搭了一套组合:全局 Skill 定规矩、项目 Skill 贴地图、自定义 Skill 补细节、MCP 接工具。Agent 不再「想到哪改到哪」,而是按流水线干活——设计先行、测试先行、验证有证据、规范可复用。

这篇文章讲清楚:四层分别是什么、怎么配合、一条需求如何走完全程、以及「全自动化」真实边界在哪


一、先建立一个直觉:Agent 需要「操作系统」

可以把 Cursor Agent 想成新来的高级工程师:

  • 技术不差,但 不了解你们组的流程
  • 写代码快,但 容易跳过设计、跳过测试
  • 能调终端,但 不知道 Windows 下 SQL 会乱码

只给一句 Prompt,等于只说一句「帮我做 CRM」。
给 Skill + Rules + MCP,等于再给他:员工手册、项目 Wiki、工牌权限、测试账号、浏览器和数据库钥匙

所以我们不做「更长的 Prompt」,而是做 分层能力栈

1你(决策)
2
3Superpowers 流程(怎么开发)
4
5Ruoyi-Pro 规范(怎么写代码)
6
7项目 Rules(本仓库必须遵守)
8
9MCP / Shell(怎么验证)
10
11可交付产物(spec / plan / 代码 / E2E 报告)

二、四层能力栈,各管什么

1. 全局 Skill —— 跨项目的「宪法」

位置:~/.cursor/skills/

特点:换仓库也生效,不写具体业务模块名。

我们目前配了 3 个:

Skill管什么
superpowers-driven-development流程:先设计、先 TDD、先验证,禁止裸写代码
ruoyi-pro-coding-standards代码:分层、字典四件套、P3C、ErrorCode
sql-encoding-safe数据:utf8mb4、UNHEX 兜底、HEX 验中文

全局 Skill 回答的是:不管做 CRM 还是 ERP,开发方式和代码底线是什么。


2. 项目 Skill + Cursor Rules —— 本仓库的「地图 + 门禁」

位置:

  • 项目 Skill:.cursor/skills/
  • 自动规则:.cursor/rules/*.mdc

区别

  • Skill 给 Agent 读的长说明(流程、示例、指针)
  • Rules 每次对话自动注入的短约束(硬门禁)

本仓库 Rules 已开 3 条(alwaysApply: true):

  1. superpowers-driven-development.mdc — 必须走 Superpowers 流程
  2. ruoyi-pro-coding-standards.mdc — 必须遵守 Ruoyi-Pro 规范
  3. sql-encoding-safe.mdc — 含中文 SQL 必须防乱码

项目 Skill 还存 Superpowers 14 条的本地镜像,以及本仓库速查(包名 com.laby.boot.module.*、SQL 在 sql/、E2E 在 scripts/ 等)。

一句话:全局 Skill 是通用法;项目层告诉 Agent「在这个 repo 里,文件在哪、惯例是什么」。


3. 自定义 Skill —— 团队的「补丁包」

仍在 .cursor/skills/,但性质是 团队自己写的,不是 Superpowers 官方、也不是跨项目通用规范。

例如 laby-boot 里:

  • java-layered-architecture-standards.md — 极细的 Java 分层与 import 清理流程
  • document-formatting-styles.md — 文档排版风格

用法原则:

  • 全局 Skill 要少而稳(3~5 个足够)
  • 自定义 Skill 解决具体痛点(架构、Review 标准、模块专有流程)
  • 三层不重复粘贴同一段话 — 项目层只写「本仓库差异」

4. MCP —— Agent 的「手」和「眼」

Skill 告诉 Agent 该不该验证、该怎么思考;MCP 和 Shell 告诉它 怎么动手

能力用途
Shell / Dockermvn、执行 E2E、MySQL HEX() 验中文、Redis FLUSHALL
cursor-ide-browser打开管理后台、走审批页、截图留证
cursor-app-control打开 spec/plan、切终端、开 worktree
Postman MCPAPI 集合回归(可选)

没有 MCP,Agent 只能「猜」服务起没起、页面对不对。
有了 MCP,verification-before-completion 才真正落地——说「完成」之前,得拿日志和截图。


三、Superpowers:14 个 Skill 串成一条流水线

Superpowers 是 Cursor 插件(obra/superpowers),提供 14 个流程 Skill
我们再用全局 superpowers-driven-development 强制每次开发都走这套流程

不必背 14 个名字,记住 一条故事线 即可:

11. brainstorming → 先聊清楚、出设计,你点头之前不写代码
22. writing-plans → 设计拆成任务清单(plan)
33. test-driven-development → 先写失败测试,再写实现
44. subagent-driven-development → 大计划拆给子 Agent 做(可选)
55. systematic-debugging → 出 Bug 先查根因,别乱改
66. verification-before-completion → 跑通 E2E/编译,有输出才能说「完」
77. finishing-a-development-branch → 合并 / PR / 清理分支

其余 7 个是辅助:using-superpowers(总控)、using-git-worktrees(隔离开发)、requesting/receiving-code-review(审查)、dispatching-parallel-agents(并行)、writing-skills(写 skill 本身)、executing-plans(无子 Agent 时手动执行 plan)。

Rigid 技能(TDD、调试、验证)不能打折;用户明确说「这次跳过 TDD」才可以例外。


四、走一遍真实需求:CRM 审批闭环

下面不是虚构流程,就是 laby-boot 里 CRM BPM 闭环的走法。

你只说目标

商机、立项、台账阶段都要 BPM;财务要进审批链;要能 E2E 验证。

Agent 的第一件事不是改代码

brainstorming 产出 spec:
docs/superpowers/specs/2026-05-31-crm-bpm-closed-loop-design.md

里面定死:统一 audit_status、Listener 回调、门禁规则、BPMN 设计器类型、财务角色权限。
你评审通过,才进入实施。

第二件事:拆 plan

writing-plans 产出:
docs/superpowers/plans/2026-05-31-crm-bpm-parallel-spaces.md

按 Space 拆:SQL 基础设施、商机阶段、合同立项、台账完成、前端、E2E——可并行、可验收。

第三件事:TDD + 规范叠加实现

每个 Space:

  1. 先动 E2E 或测试断言(例如 auditStatus=20
  2. 再写 Java / SQL / BPMN
  3. 同时遵守 ruoyi-pro-coding-standards(分层、字典、ErrorCode)
  4. 中文 SQL 走 sql-encoding-safe(UNHEX + --default-character-set=utf8mb4

第四件事:MCP + Shell 拿证据

powershell
1docker exec qian-redis redis-cli FLUSHALL
2python scripts/e2e_crm_bpm_test.py
3python scripts/e2e_crm_bpm_full_loop.py

改角色菜单后必须刷 Redis,否则 @PreAuthorize 仍 403——这是项目踩过的坑,适合写进项目 Skill,而不是每次靠人提醒。

第五件事:才允许说「完成」

verification-before-completion
e2e_crm_bpm_test.py → 16 PASS;e2e_crm_bpm_full_loop.py → 18 PASS,0 FAIL。
有数字,才算闭环。

第六件事:你决定怎么合入

finishing-a-development-branch:合并、开 PR 或继续迭代——commit 由你下令,Agent 不擅自 push。


五、目录怎么摆(Cursor 标准布局)

1~/.cursor/skills/ # 全局:跨项目
2├── superpowers-driven-development/
3├── ruoyi-pro-coding-standards/
4└── sql-encoding-safe/
5
6laby-boot/
7├── .cursor/
8│ ├── rules/ # 自动注入(门禁)
9│ │ ├── superpowers-driven-development.mdc
10│ │ ├── ruoyi-pro-coding-standards.mdc
11│ │ └── sql-encoding-safe.mdc
12│ └── skills/ # 项目:镜像 + 速查 + 自定义
13│ ├── README.md
14│ ├── brainstorming.md # Superpowers 14 条镜像
15│ ├── ruoyi-pro-coding-standards.md
16│ └── java-layered-architecture-standards.md
17├── docs/superpowers/
18│ ├── specs/ # 设计
19│ └── plans/ # 计划
20├── sql/ # 可重复执行脚本
21└── scripts/e2e_*.py # 全链路验证

插件原版 Superpowers 还在:

~/.cursor/plugins/cache/cursor-public/superpowers/*/skills/*/SKILL.md

项目 .cursor/skills/ 里的镜像,是为了 离线可读、检索方便;以插件版为准。


六、「全自动化」到底自动化了什么

诚实讲:这是 高度自动化的人机协作,不是无人值守。

Agent + Skill + MCP 负责仍然需要你
出 spec / plan、写代码/SQL、跑 E2E定优先级、拍板业务规则
强制 TDD、强制验证批准设计、决定例外
规范检查、乱码修复套路生产发布、密钥与账号
浏览器/终端验证产品细节与 UX 审美

自动化的目标:

  1. 重复劳动机器做(规范、回归、乱码、权限缓存)
  2. 人只做决策(做不做、何时合、是否跳过流程)
  3. 每次交付可审计(spec + plan + 测试输出)

七、新需求怎么接(复制即用)

markdown
1## 需求
2- 目标:
3- 验收标准:
4- 是否涉及:SQL / BPM / 权限 / 前端
5
6## Agent 应自动执行
71. brainstorming → spec(等我批准)
82. writing-plans → plan
93. TDD 实现 + ruoyi-pro-coding-standards
104. 含中文 SQL → sql-encoding-safe
115. verification → E2E / 编译 / HEX()
126. finishing → 等我指令再 commit/PR

把这段贴进 Issue 或对话开头,Agent 就知道该走哪条流水线。


八、常见误区

误区 1:Skill 越多越好
Skill 太多会互相打架。全局 3 个 + 项目若干指针 + 团队补丁,足够。

误区 2:有 Rules 就不用 Skill
Rules 短、适合门禁;Skill 长、适合流程和示例。两者配合。

误区 3:Agent 说「应该没问题」就算完
没有命令输出、没有 E2E PASS,就是没完成——这正是 verification-before-completion 存在的原因。

误区 4:只配 Prompt,不配 MCP
不调终端、不跑脚本,自动化停在纸面上。

误区 5:项目 Skill 写满规范全文
规范放全局;项目只写 路径、账号、踩坑(例如 Redis FLUSHALL)。


结语

Cursor 里的「开发全自动化」,本质不是让 AI 替人写代码,而是:

用全局 Skill 统一方法论,用项目 Skill/Rules 钉住仓库惯例,用自定义 Skill 补团队细节,用 MCP 把验证做实。

Superpowers 保证 先设计、先测试、先证据;Ruoyi-Pro 规范保证 代码能维护;SQL 防乱码保证 数据能读;E2E 保证 链路真通

当你下次只说一句「做个审批闭环」,Agent 应自动展开成:spec → plan → TDD → 规范实现 → E2E 报告 → 等你合入——这才叫 工程化的 AI 开发,而不是聊天式改代码。


延伸阅读:本仓库 CRM BPM 设计 docs/superpowers/specs/2026-05-31-crm-bpm-closed-loop-design.md;项目 Skill 索引 .cursor/skills/README.md

forum

评论区 / Comments