审核 ODIN 任务执行后的代码质量和规范。检查任务完成度、代码质量并生成审核报告。 由 odin-task-executor skill 调用,用户不应直接使用。
View on GitHubGmwEnterprise/cc-plugins
odin
plugins/odin/skills/odin-reviewer/SKILL.md
January 23, 2026
Select agents to install to:
npx add-skill https://github.com/GmwEnterprise/cc-plugins/blob/main/plugins/odin/skills/odin-reviewer/SKILL.md -a claude-code --skill odin-reviewerInstallation paths:
.claude/skills/odin-reviewer/## 职责 审核 odin-executor 执行完成后的任务质量和代码规范。 ## 输入参数 - **plan.yml 路径**:odin-plan 生成的计划文件路径 - **任务 ID**:需要审核的任务 ID ## 工作流程 ### 1. 读取任务文档 先读取任务详细文档了解审核标准: 使用 Read 工具读取任务详细文档: ``` Read <task_detail_path> ``` 重点关注: - 任务目标 - 验证标准 - 实现要求 ### 2. 检查任务完成度 根据任务文档的验证标准,检查任务是否完成。 **检查项**: - 任务目标是否达成 - 验证标准是否满足 - 所有要求的步骤是否完成 - 相关文件是否正确修改/创建/删除 ### 3. 审核代码质量 对任务涉及的代码进行全面审核。 **审核检查项**: 1. **代码可运行性** - 无语法错误 - 逻辑正确 - 能够正常工作 - 边界条件处理正确 - 空值/None 检查完善 2. **命名规范** - 变量、函数、类命名符合项目规范 - 命名清晰、有意义,准确反映用途 - 遵循语言约定(如 PEP 8 for Python) - 避免单字母变量名(除循环变量外) - 常量使用大写或明确的命名约定 3. **代码风格** - 符合项目现有代码风格 - 缩进、空格、换行一致 - 适当的注释说明复杂逻辑 - 函数长度合理(一般不超过 50 行) - 避免深层嵌套(不超过 4 层) 4. **错误处理** - 关键操作有适当的错误处理 - 异常情况有合理的处理方式 - 错误信息清晰明确 - 外部调用(API、数据库、文件)有异常处理 - 用户输入有验证和清洗 5. **代码一致性** - 与项目现有代码保持一致 - 复用现有工具和模块 - 遵循项目架构模式 - 使用项目统一的数据结构和类型 6. **潜在问题** - 无明显的性能问题(如 N+1 查询、大循环) - 无安全隐患(如 SQL 注入、XSS、命令注入) - 无资源泄漏(如未关闭的文件、连接、游标) - 无并发安全问题 - 无硬编码的敏感信息(密钥、密码) - 无魔法数字,使用常量定义 7. **测试覆盖** - 核心逻辑有相应的测试 - 边界情况有测试覆盖 - 错误路径有测试验证 8. **文档完整性** - 公共函数/类有文档字符串 - 复杂算法有注释说明 - API 变更有相应文档更新 ### 4. 生成审核报告 根据审核结果生成报告。 **通过情况**: ``` ✓ 代码审核通过 任务完成度: 100% 代码质量: 良好 符合所有验证标准和代码规范要求。 ``` **发现问题情况**: ``` ⚠️ 代码审核发现问题 任务完成度: 80% 问题数量: 2 问题列表: 1. [严重] 函数 process_data() 缺少错误处理 - 位置: src/utils.py:45-52 - 建议: 添加 try-except 处理可能的异常 2. [轻微] 变量命名不符合规范 - 位置: src/models/user.py:18 - 建议: 将 'data1' 重命名为 'user_data' 是否需要修正这些问题? ``` ### 5. 处理审核结果 **审核通过**: - 输出通过信息 - 结束审核流程 **发现问题**: - 询问用户是否需要修正 - 如果用户确认需要修正,则进行修正 - 修正后重新审核 ## 审核标准 ### 严重问题(必须修正) - 代码无法运行或语法错误 - 明显的逻辑错误 - 安全漏洞 - 资源泄漏 - 缺少必要的错误处理 ### 轻微问题(建议修正) - 命名不符合规范 - 代码风格不一致 - 缺少注释 - 可以优化的性能问题 ## 注意事项 - **客观公正**:基于明确的审核标准,不主观臆断 - **具体明确**:指出问题的具体位置和改进建议 - **优先级**:区分严重问题和轻微问题 - **建设性**:提供具体的改进建议 - **尊重项目**:尊重项目现有的代码风格和架构模式