在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用common-coding
星标625
分支112
更新时间2026年6月24日 23:18
编码技能,提供代码编写指导,遵循编码规范和最佳实践
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
编码技能,提供代码编写指导,遵循编码规范和最佳实践
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
简洁风格技能,禁止废话,采用caveman式简短直接的表达方式
个人文档管理技能,管理变更记录、方案设计Spec文档、测试报告等,统一存放在docs目录下
项目启动管理技能,支持Java Spring Boot和Vue项目的启动、重启、关闭操作,保持原有端口不变
方案调研技能,对方案设计、功能实现进行多方案比对分析,至少3个方案,建议5个左右的方案比对,包括业界标杆方案、大厂实现方案等
基于OpenAPI规范生成API文档,支持Swagger UI和ReDoc展示
提供后端单元测试指导和生成能力,支持JUnit 5、Mockito等框架
| name | common-coding |
| description | 编码技能,提供代码编写指导,遵循编码规范和最佳实践 |
| trigger | 用户需要编写代码时 |
| disable-when | 已有完整代码实现或仅需简单代码片段 |
| category | common |
| tags | ["coding","best-practices","standards"] |
提供代码编写指导能力,帮助开发者遵循编码规范和最佳实践,提高代码质量和可维护性。
在以下情况调用此技能:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | String | 是 | 目标编程语言(Java/Python/JavaScript等) |
| framework | String | 否 | 使用的框架(Spring Boot/React/Vue等) |
| requirement | String | 是 | 功能需求描述 |
| styleGuide | String | 否 | 编码风格指南名称 |
{
"status": "SUCCESS",
"language": "Java",
"framework": "Spring Boot",
"code": "生成的代码内容",
"explanation": "代码解释和说明",
"bestPractices": ["最佳实践1", "最佳实践2"],
"improvements": [
{
"issue": "问题描述",
"suggestion": "改进建议",
"severity": "高/中/低"
}
]
}
需求分析 → 技术选型 → 代码设计 → 代码实现 → 代码审查 → 优化改进 → 文档生成
| 检查项 | 说明 | 状态 |
|---|---|---|
| 命名规范 | 变量、方法、类命名是否符合规范 | ✅/❌ |
| 代码格式 | 缩进、空格、换行是否符合规范 | ✅/❌ |
| 注释完整 | 是否有必要的注释说明 | ✅/❌ |
| 异常处理 | 是否正确处理异常情况 | ✅/❌ |
| 代码复用 | 是否避免重复代码 | ✅/❌ |
| 性能优化 | 是否考虑性能问题 | ✅/❌ |
| 安全性 | 是否存在安全隐患 | ✅/❌ |
| 可测试性 | 代码是否易于测试 | ✅/❌ |
所有外部调用相关代码必须放在 infra 目录下:
src/main/java/com/example/
├── application/ # 应用层(业务逻辑)
├── domain/ # 领域层(业务实体)
└── infra/ # 基础设施层(外部调用)
├── client/ # Remote Client 透传层
├── proxy/ # Remote Proxy 适配层
└── adapter/ # Remote Adapter 转换层
职责:透传外部接口,不做业务逻辑处理
命名约定:{ServiceName}RemoteClient
示例:
// infra/client/UserRemoteClient.java
@FeignClient(name = "user-service")
public interface UserRemoteClient {
@GetMapping("/api/users/{id}")
ResponseEntity<UserDTO> getUserById(@PathVariable Long id);
@PostMapping("/api/users")
ResponseEntity<UserDTO> createUser(@RequestBody CreateUserRequest request);
}
职责:对外部接口进行适配和调用,添加业务无关的通用处理
命名约定:{ServiceName}RemoteProxy
示例:
// infra/proxy/UserRemoteProxy.java
@Component
public class UserRemoteProxy {
private final UserRemoteClient userRemoteClient;
private final RestTemplate restTemplate;
public User getUser(Long id) {
try {
ResponseEntity<UserDTO> response = userRemoteClient.getUserById(id);
if (response.getStatusCode().is2xxSuccessful()) {
return convertToDomain(response.getBody());
}
throw new RemoteServiceException("Failed to get user");
} catch (FeignException e) {
log.warn("Remote call failed, fallback to cache");
return getFromCache(id);
}
}
// 通用重试、熔断、降级处理
@Retryable(maxAttempts = 3)
public User createUser(UserCreateCommand command) {
// ...
}
}
职责:数据转换和协议适配,将外部数据转换为领域模型
命名约定:{ServiceName}RemoteAdapter
示例:
// infra/adapter/UserRemoteAdapter.java
@Component
public class UserRemoteAdapter {
private final UserRemoteProxy userRemoteProxy;
public UserDomain loadUser(Long userId) {
User user = userRemoteProxy.getUser(userId);
// 转换为领域模型
return UserDomain.builder()
.id(user.getId())
.username(user.getUsername())
.email(user.getEmail())
.build();
}
public UserDomain createUser(UserCreateDomain domain) {
CreateUserRequest request = CreateUserRequest.builder()
.username(domain.getUsername())
.email(domain.getEmail())
.build();
User user = userRemoteProxy.createUser(request);
return convertToDomain(user);
}
}
| 层次 | 职责 | 适用场景 |
|---|---|---|
| Remote Client | 透传调用,无业务逻辑 | 简单的 REST/gRPC 调用 |
| Remote Proxy | 通用处理(重试、熔断、降级) | 需要容错处理的调用 |
| Remote Adapter | 数据转换、协议适配 | 需要领域模型转换 |
Application Service → Remote Adapter → Remote Proxy → Remote Client → External Service
说明:
| 组件 | 职责 | 描述 |
|---|---|---|
| CodeGenerator | 代码生成器 | 根据需求生成代码 |
| CodeAnalyzer | 代码分析器 | 分析代码质量和规范 |
| PatternRecommender | 模式推荐器 | 推荐合适的设计模式 |
| DocGenerator | 文档生成器 | 生成代码文档 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
| CODING_STYLE_GUIDE | 默认编码风格指南 |
coding:
style-guide: google
max-line-length: 120
enforce-type-hints: true