告别重复解释!手把手教你打造专属 AI 编程知识库
告别重复解释!AI编程知识库实战指南 本文介绍了如何利用Claude Code的Skills功能构建专属AI编程知识库,解决重复解释项目规范、高Token消耗和AI"失忆"三大痛点。通过23个Skills的实际应用案例显示: 显著节省Token:开发CRUD模块时Token消耗降低77%,从15,000降至3,500 知识持久化:14,234行知识库按需加载,避免重复解释 五大
告别重复解释!手把手教你打造专属 AI 编程知识库
我用 23 个 Skills 把 Claude Code 的 Token 消耗降低了 80%,代码生成一次就对。
一、AI 编程的痛:每次都要从头解释
如果你用过 Claude Code、Cursor、GitHub Copilot 这类 AI 编程工具,一定经历过这样的场景:
场景一:重复解释架构
我:帮我写一个用户管理模块
AI:好的,请问你用什么框架?
我:Spring Boot
AI:Service 层继承什么基类?
我:我们项目不继承基类...
AI:好的,我给你生成代码(用了 ServiceImpl 继承)
我:不对,我说了不继承...
AI:抱歉,请问你的 DAO 层是怎么设计的?
我:(崩溃)我们有独立的 DAO 层...
场景二:Token 消耗飞快
第 1 次对话:解释项目架构(2000 tokens)
第 2 次对话:又解释一遍(2000 tokens)
第 3 次对话:AI 忘了,再解释(2000 tokens)
...
一天下来:$50 没了,代码还是错的
场景三:上下文限制导致"失忆"
对话长了,AI 开始忘记前面说过的规范,生成的代码风格又回到了默认状态。
这些问题的本质是:AI 不了解你的项目。
而 Claude Code 的 Skills 功能,正是解决这个问题的利器。
二、什么是 Skills?
简单理解
Skills = 预置的专业知识模块,按需激活。
你可以把它想象成:
- CLAUDE.md = 每次必读的"员工手册"
- Skills = 需要时才翻的"专业操作指南"
核心优势
| 传统方式 | Skills 方式 |
|---|---|
| 每次对话都要解释项目规范 | 规范写一次,永久生效 |
| Token 消耗在"解释"上 | Token 用在"干活"上 |
| AI 生成的代码需要大量修改 | 一次生成,直接可用 |
| 上下文满了就"失忆" | 知识持久化,不会忘 |
触发方式
Skills 通过触发词自动激活。当你说出关键词时,Claude Code 会自动加载对应的知识模块。
你:帮我开发一个 CRUD 模块
^^^^
触发词命中!
Claude:[自动激活 crud-development Skill]
好的,我会按照项目规范生成代码...
三、Token 消耗对比:数据说话
我在一个全栈项目中构建了 23 个 Skills,来看实际效果:
知识库规模
CLAUDE.md(入口文件) 248 行 ← 每次加载
Skills(23个) 10,165 行 ← 按需加载
Docs(6份深度文档) 3,821 行 ← 按需加载
────────────────────────────────
总计 14,234 行
关键点:14000+ 行的知识库,但每次对话只加载 248 行基础 + 需要的那个 Skill。
真实场景对比
| 开发任务 | 无 Skills | 有 Skills | 节省 |
|---|---|---|---|
| 开发一个 CRUD 模块 | ~15,000 tokens | ~3,500 tokens | 77% |
| 集成微信支付 | ~12,000 tokens | ~3,000 tokens | 75% |
| 排查数据库问题 | ~8,000 tokens | ~2,000 tokens | 75% |
| 写 UniApp 跨平台代码 | ~10,000 tokens | ~2,500 tokens | 75% |
为什么能省这么多?
无 Skills 时的 Token 消耗:
解释项目架构:2,000 tokens
解释代码规范:1,500 tokens
解释已有工具:1,000 tokens
AI 理解错误,重新解释:3,000 tokens
修正生成的代码:2,000 tokens
实际生成代码:5,500 tokens
────────────────────────────
总计:15,000 tokens
有 Skills 时的 Token 消耗:
加载 CLAUDE.md:200 tokens
触发 Skill:800 tokens
实际生成代码:2,500 tokens
────────────────────────────
总计:3,500 tokens
四、我的 23 个 Skills 全览
按功能分为 5 大类:
1. 核心开发(5个)
这是使用频率最高的 Skills,覆盖日常 80% 的开发场景。
| Skill | 触发词 | 行数 | 能力 |
|---|---|---|---|
| crud-development | CRUD、增删改查、Entity、Service | 726 | 全栈 CRUD 代码生成 |
| database-ops | 数据库、建表、SQL | 398 | 数据库设计与操作 |
| api-development | API、接口、RESTful | 405 | API 设计规范 |
| backend-annotations | 注解、权限、限流 | 470 | 后端高级注解使用 |
| project-navigator | 项目结构、文件在哪 | 300 | 快速定位代码位置 |
crud-development 是最核心的 Skill,726 行内容包含了:
- Entity / BO / VO 的完整模板
- Service / DAO / Controller 的标准写法
- 前端 API 和 TypeScript 类型定义
- 常见错误和正确做法对比
2. 前端与移动端(4个)
| Skill | 触发词 | 行数 | 能力 |
|---|---|---|---|
| component-library | 组件、Element Plus、WD UI | 458 | UI 组件使用指南 |
| state-management | Store、Pinia、状态管理 | 365 | 状态管理最佳实践 |
| uniapp-platform | 条件编译、跨平台、小程序 | 840 | UniApp 多端开发 |
| code-patterns | 编码规范、命名、代码风格 | 445 | 代码规范指南 |
uniapp-platform 是行数最多的 Skill(840行),因为跨平台开发的坑太多了:
- 微信小程序 vs H5 vs App 的 API 差异
- 条件编译的正确姿势
- 平台特定的样式处理
3. 业务集成(5个)
复杂业务场景的专业指南。
| Skill | 触发词 | 行数 | 能力 |
|---|---|---|---|
| payment-integration | 支付、微信支付、退款 | 486 | 支付渠道对接 |
| wechat-integration | 微信、小程序登录、分享 | 454 | 微信生态集成 |
| file-oss-management | 文件上传、OSS、云存储 | 449 | 文件存储方案 |
| ai-langchain4j | AI、大模型、ChatGPT | 571 | AI 能力集成 |
| media-processing | 图片处理、二维码、Excel | 582 | 媒体文件处理 |
payment-integration 示例:
// Skill 中预置的支付代码模板
PayRequest request = PayRequest.createWxJsapiRequest(
appid,
mchId,
"商品描述",
orderNo,
amount,
openId,
notifyUrl
);
PayResponse response = payService.pay(request);
有了这个 Skill,AI 直接生成符合项目规范的支付代码,不用再问"你用的什么支付 SDK"。
4. 工程支持(9个)
覆盖开发全流程的辅助能力。
| Skill | 触发词 | 行数 | 能力 |
|---|---|---|---|
| utils-toolkit | 工具类、StringUtils | 514 | 项目工具类速查 |
| git-workflow | Git、提交、分支 | 306 | Git 工作流规范 |
| bug-detective | Bug、报错、异常 | 397 | 问题排查指南 |
| error-handler | 异常处理、日志 | 433 | 异常处理规范 |
| performance-doctor | 性能、优化、慢查询 | 383 | 性能优化方案 |
| security-guard | 安全、加密、XSS | 349 | 安全最佳实践 |
| architecture-design | 架构、设计、模块 | 327 | 架构设计指导 |
| tech-decision | 技术选型、方案对比 | 221 | 技术决策辅助 |
| brainstorm | 头脑风暴、创意 | 286 | 创意思考引导 |
bug-detective 非常实用,包含了:
- 常见错误类型和排查步骤
- 日志分析技巧
- 数据库问题定位方法
- 前后端联调问题排查
五、Skill 怎么写?手把手教程
目录结构
项目根目录/
├── CLAUDE.md # 入口文件(必须)
└── .claude/
└── skills/
├── crud-development/
│ └── SKILL.md # Skill 内容
├── payment-integration/
│ └── SKILL.md
└── ...
SKILL.md 标准格式
每个 Skill 必须包含 YAML 头部:
---
name: crud-development
description: |
当需要开发 CRUD 功能时自动使用此 Skill。
触发场景:
- 创建新的业务模块
- 编写 Entity、Service、DAO
- 前端 API 定义
触发词:CRUD、增删改查、Entity、Service、DAO、Controller
---
# CRUD 全栈开发规范
(正文内容...)
编写技巧
技巧 1:代码模板 > 文字说明
❌ 不好的写法:
Service 层不要继承基类,要直接实现接口。
✅ 好的写法:
## Service 实现类
```java
@Service
@RequiredArgsConstructor
public class XxxServiceImpl implements IXxxService {
private final IXxxDao xxxDao; // 只注入 DAO
@Override
public XxxVo get(Long id) {
Xxx entity = xxxDao.getById(id);
return MapstructUtils.convert(entity, XxxVo.class);
}
}
```
技巧 2:对比展示错误和正确做法
### 常见错误
```java
// ❌ 错误:Service 继承了基类
public class XxxServiceImpl extends ServiceImpl<XxxMapper, Xxx> {
// ❌ 错误:直接注入 Mapper
private final XxxMapper xxxMapper;
// ❌ 错误:Service 层构建查询条件
LambdaQueryWrapper<Xxx> wrapper = new LambdaQueryWrapper<>();
```
### 正确做法
```java
// ✅ 正确:不继承任何基类
public class XxxServiceImpl implements IXxxService {
// ✅ 正确:注入 DAO
private final IXxxDao xxxDao;
// ✅ 正确:调用 DAO 层的查询构建方法
PlusLambdaQuery<Xxx> wrapper = xxxDao.buildQueryWrapper(bo);
```
技巧 3:包含完整可运行的示例
不要只给代码片段,要给完整的、可以直接复制使用的代码。
技巧 4:设置清晰的触发词
触发词要覆盖用户可能的表达方式:
触发词:支付、付款、微信支付、支付宝、银联、余额支付、退款、回调、notify、PayService
六、实战效果对比
场景:开发一个"优惠券管理"模块
无 Skills 的对话:
我:帮我开发优惠券管理模块
AI:好的,我需要了解一些信息:
1. 你使用什么后端框架?
2. Service 层是否继承基类?
3. 数据库表结构是怎样的?
我:Spring Boot,不继承基类,表名 b_coupon
AI:好的,我来生成代码...
[生成了继承 ServiceImpl 的代码]
我:不对,我说了不继承基类
AI:抱歉,请问你的 Service 是如何组织的?
我:我们有独立的 DAO 层...(开始详细解释)
[30 分钟后,代码终于对了]
有 Skills 的对话:
我:帮我开发优惠券管理模块的 CRUD
AI:[自动激活 crud-development Skill]
好的,我会按照项目规范生成优惠券管理模块。
1. Entity: Coupon.java(继承 BaseEntity)
2. BO: CouponBo.java(使用 @AutoMappers)
3. VO: CouponVo.java
4. Service: ICouponService.java / CouponServiceImpl.java(不继承基类)
5. DAO: ICouponDao.java / CouponDaoImpl.java(含 buildQueryWrapper)
6. Controller: CouponController.java
7. 前端 API: couponApi.ts / couponTypes.ts
[直接生成 7 个完整文件,代码风格 100% 符合项目规范]
[3 分钟完成,代码直接可用]
效率提升数据
| 指标 | 无 Skills | 有 Skills | 提升 |
|---|---|---|---|
| 开发时间 | 30 分钟 | 3 分钟 | 10x |
| Token 消耗 | 15,000 | 3,500 | 77%↓ |
| 代码修改次数 | 5+ 次 | 0-1 次 | 显著减少 |
| 返工概率 | 高 | 极低 | - |
七、开始构建你的 Skills
第一步:创建目录结构
mkdir -p .claude/skills
第二步:从最常用的场景开始
建议先创建这 3 个 Skills:
- 项目规范 Skill:你的代码风格、架构约定
- CRUD Skill:最常写的业务代码模板
- 工具类 Skill:项目中有哪些工具可以用
第三步:在 CLAUDE.md 中添加索引
## Skills 索引
| Skill | 触发词 | 说明 |
|-------|--------|------|
| crud-development | CRUD、增删改查 | 业务模块开发 |
| ...
第四步:持续迭代
- 遇到 AI 不懂的场景 → 写个 Skill
- 发现代码生成不对 → 补充示例
- 团队有新规范 → 更新 Skill
八、总结:Skills 的价值
Skills 解决的核心问题:让 AI 从"通用助手"变成"专属专家"。
| 维度 | 收益 |
|---|---|
| 效率 | Token 消耗降低 75%+,开发速度提升 10 倍 |
| 质量 | 生成的代码直接符合项目规范,减少返工 |
| 一致性 | 团队成员用同一套 Skills,代码风格统一 |
| 积累 | 知识写一次,受益终身,还能共享给团队 |
最后的建议:
- 不要追求一次写完所有 Skills,按需逐步积累
- 代码模板比文字说明更有用
- 触发词要多样化,覆盖用户的各种表达方式
- 定期更新,保持 Skills 与项目同步
如果这篇文章对你有帮助,欢迎点赞、在看、转发三连!
有问题可以在评论区留言,我会一一解答。
视频教程
想看实操演示?点击下方视频,手把手教你配置 Claude Code Skills:
作者:抓蛙师
项目:ruoyi-plus-uniapp
更多推荐



所有评论(0)