# Java Backend Vibecoding

> 当处理 Java 或 Spring Boot 后端需求、缺陷修复、数据同步、清洗任务、定时任务、接口联调、Maven 依赖问题、数据库字段调整、运行时验证或代码提交通用流程时使用。本技能强调先读现有代码，再做低风险方案和最小改动，用编译、接口、日志、数据库或队列结果验证，并区分代码问题、环境问题、依赖问题和数据问题。

- Skill: `ignize9527/java-backend-vibecoding` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add ignize9527/java-backend-vibecoding`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ignize9527/java-backend-vibecoding/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ignize9527 (https://skillmd.com/u/ignize9527)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ignize9527/java-backend-vibecoding

---


# Java 后端 VibeCoding

这个技能用于 Java 后端维护、功能改造、线上类问题排查、数据同步链路、清洗流程和生产相似环境调试。核心目标是：**基于现有代码做最小可靠改动，并用真实证据验证结果**。

## 工作原则

- 先理解代码再改动：定位 Controller/API 入口、Service 调用链、DAO/Mapper/Repository、配置、定时任务、数据库表和外部依赖。
- 优先最小改动：保持现有业务逻辑、接口结构、数据语义和错误处理习惯不变，除非用户明确要求重构或调整。
- 用户说“先出方案”时，只给方案，不直接改代码；用户说“直接实现”时，继续完成编码、验证和总结。
- 不混入无关改动：工作区可能有用户或历史遗留文件，提交时只提交本次任务相关文件。
- 按用户习惯沟通：如果用户偏好中文交流和中文 commit message，后续保持中文。

## 标准流程

1. 确认需求，并用 `rg`、配置文件、入口类和关键 Service 建立当前代码上下文。
2. 判断任务类型：接口行为、查询逻辑、业务规则、数据清洗、ETL、数据库结构、依赖构建、定时任务、前端契约。
3. 明确风险边界：接口兼容性、数据语义、幂等性、全量/增量同步、事务范围、失败兜底、性能影响。
4. 按现有模式做最小实现：复用当前项目的编码风格、异常语义、Mapper 写法和配置方式。
5. 用最强可用证据验证：编译/测试、真实接口调用、数据库查询、日志确认、复现实例输入输出。
6. 总结结果：说明改了什么、验证了什么、是否有前端配合点、是否还有环境或数据阻塞。
7. 需要提交时，先 `git status` 和 `git diff`，只 stage 相关文件，使用符合用户习惯的提交信息，并报告提交号。

## 可选五角色协作模式

当用户明确要求使用子代理、角色拆分、并行协作或当前会话已经授权“五个子代理按需触发”时，按任务复杂度启用以下角色；简单问题不强行拆分。

- 需求理解：梳理用户目标、业务约束、验收口径、已有上下文和不应改动的边界。
- 方案计划：基于现有代码提出低风险实施路径、影响范围、回滚点和验证方式。
- 编码实现：只在明确写入范围内做最小代码改动，避免和其他角色重复修改同一文件。
- 代码审查：重点检查 bug、回归风险、异常处理、数据库兼容性、接口兼容性和遗漏测试。
- 测试总结：汇总编译、单测、接口、日志、数据库验证结果，区分已验证、未验证和环境阻塞。

使用子代理时，先判断哪些任务能并行推进；主流程保留关键路径工作，不把立即阻塞的核心判断完全交给子代理。

## 判断规则

- 真实运行结果优先于推测；服务已启动时，优先实际调用接口或查询数据库验证。
- 不把脏数据直接判成代码 bug；要区分源数据异常、清洗规则配置、字段长度/类型不匹配、游标时间窗和 Java 逻辑问题。
- 不混淆构建问题类型；父 POM 缺失、私服依赖缺失、Maven 插件下载失败、JDK 版本不匹配，不等于源码编译错误。
- 涉及数据库时要一起看实体类、Mapper XML/SQL、DDL/迁移脚本、真实表结构和运行数据。
- 涉及定时或增量任务时，要检查触发入口、游标/水位、时间窗口、重叠窗口、幂等性和手工执行是否记录任务状态。
- 涉及接口契约变化时，要明确告诉前端 endpoint、请求参数、响应字段、状态码、兼容性和响应语义是否变化。

## 参考清单

- 运行时、接口、数据库验证：读取 `references/verification-checklist.md`。
- 表结构、字段、实体、Mapper 调整：读取 `references/database-change-checklist.md`。
- Maven、私服、依赖、JDK 问题：读取 `references/maven-dependency-checklist.md`。
- 提交和交付：读取 `references/git-commit-checklist.md`。

