每天省去重复 Prompt:我用 Skills 把 CRUD 生成标准化了

用 Claude Code 写 CRUD 是真的快------但它每次都问差不多的问题,你也得每次写差不多的 Prompt。"参照 UserController、用构造器注入、别用 @Autowired、统一返回 Result"------这些话我大概重复了几十遍。

后来发现了 Skills,把这套流程固化成文件,以后说一句"为 xx 表生成 CRUD"它就自己按流程走。这篇文章分享一下怎么创建自己的 Skill。


Skill 本质上是什么

就是一个 Markdown 文件,放在项目的 .claude/skills/ 目录下。里面写清楚:什么时候触发、按什么步骤执行、有什么注意事项。

Claude Code 启动时自动加载项目里的所有 Skill,遇到匹配的任务就按你定义的流程走。

你可以把它理解为:把 Prompt 模板 + 操作规范 打包成了一个可复用的文件。


手把手创建第一个 Skill

我的 Java 项目用 MyBatis-Plus,经常要生成 CRUD。下面是我实际在用的 Skill。

1. 建目录

在项目根目录:

bash 复制代码
.claude/skills/java-crud/SKILL.md

文件名必须叫 SKILL.md,目录名自定义。

description 是关键------它不是简单的标签,而是告诉 Claude Code "什么时候该激活这个 Skill"。Claude Code 根据 description 来匹配当前对话是否应该用这个 Skill。写得太模糊(比如只写"写代码"),Skill 可能永远不会被自动触发。要写清楚触发条件,比如"用户说要生成 CRUD、创建新模块、新建实体"。

2. 写内容

yaml 复制代码
---
name: java-crud-generator
description: 为 MyBatis-Plus 项目生成完整 Java CRUD 代码
---
​
# Java CRUD Generator
​
## 何时使用
- 用户说"生成 CRUD"、"创建新模块"、"新建实体"
- 用户提到具体表名并要求生成代码
​
## 执行步骤
1. 如果用户没提供表名和字段,先向用户确认
2. 读取 CLAUDE.md 了解技术栈和编码规范
3. 参照项目里已有的 Controller 确定代码风格
4. 按此顺序生成:Entity → Mapper → Service + ServiceImpl →
   Controller → SaveDTO、UpdateDTO、QueryDTO、VO
5. 所有代码必须符合 CLAUDE.md 里的规范
6. 生成完毕后提示用户运行测试
​
## 注意事项
- 使用构造器注入,禁止 @Autowired
- MyBatis-Plus 用 LambdaQueryWrapper
- 统一返回 Result<T>,分页返回 PageResult<T>
- 时间字段用 LocalDateTime,金额用 BigDecimal

3. 使用

以前你需要写一大段 Prompt。现在:

shell 复制代码
> 为 sys_product 表生成 CRUD

Claude Code 读到这条,匹配到 java-crud-generator Skill,自动按步骤执行------确认表结构、读规范、参照已有代码、按顺序生成文件、提醒跑测试。你不用每次重复那些规范了。

怎么确认 Skill 生效了 :重启 Claude Code 或新开对话,输入"你加载了哪些 Skill"。如果列表里出现 java-crud-generator,说明成了。也可以直接试一句"为 test_table 生成 CRUD",看它是不是按你定义的步骤走。


还可以做哪些 Skill

Code Review:

yaml 复制代码
---
name: java-code-review
description: 按团队标准审查 Java 代码变更
---
​
## 执行步骤
1. 用 git diff 查看未提交的变更
2. 重点检查:空指针风险、事务边界、SQL 注入、异常处理
3. 输出按严重程度分三级:高危 / 建议 / 风格
4. 每个问题给出具体的修复代码

单元测试生成:

yaml 复制代码
---
name: unit-test-generator
description: 为 Service 类生成完整单元测试
​
## 执行步骤
1. 读取目标 Service 类,分析所有 public 方法
2. 为每个方法生成正常/异常/边界三类用例
3. 使用 Mockito,Mock 所有外部依赖
4. 生成完后跑测试验证

团队共享

把 .claude/skills/ 目录提交到 Git:

sql 复制代码
git add .claude/skills/
git commit -m "添加项目 Skills:CRUD 生成、Code Review、单元测试"

新同事拉代码后 Claude Code 自动加载这些 Skill,标准流程直接上手,不需要老同事口头"传帮带"。

用户级 vs 项目级 :.claude/skills/ 是项目级,随代码提交。如果你想在所有项目里用同一个 Skill(比如通用的 Code Review 标准),放到 ~/.claude/skills/ 下------用户级,全局生效。跟特定技术栈相关的(比如 MyBatis-Plus CRUD)放项目级更合适。


使用心得

Skills 不是银弹------它不能帮你解决没有标准流程的复杂任务。但对于那些每天都在做的重复性工作(CRUD、测试、Review),把流程固化下来省的时间很可观。

我个人的经验:从你最常重复的那个操作开始,先做一个 Skill。用几天觉得好,再做第二个。不要一上来就规划十个八个------很多你以为会常用的可能根本不常用。


总结

  1. Skill = Prompt 模板 + 操作规范,打包成 .claude/skills/xxx/SKILL.md
  2. 元数据写 name 和 description,正文写执行步骤
  3. 随 Git 提交,团队共享
  4. 从最常重复的那个任务开始,做一个就赚一个

下一篇讲 MCP------让 Claude Code 直接连数据库读表结构,配合 Skills 一起用,一句"为 xx 表生成 CRUD"从查表到写代码全自动。

有用的话欢迎点赞收藏。

相关推荐
独泪了无痕4 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
变与不变8067 小时前
jQuery怎么使用
前端·javascript
神膘护体小月半7 小时前
flex 布局的 order 属性
前端·css
paopaokaka_luck7 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.7 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子7 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常7 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
小码哥_常7 小时前
你发的原图可能暴露你家地址——聊聊图片 EXIF 隐私
前端
java1234_小锋8 小时前
【技术专题】CSS3 网页技术 - CSS3 优先级
前端·css·css3
m0_639906948 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端