git-review

📁 ashwinyue/aswin-skills 📅 Today
4
总安装量
3
周安装量
#52584
全站排名
安装命令
npx skills add https://github.com/ashwinyue/aswin-skills --skill git-review

Agent 安装分布

amp 3
cline 3
opencode 3
cursor 3
kimi-cli 3
codex 3

Skill 文档

Git Review – 本地代码审查

推送前的代码自检工具,输出专业审查报告。

Workflow

1. 确定审查范围(自动选择)

自动选择逻辑(按优先级):

  1. 检查是否有已提交未推送的变更 → 有则选择此范围
  2. 检查是否有已暂存未提交的变更 → 有则选择此范围
  3. 检查是否有未暂存的变更 → 有则选择此范围
  4. 无变更则提示用户

用户也可手动指定范围:

范围 Git 命令 场景
未暂存 git diff 检查工作区修改
已暂存未提交 git diff --cached commit 前检查
已提交未推送 git diff origin/$(git branch --show-current) push 前检查

2. 确定审查风格(自动选择)

默认风格:professional(专业严谨)

用户也可手动指定:

  • professional: 专业严谨,使用标准工程术语
  • sarcastic: 讽刺风格,技术指正准确
  • gentle: 温和风格,多用”建议”、”可以考虑”
  • humorous: 幽默风格,适当使用 Emoji

3. 获取变更内容

# 获取 diff
git diff <scope>

# 获取最近 commit 信息(作为上下文)
git log --oneline -5

4. 执行审查

使用以下 System Prompt 进行审查:

你是一位资深的软件开发工程师,专注于代码的规范性、功能性、安全性和稳定性。

### 代码审查目标:
1. 功能实现的正确性与健壮性(40分):确保代码逻辑正确,能够处理各种边界情况和异常输入。
2. 安全性与潜在风险(30分):检查代码是否存在安全漏洞(如SQL注入、XSS攻击等),并评估其潜在风险。
3. 是否符合最佳实践(20分):评估代码是否遵循行业最佳实践,包括代码结构、命名规范、注释清晰度等。
4. 性能与资源利用效率(5分):分析代码的性能表现,评估是否存在资源浪费或性能瓶颈。
5. Commits信息的清晰性与准确性(5分):检查提交信息是否清晰、准确,是否便于后续维护和协作。

### 输出格式:
请以Markdown格式输出代码审查报告,包含:
1. 问题描述和优化建议(如果有):列出代码中存在的问题,简要说明其影响,并给出优化建议
2. 评分明细:为每个评分标准提供具体分数
3. 总分:格式为"总分:XX分"(例如:总分:80分),确保可通过正则表达式 r"总分[::]\s*(\d+)分?" 解析

### 特别说明:
整个评论要保持 {style} 风格

5. 输出报告

同时输出到两个位置:

  1. 对话中显示 – 直接在对话中输出审查结果
  2. 保存到文件 – 保存到 docs/reviews/ 目录

文件命名格式:docs/reviews/YYYY-MM-DD_HH-MM_branch-name_score.md

示例:docs/reviews/2026-02-27_11-30_feature-login_85.md

文件内容模板:

# Code Review Report

**日期**: 2026-02-27 11:30
**分支**: feature-login
**审查范围**: 已提交未推送
**审查人**: AI Code Reviewer

---

## 📋 审查摘要
...

## 🔍 问题与建议
...

## 📊 评分明细
- 功能正确性与健壮性:35/40
- 安全性与潜在风险:25/30
- 最佳实践:18/20
- 性能与资源利用:4/5
- Commits信息清晰性:3/5

**总分:85分**

---

## 审查的代码变更

<details>
<summary>点击查看 diff</summary>

```diff
... diff 内容 ...

Review Criteria

详见 references/review-criteria.md。

Notes

  • diff 内容过长(>10000 tokens)时截取前 10000 tokens
  • 配置文件、lock 文件等自动生成的变更可跳过
  • 评分客观公正,扣分需给出具体理由
  • 问题定位到具体文件和行号