بنقرة واحدة
backend-java-code-style
当用户要生成、补全、修改或评审 Java 后端代码时触发。它按现有项目风格产出最小改动的 Java 代码;不用于前端、运维或与 Java 无关的任务。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
当用户要生成、补全、修改或评审 Java 后端代码时触发。它按现有项目风格产出最小改动的 Java 代码;不用于前端、运维或与 Java 无关的任务。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create or overhaul repository READMEs as bilingual, evidence-led GitHub landing pages with project-specific positioning, quick starts, and verified visual proof. Use for requests like "rewrite the README," "make this look like a top GitHub project," "add a Chinese README," or "show the workflow in the README." Do not use for generic prose polishing, code review, implementation planning, or documentation pages unrelated to a repository README.
当用户要生成、补全、修改或评审 React 前端代码、组件、hooks、signals、样式或交互逻辑时触发。它按现有项目风格产出最小改动的 React 代码;不用于 React/Next/Vue、后端、运维或不涉及 React 的普通前端任务。常见触发语:React 组件、改 React 页面、补 hook、修 React 交互、review React 代码。
不自动触发, 由其他skill触发
当用户要生成、补全、修改或评审 Python 代码时触发。它按现有项目风格做最小必要改动;不用于前端、纯运维或需要大规模重构的任务。
当用户做Git 提交时触发,例如用户输入“commit”'english commit'“英文commit”。它处理当前工作区内允许访问的 Git 已知改动;不用于改代码、访问未跟踪文件或提交受限路径。
当用户要按功能做中文 Git 提交时触发,例如“中文 commit”。它处理当前工作区内允许访问的 Git 已知改动;不用于改代码、访问未跟踪文件或提交受限路径。
| name | backend-java-code-style |
| description | 当用户要生成、补全、修改或评审 Java 后端代码时触发。它按现有项目风格产出最小改动的 Java 代码;不用于前端、运维或与 Java 无关的任务。 |
必须按下面规则生成 Java 代码, 不能遗漏; 必须满足 skill backend-common 中的约定
ynfy-tool-httpconnect 实现EasyExcel## 实体与请求对象 的约定@param 描述参数含义。@return 描述返回结果。void 方法不要硬写 @return。
示例:/**
* 根据用户ID查询有效订单信息。
*
* @param userId 用户ID
*/
public List<OrderVO> queryValidOrders(Long userId) {
// 先查询原始订单数据,后续统一做状态过滤
return orderMapper.selectByUserId(userId);
}
@Operation 描述接口用途。getXXX 形式命名。Result 类。Result,不要下沉业务实现。@Operation、Post 优先、查询接口 getXXX、Result 返回这几项约束。
示例:@PostMapping("/getOrderDetail")
@Operation(summary = "查询订单详情")
public Result<OrderDetailVO> getOrderDetail(@Validated @RequestBody OrderDetailRequestDTO requestDTO) {
return Result.success(orderService.getOrderDetail(requestDTO));
}
XXXCallbackService 命名不便管理 应该命名 CallbackXXXService 这样都在一起@Schema 描述字段含义。@Data。@NotBlank 或 @NotNull。message,格式优先使用“xxx不能为空”。@NotBlank;非字符串对象、数字或集合是否为空校验按类型选择 @NotNull。@Schema、必填校验注解和 message。@NotBlank就无需再使用@JsonSetter(nulls = Nulls.SKIP)@JsonProperty 除非是必须传入或接收 下划线命名字段@TableField(exist = false) , 而是应该使用单独的 DTO 或 VO
示例:@Data
@Schema(description = "创建订单请求")
public class CreateOrderRequestDTO {
@Schema(description = "用户ID")
@NotNull(message = "用户ID不能为空")
private Long userId;
}
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
DTO 禁止使用内部类。原本作为内部类存在的 DTO,必须按业务层级拆成独立 public class,并放入与父级 DTO 对应的子包中。 拆分规则:
@Getter
@AllArgsConstructor
public enum xxxEnum {
xxx("code", "name");
@EnumValue
@JsonValue
private final String code;
private final String name;
@JsonCreator
public static xxxEnum of(Object code) {
xxx
}
}
String profileId = request.getProfileId();
CustomerDingTalkRobotDTO customerInfo =
restCustomDataService.getDingTalkRobotCustomer(profileId);
# Instead of:
# CustomerDingTalkRobotDTO customerInfo = restCustomDataService.getDingTalkRobotCustomer(request.getProfileId());
@Cacheable; 同时要有明确方法实现同一cache的@CacheEvictnull 值, 使用 unless = "#result == null"@Async 实现多线程/异步,不要使用 Executorsapplication-*.yml 文件,但可以访问 application.ymlapplication.yml 配置一致, 如 ${xxx}, @ConfigurationProperties 等; 新增DTO使用 xxxProperties 命名application.yml, 并引用 ${config.xxx.xxx}, 新增的${config.xxx}无需写在配置文件里,直接在 terminal 日志中打印新增 key 和建议值。 打印时优先给出可直接复制的配置片段,保持 key 层级完整。 xxx updateEntity = new xxx();
updateEntity.setId(recordId);
...
xxxMapper.updateById(updateEntity);