请提供需要优化的【原始标题】,我将根据您的需求生成一个符合SEO规范的优化标题。

2026-06-05阅读 0热度 0
skill

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

前言:你正在充当AI的“人肉提示词引擎”

在使用AI开发工具(OpenClaw / Cursor / Windsurf 等)一段时间后,多数人会陷入以下循环:

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

  • 启动新项目时,仍需口头交代“我用 React + TypeScript + Tailwind”
  • 编写代码时,必须重复强调“遵循 ESLint 规则,禁用 var”
  • 进行代码审查时,常提醒“检查空值处理、错误边界、类型安全”
  • 撰写文档时,需要指定“使用中文、Markdown 格式、标题不超过三级”

你正在用自然语言手动维护一套“规范系统”,每次对话都需重新加载这些指令。

这一问题的本质是什么?

┌───────────────────────────────────────────────────────────┐
│ 你的行为模式                                              │
│                                                           │
│ 你的工作流程 / 规范 / 偏好                                 │
│     ↓                                                     │
│ 每次对话都用自然语言重复叙述                               │
│     ↓                                                     │
│ AI 执行(本次能够记住)                                    │
│     ↓                                                     │
│ 新会话 → 遗忘殆尽 → 重新交代                              │
│                                                           │
│ 痛点:                                                    │
│   ├── 效率低下:每次都在执行“人肉提示词注入”                │
│   ├── 一致性差:每次表述可能存在偏差                       │
│   ├── 覆盖不完整:容易遗漏部分规则                         │
│   └── 复用困难:换项目需从头适配                           │
│                                                           │
│ 解决方案:将工作流封装为 Skill 文件                        │
│   ├── 一次编写,长期生效                                  │
│   ├── 跨项目复用                                          │
│   ├── 版本化管理(通过 Git 追踪变更)                     │
│   └── 按需加载,节省 Token 开销                           │
└───────────────────────────────────────────────────────────┘

一、什么是 Skill?30 秒快速理解

Skill 是一个 Markdown 文件(通常命名为 SKILL.md),存放于指定目录下,AI 工具会在适当时机自动载入。本质上是为 AI 编写的标准作业流程(SOP)。

人类世界                          AI 世界
────────────────────────────────────────────────
员工手册         ←对应→  SOUL.md(身份认知)
岗位SOP          ←对应→  SKILL.md(技能包)
项目规范文档     ←对应→  AGENTS.md(项目规则)
经验教训库       ←对应→  MEMORY.md(历史记忆)

Skill 文件的基本结构

# Ja va Spring Boot 开发规范 Skill

## 触发条件
当开发 Ja va Spring Boot 项目时自动加载。

## 技术栈
- Ja va 17+
- Spring Boot 3.x
- MyBatis-Plus
- Ma ven

## 代码规范
### 命名规范
- 类名:大驼峰(UserService)
- 方法名:小驼峰(getUserById)
- 常量:全大写下划线(MAX_RETRY_COUNT)
- 包名:全小写(com.example.user)

### 分层结构
controller/ → 只做参数校验和返回值封装
service/    → 业务逻辑
mapper/     → 数据访问
dto/        → 数据传输对象
vo/         → 视图对象

### 必须遵守
- 所有 API 返回统一 Result 包装
- 异常使用全局异常处理器
- 禁止在 Controller 中写业务逻辑
- 所有查询必须分页

一旦 AI 加载此 Skill,它便如同通过入职培训的工程师,明确你的规范,无需每次重复说明。

二、Skill 的存放位置与加载机制

2.1 目录结构

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

2.2 加载逻辑

Skill 采用“按需加载”策略,并非全部加载:

全局 Skill(~/.cursor/skills/ 或 ~/.openclaw/skills/):
├── 所有项目均会检查
├── 适合放置通用规范(代码风格、Git 提交规范)
└── 注意控制篇幅,因每次会话均会加载

项目级 Skill(项目/.cursor/skills/):
├── 仅在当前项目生效
├── 适合放置项目特有规范(API 设计、数据库规范)
└── 更具针对性,避免影响其他项目

触发匹配机制:
├── AI 根据当前任务内容自动匹配相关 Skill
├── 例如编写 Ja va 代码时触发 ja va-spring Skill
├── 进行 Code Review 时触发 code-review Skill
└── 不相关的 Skill 不会被加载 → 有效节省 Token

三、实战:提供 6 个可直接套用的 Skill 模板

3.1 Ja va Spring Boot 规范

# Ja va Spring Boot 开发规范

## 适用场景
Ja va 后端项目,采用 Spring Boot 框架。

## 核心规则
### 分层架构
- Controller:参数校验 + 调用 Service + 返回 VO
- Service:业务逻辑,注入 Mapper,事务在此层处理
- Mapper:继承 BaseMapper,复杂 SQL 使用 XML 文件
- DTO:接收前端参数,通过 @Valid 进行校验
- VO:定义返回给前端的数据结构

### 统一返回格式
所有 API 返回 Result 结构:
{"code": 200, "message": "success", "data": {}}

### 异常处理
- 业务异常使用自定义 BusinessException 类
- 全局异常由 @RestControllerAdvice 统一捕获
- 严禁在代码中吞没异常(禁止 catch 空块)

### 数据库规范
- 表名采用小写下划线格式:user_order
- 每张表必须包含 id, create_time, update_time 字段
- 逻辑删除字段:is_deleted
- 禁止使用 SELECT *

### 禁止事项
- 禁止在 Controller 层编写业务逻辑
- 禁止硬编码魔法数值
- 禁止直接拼接 SQL(防范注入风险)
- 禁止使用 System.out.println(应使用日志框架)

3.2 React + TypeScript 前端规范

# React + TypeScript 前端开发规范

## 适用场景
React 18+ 项目,采用 TypeScript + Tailwind CSS 技术栈。

## 核心规则
### 组件规范
- 使用函数式组件搭配 Hooks,禁止 Class 组件
- 组件文件名采用 PascalCase(如 UserProfile.tsx)
- 每个组件独立文件,行数不超过 200 行
- Props 必须定义 interface 类型,禁止使用 any
- 导出方式:使用 named export(避免 default export)

### 状态管理
- 简单状态:使用 useState
- 复杂状态:使用 useReducer
- 全局状态:推荐 Zustand(替代 Redux)
- 服务端状态:采用 TanStack Query

### 样式规范
- 使用 Tailwind CSS,避免编写自定义 CSS
- 响应式设计:mobile-first 原则(sm → md → lg)
- 暗色模式:使用 dark: 前缀处理

### TypeScript 规范
- 启用严格模式(strict: true)
- 禁止使用 any,用 unknown 替代
- 接口使用 interface,类型别名使用 type
- 枚举使用 const enum 或 as const

### 禁止事项
- 禁止使用 var(使用 const/let)
- 禁止使用索引作为 key(静态列表除外)
- 禁止在 useEffect 中直接调用 async 函数
- 禁止使用 !important

3.3 Code Review 检查清单

# Code Review Skill

## 适用场景
当用户要求执行代码审查时加载。

## 审查维度(按优先级排序)
### P0 — 安全性
- [ ] SQL 注入风险
- [ ] XSS 跨站脚本风险
- [ ] 敏感信息硬编码(密码、密钥、Token)
- [ ] 权限校验完整性
- [ ] 输入参数校验是否到位

### P1 — 正确性
- [ ] 空值处理(null/undefined/空数组/空字符串)
- [ ] 边界条件(空集合、负数、超大数值)
- [ ] 并发安全性(竞态条件、死锁风险)
- [ ] 错误处理(异常是否被正确捕获并处理)
- [ ] 资源释放(连接、流、锁)

### P2 — 性能
- [ ] N+1 查询问题
- [ ] 不必要的重复计算
- [ ] 大集合操作(是否需要分页或流式处理)
- [ ] React 不必要的重渲染
- [ ] 接口响应体是否过大

### P3 — 可维护性
- [ ] 命名是否清晰(读代码能理解其意图)
- [ ] 函数是否过长(超过 50 行考虑拆分)
- [ ] 是否存在重复代码(遵循 DRY 原则)
- [ ] 注释质量:仅注释“为什么这样做”,不注释“做了什么”
- [ ] 类型定义是否完整

## 输出格式
按 P0→P3 优先级排列问题,每个问题包含:
1. 问题描述
2. 代码位置
3. 修复建议
4. 严重程度(Critical/Major/Minor)

3.4 Git 提交规范

# Git Commit Message 规范

## 适用场景
执行 git commit 操作时加载。

## 格式
(): 

## Type 类型
- feat: 新增功能
- fix: 修复缺陷
- docs: 文档变更
- style: 代码格式调整(不影响逻辑)
- refactor: 代码重构
- perf: 性能优化
- test: 测试相关
- chore: 构建或工具变更

## 规则
- subject 使用中文或英文均可,但项目内需统一
- 字符数不超过 72 个
- 末尾不加句号
- 使用现在时态(如 "add feature" 而非 "added feature")

## 示例
feat(user): 新增用户注册接口
fix(order): 修复订单金额计算精度丢失
refactor(auth): 重构登录逻辑,抽取 TokenService

3.5 API 设计规范

# RESTful API 设计规范

## 适用场景
设计或审查 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
  }
}

## 错误响应格式
{
  "code": 40001,
  "message": "用户名不能为空",
  "details": [
    { "field": "username", "message": "required" }
  ]
}

3.6 需求分析 Skill(非开发场景)

# 需求分析 Skill

## 适用场景
当用户提出需求或想法需要分析可行性时加载。适用于产品经理、项目经理、创业者等角色。

## 分析框架
### 第一步:需求澄清
- 目标用户是谁?
- 核心痛点是什么?
- 现有解决方案是什么?为何不够好?
- 最小可行产品(MVP)应包含哪些功能?

### 第二步:可行性评估
- 技术可行性:现有技术能否实现?
- 市场可行性:潜在用户规模有多大?
- 商业可行性:盈利模式如何?客单价多少?
- 时间可行性:MVP 开发周期需多久?

### 第三步:优先级排序
采用 MoSCoW 方法:
- Must ha ve:必须包含,否则无法上线
- Should ha ve:重要但可推迟
- Could ha ve:锦上添花的功能
- Won't ha ve:本次明确不做

### 输出格式
使用表格展示功能清单、优先级、预估工时及风险点。

四、进阶:超越代码规范的 Skill 封装

Skill 并非仅限开发者使用。任何存在重复流程的工作均可封装:

┌───────────────────────────────────────────────────────────────┐
│ Skill 的适用领域                                             │
│                                                               │
│ 开发类:                                                      │
│   ├── 代码规范(Ja va/TS/Python/Go 等)                       │
│   ├── Code Review 检查清单                                   │
│   ├── API 设计规范                                           │
│   ├── 数据库设计规范                                         │
│   ├── Git 工作流                                             │
│   └── 测试用例编写规范                                       │
│                                                               │
│ 非开发类:                                                    │
│   ├── 周报/日报撰写模板                                      │
│   ├── 需求评审流程                                           │
│   ├── 竞品分析框架                                           │
│   ├── 商业计划书结构                                         │
│   ├── 技术方案评审清单                                       │
│   ├── 面试评估模板                                           │
│   ├── 邮件回复规范                                           │
│   └── 文章写作风格指南                                       │
│                                                               │
│ 个人效率类:                                                  │
│   ├── 每日计划制定流程                                       │
│   ├── 读书笔记整理模板                                       │
│   ├── 知识卡片生成规范                                       │
│   └── 学习路径规划框架                                       │
│                                                               │
│ 核心决策标准:                                                │
│   你曾在 AI 对话中重复下达过 3 次以上的相同指令吗?          │
│   如果是 → 立即封装为 Skill                                  │
│                                                               │
└───────────────────────────────────────────────────────────────┘

五、Skill 编写的 5 个黄金法则

法则 1:每个 Skill 聚焦单一职责

✗ 错误:一个 SKILL.md 文件同时包含 Ja va 规范、前端规范、Git 规范与 API 设计
  → 文件过长,Token 浪费严重,且所有场景均会加载无关内容
✓ 正确:每项规范独立为一个 Skill 文件
  → skills/ja va-spring/SKILL.md
  → skills/react-ts/SKILL.md
  → skills/git-commit/SKILL.md
  → skills/api-design/SKILL.md

法则 2:编写“规则”而非“教程”

✗ 错误(教程式):
  "React 的 useEffect 是一个 Hook,用于在函数组件中执行
  副作用操作,接受两个参数……"
  → AI 已熟知 useEffect 定义,无需再教育
✓ 正确(规则式):
  "useEffect 的依赖数组不可为空(除非确认仅执行一次)。
  禁止在 useEffect 回调中直接使用 async。
  清理函数必须处理组件卸载后的异步回调。"
  → 直接指明“怎么做”,无需解释“是什么”

法则 3:用具体示例替代抽象描述

✗ 模糊描述:“函数命名需清晰表达意图”
✓ 具体示例:
  命名规范:
  - getUserById ✓
  - getData ✗(语义模糊)
  - processInfo ✗(process 指代不明)
  - handleUserLoginAndSendWelcomeEmail ✗(过长,应拆分为两个函数)

法则 4:明确列出“禁止事项”

AI 对明确的禁止规则执行效果最佳。建议使用“禁止”替代“最好不要”:

模糊:尽量避免使用 any 类型
明确:禁止使用 any。若类型不明确,使用 unknown 配合类型守卫。

法则 5:控制文件篇幅

理想行数:200-500 行
├── 过短(<100 行):规则不够具体,AI 仍有较大自由度
├── 适中(200-500 行):覆盖核心规则,Token 消耗可控
└── 过长(>1000 行):占用过多上下文,影响 AI 响应质量

各篇幅 Skill 的 Token 消耗估算:
├── 200 行 ≈ 600-800 Tokens
├── 500 行 ≈ 1,500-2,000 Tokens
└── 1,000 行 ≈ 3,000-4,000 Tokens

六、实战案例:用 Skill 体系管理多个项目

以下是典型的多项目 Skill 目录结构示例:

~/.cursor/skills/              ← 全局 Skill(所有项目共用)
├── code-style/
│   └── SKILL.md               ← 通用代码风格(命名、注释)
├── git-commit/
│   └── SKILL.md               ← Git 提交规范
└── code-review/
    └── SKILL.md               ← Code Review 检查清单

项目 A(Ja va 后端)/.cursor/skills/
├── ja va-spring/
│   └── SKILL.md               ← Spring Boot 开发规范
└── api-design/
    └── SKILL.md               ← RESTful API 设计规范

项目 B(React 前端)/.cursor/skills/
├── react-ts/
│   └── SKILL.md               ← React + TS 规范
└── component-design/
    └── SKILL.md               ← 组件设计规范

项目 C(iOS App)/.cursor/skills/
├── swiftui/
│   └── SKILL.md               ← SwiftUI 开发规范
└── admob/
    └── SKILL.md               ← AdMob 集成规范

实际效果对比:

关键指标未使用 Skill使用 Skill
新会话启动效率前 5 分钟用于描述规范立即进入编码状态
代码一致性每次风格可能不同严格遵循统一标准
代码审查通过率约 60%(常遗忘规范)约 90% 以上
重复指令次数每会话 3-5 次0 次
项目切换成本需重新“训练”AI自动加载匹配项目规范

七、从 0 到 1 构建你的 Skill 体系

Step 1:回顾近期 AI 对话记录

识别出你重复使用的指令:

  • “使用 TypeScript,而非 Ja vaScript”
  • “返回格式采用 Result 统一包装”
  • “不要在代码中添加注释”
  • “使用 Tailwind,避免编写 CSS 文件”

Step 2:按场景进行分类

将这些指令归类至不同 Skill:

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

Step 3:编写首个 Skill

从你最常用场景入手,参考上述模板,撰写一个 200-300 行的 Skill 文件。

Step 4:测试并持续迭代

  • 开启新会话,验证 AI 是否遵守 Skill 中的规则
  • 发现未覆盖场景 → 补充相应规则
  • 发现冗余或过时规则 → 及时删除
  • 每两周 review 一次 Skill 文件内容

八、总结

┌───────────────────────────────────────────────────────────────┐
│                                                               │
│  Skill 封装的本质:                                           │
│  将“你大脑中的工作流程”转化为“AI 可自动执行的 SOP”                │
│                                                               │
│  ┌────────────┐                    ┌────────────────────┐     │
│  │ 你的大脑   │                    │ Skill 文件         │     │
│  │(会遗忘)  │ →→→               │(持久可靠)        │     │
│  │            │                    │                    │     │
│  │ - 编码规范 │                    │ - ja va-spring.md   │     │
│  │ - 审查习惯 │                    │ - code-review.md   │     │
│  │ - 设计偏好 │                    │ - api-design.md    │     │
│  │ - 工作流程 │                    │ - requirement.md   │     │
│  └────────────┘                    └────────────────────┘     │
│                                                               │
│  三条核心原则:                                                │
│  1. 一个 Skill 专注一件事 → 按需加载,高效利用 Token             │
│  2. 编写规则而非教材 → AI 无需你教它 React 基础                │
│  3. 示例优于描述 → “getUserById ✓ / getData ✗” 胜过千言万语 │
│                                                               │
└───────────────────────────────────────────────────────────────┘

Skill 体系搭建完成后,你的 AI 开发工具将从“每次都需要调教的实习生”转变为“熟悉你所有规范的资深协作搭档”。

相关资源

  • Cursor Rules 官方文档
  • OpenClaw Skills 指南
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策