用 AI Skill 封装你的工作流:从代码规范到全流程提效实战

通过 Skill 文件把重复的开发规范、工作流程封装成 AI 可自动加载的 SOP,解决”每次对话都要重新说一遍规则”的问题

基本信息

核心观点

  1. 问题本质:人肉提示词工程

    • 用户在用自然语言手动维护一套”规范系统”,每次对话都要重新加载
    • 效率低(重复注入)、不一致(每次说法可能不同)、有遗漏(忘记某些规则)、不可复用(换项目从头来)
  2. Skill 是给 AI 写的 SOP

    • Skill 文件(SKILL.md)= 标准作业流程文档,AI 工具会在合适时机自动加载
    • 类比:SOUL.md(身份认知)、SKILL.md(技能包)、AGENTS.md(项目规则)、MEMORY.md(历史记忆)
  3. 按需加载机制

    • 全局 Skill(~/.cursor/skills/):所有项目共用,适合通用规范
    • 项目级 Skill(项目/.cursor/skills/):仅当前项目生效,适合项目特定规范
    • AI 根据任务内容自动匹配相关 Skill,不相关的不加载(节省 token)
  4. Skill 适用范围远超代码

    • 开发类:代码规范、Code Review 清单、API 设计、数据库设计、Git 工作流
    • 非开发类:周报模板、需求评审流程、竞品分析框架、商业计划书结构、面试评估模板
    • 个人效率类:每日计划制定流程、读书笔记模板、知识卡片生成规范
  5. 5 个编写黄金法则

    • 法则 1:一个 Skill 只做一件事(按需加载,避免 token 浪费)
    • 法则 2:写”规则”而不是”教程”(AI 已知概念,只需告知怎么做)
    • 法则 3:用示例代替描述(getUserById ✓ / getData ✗ 胜过千言万语)
    • 法则 4:明确”禁止事项”(AI 擅长遵守”禁止”规则)
    • 法则 5:控制篇幅(理想 200-500 行,200 行≈600-800 tokens)
  6. 实战效果对比数据

    • 新会话启动时间:从前 5 分钟描述规范 → 即刻开始写代码
    • 代码一致性:从每次风格不同 → 严格统一
    • Review 通过率:从约 60% → 约 90%+
    • 重复提示次数:从每会话 3-5 次 → 0 次

实操内容保留

Skill 文件基本结构模板

# Java Spring Boot 开发规范 Skill
 
## 触发条件
当开发 Java Spring Boot 项目时自动加载。
 
## 技术栈
- Java 17+
- Spring Boot 3.x
- MyBatis-Plus
- Maven
 
## 代码规范
### 命名规范
- 类名:大驼峰(UserService)
- 方法名:小驼峰(getUserById)
- 常量:全大写下划线(MAX_RETRY_COUNT)
- 包名:全小写(com.example.user)
 
### 分层结构
controller/ → 只做参数校验和返回值封装
service/    → 业务逻辑
mapper/     → 数据访问
dto/        → 数据传输对象
vo/         → 视图对象
 
### 必须遵守
- 所有 API 返回统一 Result<T> 包装
- 异常使用全局异常处理器
- 禁止在 Controller 中写业务逻辑
- 所有查询必须分页

目录结构示例

你的项目/
├── .cursor/
│   └── skills/           ← Cursor 的 Skill 目录
│       ├── java-spring/
│       │   └── SKILL.md
│       ├── react-ts/
│       │   └── SKILL.md
│       └── code-review/
│           └── SKILL.md
│
├── AGENTS.md              ← 项目级规则
└── src/
    └── ...

Code Review 检查清单(P0-P3 优先级)

## 审查维度(按优先级)
 
### P0 — 安全性
- [ ] SQL 注入风险
- [ ] XSS 风险
- [ ] 敏感信息硬编码(密码、密钥、Token)
- [ ] 权限校验是否完整
- [ ] 输入参数是否校验
 
### P1 — 正确性
- [ ] 空值处理(null/undefined/空数组/空字符串)
- [ ] 边界条件(空集合、负数、超大数)
- [ ] 并发安全(竞态条件、死锁风险)
- [ ] 错误处理(异常是否被正确捕获和处理)
- [ ] 资源释放(连接、流、锁)
 
### P2 — 性能
- [ ] N+1 查询问题
- [ ] 不必要的重复计算
- [ ] 大集合操作(是否应该分页/流式处理)
- [ ] React 不必要的重渲染
- [ ] 接口响应体是否过大
 
### P3 — 可维护性
- [ ] 命名是否清晰(读代码能懂意图)
- [ ] 函数是否过长(>50 行考虑拆分)
- [ ] 重复代码(DRY 原则)
- [ ] 注释:只注释"为什么",不注释"做了什么"
- [ ] 类型定义是否完整

React + TypeScript 规范示例

### 组件规范
- 使用函数式组件 + Hooks,禁止 Class 组件
- 组件文件名:PascalCase(UserProfile.tsx)
- 每个组件一个文件,不超过 200 行
- Props 必须定义 interface,不用 any
- 导出方式:named export(不用 default export)
 
### 状态管理
- 简单状态:useState
- 复杂状态:useReducer
- 全局状态:Zustand(不用 Redux)
- 服务端状态:TanStack Query
 
### TypeScript 规范
- 严格模式(strict: true)
- 禁止 any,用 unknown 替代
- 接口用 interface,类型别名用 type
- 枚举用 const enum 或 as const

Git Commit Message 规范

## 格式
<type>(<scope>): <subject>
 
## Type 类型
- feat: 新功能
- fix: 修复 bug
- docs: 文档变更
- style: 代码格式(不影响逻辑)
- refactor: 重构
- perf: 性能优化
- test: 测试相关
- chore: 构建/工具变更
 
## 示例
feat(user): 新增用户注册接口
fix(order): 修复订单金额计算精度丢失
refactor(auth): 重构登录逻辑,抽取 TokenService

RESTful API 设计规范

## URL 规范
- 使用名词复数:/api/v1/users(不是 /getUser)
- 层级关系:/api/v1/users/{id}/orders
- 版本号在 URL 中:/api/v1/
 
## HTTP 方法
- GET:查询(幂等)
- POST:创建
- PUT:全量更新
- PATCH:部分更新
- DELETE:删除
 
## 状态码
- 200:成功
- 201:创建成功
- 400:请求参数错误
- 401:未认证
- 403:无权限
- 404:资源不存在
- 500:服务器错误
 
## 分页格式
{
  "data": [],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "total": 100,
    "totalPages": 5
  }
}

需求分析 Skill 框架

### 第一步:需求澄清
- 用户是谁?
- 核心痛点是什么?
- 现有解决方案是什么?为什么不够好?
- 最小可行产品(MVP)包含哪些功能?
 
### 第二步:可行性评估
- 技术可行性:现有技术能否实现?
- 市场可行性:有多少潜在用户?
- 商业可行性:如何赚钱?客单价?
- 时间可行性:MVP 需要多久?
 
### 第三步:优先级排序(MoSCoW 方法)
- Must have:没有就不能上线
- Should have:重要但可延后
- Could have:锦上添花
- Won't have:明确不做

从 0 到 1 搭建 Skill 体系(4 步法)

Step 1:回顾最近 10 次 AI 对话

  • 找出重复说过的指令:“用 TypeScript,不要用 JavaScript”、“返回格式用 Result 包装”、“不要给我写注释”

Step 2:按场景分类

  • 语言/框架规范类
  • 流程规范类(Code Review、Git、API)
  • 输出格式类(文档、报告)

Step 3:写第一个 Skill

  • 从最常用场景开始,参考模板,写 200-300 行 Skill 文件

Step 4:测试和迭代

  • 开新会话,验证 AI 是否遵守规则
  • 发现遗漏 → 补充规则
  • 发现冗余 → 删除
  • 每 2 周 review 一次

原文精彩摘录

你在 用自然语言手动维护一套”规范系统” ,每次对话都要重新加载一遍。这个问题的本质是:你的工作流程 / 规范 / 偏好 → 每次对话都用自然语言重复一遍 → AI 执行(这次记住了)→ 新会话 → 全忘了 → 再说一遍。

当 AI 加载了这个 Skill,它就像一个”入职培训过的新员工”——知道你的规范,不需要你每次都说。

AI 特别擅长遵守”禁止”规则。与其说”最好不要”,不如说”禁止”:模糊:尽量不要使用 any 类型。明确:禁止使用 any。如果类型不确定,使用 unknown + 类型守卫。

核心判断标准:你是否在 AI 对话中重复说过 3 次以上的相同指令?如果是 → 封装成 Skill。

把 Skill 体系搭建好,你的 AI 开发工具就从”每次都要调教的实习生”变成了”熟悉你所有规范的老同事”。

关键概念

相关页面