代码审查 差异分析 质量报告
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/user_2fd890c9--code-review-report.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2fd890c9/code-review-report。解析 git diff,规则扫描硬编码密码/不安全日志/性能反模式/平台依赖,输出分级审查报告(markdown/json),支持严重级过滤、密码脱敏、默认预览不写盘。内置 12 条自测。
阅读全文 (展开查看完整说明)
概述
本内容由 AI 生成,仅供学习参考
<!– ai-generated-notice –>
📜 用户协议(User Agreement)
- 本 Skill 仅供学习与参考用途。使用本 Skill 产生的任何结果,由使用者自行承担全部责任;本 Skill 不提供任何明示或暗示的保证。
- 涉及法律、财务、税务、投资、医疗等专业决策时,请务必咨询持证专业人士。
- 本代码受版权法保护,未经授权复制、反向工程或商业利用将被追究法律责任。
<!– user-agreement-injected –>
⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。
涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
<!– professional-disclaimer-injected –>
代码审查报告 Skill 使用指南(v2.6.0)
一、一页纸速查卡(30 秒上手)
| 你想做什么 | 输入示例 | 预期输出 |
|---|---|---|
| 快速预览审查结果(不写盘) | python run.py --diff changes.diff | 终端打印 Markdown 报告,不生成文件 |
| 只查 P0 级问题 | python run.py --diff changes.diff --filter P0 | 仅输出严重级别为 P0 的问题 |
| 输出 JSON 格式报告 | python run.py --diff changes.diff --format json | 终端打印 JSON 格式报告 |
| 将报告保存到文件 | python run.py --diff changes.diff --output report.md --force | 生成 report.md 文件(需 –force 确认) |
| 运行内置自测 | python run.py --selftest | 12 条断言全部通过,输出 OK |
| 从标准输入读取 diff | git diff HEAD~1 | python run.py --diff - | 直接管道输入,无需临时文件 |
| 查看完整参数说明 | python run.py --help | 列出所有参数及默认值 |
| 使用 main.py 入口 | python main.py changes.diff | 与 run.py 等价,但使用位置参数 |
| 分段审查大型 diff | git diff HEAD~1 -- src/ | python run.py --diff - | 按目录拆分,避免超时 |
| 自定义规则扫描 | python run.py --diff changes.diff --rules my_rules.json | 加载自定义规则文件,扩展扫描能力 |
阅读路径建议:
- 新手/首次使用:先看「一、速查卡」和「二、能力边界」,了解能做什么、不能做什么。
- 进阶用户:看「三、标准流程」和「四、参数详解」,掌握完整用法。
- 遇到问题:看「六、错误码」和「七、FAQ」,快速定位并解决。
- 想扩展能力:看「八、高级用法」,了解如何自定义规则和扩展。
二、能力边界(先看这个,避免期望错位)
✅ 本 Skill 能做什么
| 能力项 | 说明 | 示例 |
|---|---|---|
| 解析 git diff 格式 | 支持标准 git diff 输出,含新增/删除/修改行 | git diff HEAD~1 > changes.diff 后传入 |
| 规则扫描 | 4 条内置规则,覆盖安全/日志/性能/平台依赖 | 见下方规则表 |
| 分级报告 | 按 P0/P1/P2 三级输出问题,支持过滤 | --filter P0 只显示严重问题 |
| 双格式输出 | Markdown 或 JSON,便于人读或机器处理 | --format json |
| 密码脱敏 | 自动遮蔽疑似密码/密钥内容,防止泄露 | password=123456 → password=****** |
| 注释剥离 | 先剥离注释和字符串再匹配规则,避免误报 | 注释里的 password 不会触发告警 |
| 默认预览 | 默认不写盘,先看结果再决定是否落盘 | 需加 --force 才生成文件 |
| 多编码识别 | 自动识别 UTF-8/GBK/GB18030,兼容中文代码 | 无需手动指定编码 |
| 自测验证 | 内置 12 条断言,验证环境可用性 | --selftest |
| 标准输入支持 | 支持从 stdin 读取 diff 内容 | git diff | python run.py --diff - |
| 原子写盘 | 写文件时先写临时文件再重命名,防止文件损坏 | 自动处理,无需用户干预 |
| 失败快速反馈 | 非法 diff 格式立即报错并提示正确格式 | 见「六、错误码」E004 |
| 双入口支持 | run.py(–diff 参数)和 main.py(位置参数)均可使用 | 见「四、参数详解」 |
| 自定义规则加载 | 支持通过 JSON 文件加载自定义规则 | --rules my_rules.json |
| 智能洞察 | 输出问题统计、文件分布、修复优先级建议 | 见「八、高级用法」 |
❌ 本 Skill 不能做什么(重要!)
| 限制项 | 说明 | 为什么 | 替代方案 |
|---|---|---|---|
| 不做语义级审查 | 不分析业务逻辑、算法复杂度、架构合理性 | 本工具基于正则规则匹配,无法理解代码语义 | 请使用专业 Code Review 工具(如 SonarQube)或人工审查 |
| 不覆盖全部反模式 | 仅覆盖 4 类高频问题,非全量扫描 | 规则引擎设计为轻量级,聚焦最高频问题 | 可自行扩展规则(见「八、高级用法」),或使用完整 SAST 工具 |
| 不支持多文件嵌套 | 仅处理单个 diff 文件,不支持跨文件关联分析 | diff 输入为单文件流,无跨文件上下文 | 可先合并多个 diff 再传入(git diff A B > merged.diff) |
| 不支持多语言混合 | 规则主要针对 Python/JavaScript/Java 等常见语法 | 注释剥离和字符串识别基于常见语法规则 | 其他语言可能误报或漏报,建议人工复核 |
| 不检测运行时问题 | 不执行代码,不检测内存泄漏、并发问题等 | 静态分析无法模拟运行时行为 | 需结合单元测试、集成测试和运行监控 |
| 不处理超大 diff | 超过 10MB 的 diff 文件可能超时 | 单线程处理,大文件耗时较长 | 建议分段处理(按目录或按文件拆分) |
| 不做代码评分 | 不输出质量分数或改进建议 | 当前版本聚焦问题发现,不提供评分模型 | 可结合其他质量工具(如 CodeClimate) |
适用对象
| 用户类型 | 适用场景 | 不适用场景 |
|---|---|---|
| 个人开发者 | 提交前快速自查代码改动 | 大型项目全量代码审查 |
| 小型团队 | CI 流程中作为辅助检查 | 替代人工 Code Review |
| 学习者 | 了解常见代码反模式 | 学习复杂架构设计 |
| CI/CD 集成 | 作为流水线中的一个检查步骤 | 作为唯一的代码质量门禁 |
三、标准流程(5 步走)
第 1 步:准备 diff 文件
失败处理
- 输入不符合预期 → 返回错误说明与正确的输入格式示例
- 执行中异常 → 保留中间结果,报告失败原因与已处理进度
- 依赖缺失 → 给出安装命令并重试一次
前置条件
- 无特殊环境要求
执行步骤
- 收集用户输入并确认格式
- 按功能逻辑处理输入内容
- 生成结果并校验完整性
输出
- 结构化文本结果,附处理说明
许可证(License)
MIT License
Copyright (c) {year} {holder}
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.<!– professional-license-embedded –>