项目的五张图
- 项目架构图
- 内部模块图
- 外部依赖图
- REST 接口清单
- 数据模型ER图
架构图
读一下这个项目的 REAME 和顶层目录,给我画一张架构图。前端、后端、数据库、中间件分层画,核心模块写一句话职责。周边基础设施(日志、监控、配置)用一个方框概况就行,不用展开。保存到 docs/architecture.svg。生成svg后检查打开看下是否报错,如果报错修复下。
模块图
看一下项目的 pom.xml,画一张内部模块依赖图。只画项目自己的模块,外部库不画。有循环依赖用红色标出来。保存到 docs/module-deps.svg。。生成svg后检查打开看下是否报错,如果报错修复下。
依赖图
综合看 pom.xml、application.yml 和 REAME,帮我梳理这个项目。对外依赖了什么,分成三类:关键 Java 依赖、中间件、外部 API。画出来,每类用不同颜色。保存到 docs/external-deps.svg。生成svg后检查打开看下是否报错,如果报错修复下。
REST 接口清单
扫一下这个下项目所有的 Controller,给我整理一份 REST 接口清单。每个接口列出方法(GET/POST 等)、路径、一句话说明、主要入参、返回结构。按模块分组。保存到 docs/api-list.md。
数据模型
看项目的 entity 类、DTO、数据库建表 SQL,给我梳理核心数据模型。每个模型列出字段、类型、一句话说明。标出主键、外键、枚举值。关键模型之间的关系画一张简单的 ER 图。保存到 docs/data-model.md 和 docs/data-model-er.svg。
根据docs/ 里的五份资产,生成 CLAUDE.md
读 docs/ 下的所有资产,给我生成一份 CLAUDE.md 初稿。 精简:项目定位、核心架构、关键模块、关键约定、怎么跑,外加两节空着的:禁区、历史包袱。架构图、接口清单、数据模型的详细内容不要复制进来,用链接指向 docs/ 就好。保存到项目根目录的 CLAUDE.md。
- 禁区写什么:哪些代码动不得、哪些字段有对接方依赖、哪些配置改了会出事。
- 历史包袱写什么:项目里看起来奇怪但有原因的东西。
老项目的SKILL
改造前体检、PR 前检查、文档同步、新增接口前对齐,这些每次改造都要走一遍的流程。它们不是常识、是操作,应该归为SKILL。
怎么判断一件事值不值得写成 SKILL?
三个特征判断法:
- 可复制。同样的动作序列会被反复执行。
- 可参数化。只有几个变量在变,骨架是同一个。比如"新增一个接口"的流程:具体接口名不一样、入参出参不一样,但流程是一样的(先看 docs/api-list.md 里现有接口的路径规范、再看 data-model.md 里相关实体、再写实现、再补测试、再回头更新接口清单)。
- 可自动化。动作序列有明确的起点和终点。起点:触发信号清晰;终点:产出物明确。
老项目里四类流程
- 技术文档自动更新。docs/ 里的接口清单、数据模型、架构图,代码每次改动都让其中某一份漂移。如果不主动同步,三份资产慢慢就和真实代码对不上了,半年后整个 docs/ 没人敢相信,最后变成"代码即文档"。
- 改造前体检。动手改代码前至少要确认:当前测试是不是绿的、编译是不是通过、依赖的中间件是不是连得上。每次改造前都要跑一次。
- PR 前检查。提 PR 前的固定 checklist:测试跑过、格式化过、changelog 更新了、相关文档改了、找谁 review。团队有明确 checklist 的项目,这件事零变化地反复执行。
- 新增接口前对齐。加一个新接口前,先看现有接口的路径风格、统一响应格式、错误码规则。对齐完再写,不然每个人加出来的接口各自为政
让 AI 生成SKILL
步骤一,AI 分析项目重复流程
扫一下当前项目(包括 git log、CLAUDE.md、docs/、README、CONTRIBUTING、.github/),找出团队反复在做的操作流程。判断标准是三特征:可复制、可参数化、可自动化。三个都满足才算值得做 SKILL 的候选。把找到的候选列出来,每个写明:流程名、为什么是反复的、能参数化的部分是什么、起点和终点是什么。最后给我用一个表格总结。
步骤二,让 AI 出 Top 3 推荐
从上面的清单里挑 3 个最高优先级的,给我做成候选 SKILL。每个候选写:name(英文)、description、预期 steps、allowed-tools。优先级判断标准:频率高、痛点深、自动化收益大。用表格总结,包含类型和理由。
步骤三,让 AI 生成完整的 CRUD SKILL
生成代码中 CRUD 的 SKILL。注意按照标准格式和放在标准目录。结果放到 .claude/skills/generate-crud/SKILL.md。
步骤四,生成技术文档自动更新的 SKILL
基于上面的候选,给我生成完整的 SKILL.md。要求:- 名字 docs-auto-sync- description 写清楚什么场景触发、产出是什么- steps 清晰可执行- allowed-tools 限制到最小- 重要:只汇报不一致的地方,不要自动改文件,让人决定怎么处理保存到 .claude/skills/docs-auto-sync/SKILL.md。
步骤五,测试 SKILL 真的能被触发
- 测试一,说一句应该匹配的话:"我刚改完一批 Controller,帮我看看文档还对不对得上"。Claude Code 应该自动加载 docs-auto-sync 并按步骤跑。
- 测试二,说一句故意不匹配的话:"帮我检查一下这段代码"。这句话和文档同步无关,SKILL 不应该被加载。
环境搭建
- 传统步骤:分析依赖、装中间件、编译启动、冒烟接口、摸清测试、必要时补出兜底测试。
- AI 四步走:依赖盘点 → 本地安装 + 启停管理 → 编译启动 → 接口冒烟。
Step 1:依赖盘点
综合看 docs/external-deps.svg、application*.yml、pom.xml、README,给我列一份这个项目运行需要的完整外部依赖清单。每个依赖列出:名字、版本要求(精确到主版本)、默认端口、连接信息、初始化要求(建库、配 Nacos 命名空间等)。保存到 docs/env-checklist.md。