GitCode PR Audit

Polar Sponsor
爱发电 赞助
.NET 9.0

对已合并的GitCode PR进行质量审计:按时间范围或仓库列表抽样,检查合规性(标签、评论、测试、大小等),输出表格。用户...

GitCode 合入 PR 质量抽检

功能概述

GitCode 合入 PR 质量抽检是一项面向实际任务的技能,主要用于对指定时间范围内合入主分支的 PR 进行抽检,按多维度判断质量并输出表格;支持多仓库、可配置阈值与必选标签,输出可写为 Markdown 或 CSV;

核心要点

  • 用户表达以下任一意图时使用本 skill:;
  • 规范性抽检/质量抽检 :如「对已合入的 PR 进行质量抽检」「最近 30 天合入的 PR 抽检」「已合入 PR 规范性检查」;
  • 多仓库/仓库列表 :如「对。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

GitCode 合入 PR 质量抽检

对指定时间范围内合入主分支的 PR 进行抽检,按多维度判断质量并输出表格。支持多仓库、可配置阈值与必选标签,输出可写为 Markdown 或 CSV。

何时使用

  • 用户表达以下任一意图时使用本 skill:
    • 规范性抽检/质量抽检:如「对已合入的 PR 进行质量抽检」「最近 30 天合入的 PR 抽检」「已合入 PR 规范性检查」;
    • 多仓库/仓库列表:如「对以下仓库的 PR 抽检」「对owner组织下某几个仓库的 PR 检查」;
    • 输出形式:如「将抽检结果整理成表格」「输出表格形式」。
  • 需提供 至少一个仓库(格式 owner/repo);可多仓库、可选时间(默认最近 30 天)与分支、可选抽检数量或「全部」检查。

认证

GITCODE_TOKEN:按以下优先级读取。

优先级 来源
1 进程环境变量 GITCODE_TOKEN
2 Windows 用户级环境变量
3 Windows 系统级环境变量
  • Linux/macOS:在 ~/.bashrc 或 ~/.zshrc 中 export GITCODE_TOKEN="..."。
  • 未配置时:脚本报错并提示到 GitCode 个人访问令牌 创建并设置环境变量。

路径与跨平台

  • 技能根目录(SKILL_ROOT):本 SKILL.md 所在目录。脚本通过 __file__ 定位,不依赖当前工作目录。
  • 支持 Linux / macOS / Windows;执行时使用脚本绝对路径(如 python /scripts/pr_audit.py ...)。

固化流程

  1. 解析参数:从用户输入提取 --repo(可多个)、--pr(可多个)、--branch、--since、--until、--days、--all、--output 等。
  2. 调用脚本:
    python /scripts/pr_audit.py --repo owner/repo [--pr N] [--pr N2 ...] [--branch BRANCH] [--since YYYY-MM-DD] [--until YYYY-MM-DD] [--days N] [--all] [--output path.md|path.csv]
    
    • 指定 PR 时:使用 --pr N(可多次)并且仅指定一个 --repo,脚本只检查这些 PR,不按时间范围拉取。
    • 未指定 --pr 时:未指定时间则默认 最近 30 天(--days 30);指定 --since/--until 则按用户时间。
    • 未指定分支时,每个仓库依次尝试 master → develop → main,都不存在则报错;指定则用指定分支,不存在则报错。
    • 未指定抽检数量时,每个仓库随机抽 5~10 条分析,不足 5 条则全部分析;用户明确「全部」或「所有」或传 --all 时,该时间范围内合入的 PR 全部检查。
  3. 读取结果:脚本将表格输出到 stdout(Markdown 格式);若指定 --output 则同时写入该文件(.md 或 .csv)。退出码非 0 或 stderr 有错误时,向用户展示错误并结束。
  4. 成功:将 stdout 表格呈现给用户;若写入了文件,说明路径。

脚本参数

参数 必填 说明
--repo 是(可多次) 仓库,格式 owner/repo,可多次传入多仓库
--pr 否(可多次) 指定 PR 编号;与时间范围二选一,使用时常需且仅需一个 --repo
--branch 否 目标分支;未传时自动尝试 master → develop → main
--since 否 起始日期 YYYY-MM-DD(含该日 00:00 上海时间)
--until 否 结束日期 YYYY-MM-DD(含该日 24:00 前)
--days 否 最近 N 天(默认 30);与 since/until 二选一,未指定 since/until 时生效
--all 否 不抽样,该时间范围内合入的 PR 全部检查
--output 否 输出文件路径,扩展名 .md 或 .csv,UTF-8(CSV 带 BOM)
--config 否 配置文件路径,未传则使用技能根目录下 config.json
  • 指定 PR:传 --pr N(可多个)时仅检查这些 PR,需且仅需一个 --repo,不按时间筛选。
  • 时间约定:仅用 --days、或仅用 --since/--until。若同时传,脚本按 --since/--until 优先。
  • 多仓库时:每个仓库各自按上述规则抽样或全部检查(方案 A)。

分析维度(8 项)

维度 说明 判定
评论未解决 是否存在未解决的 diff 检视意见 PR 评论中 comment_type == "diff_comment" 且 resolved == false 则记为「是」
流水线/标签 是否缺少必选标签(含流水线通过) 配置的 required_labels 缺任一则「是」
缺必选标签 同上,与「流水线」合并为配置的必选标签集合 见 config.json required_labels
新增超行数 新增代码行是否超过阈值 超过 max_additions(默认 1000)则「是」
无测试 修改文件是否包含测试 变更文件路径中均不包含 test 或 ut 则「是」
多 Issue 是否关联超过 1 个 Issue 关联 Issue 数 > 1 则「是」
缺检视 大 PR 是否缺乏检视意见 新增行数 > review_lines_threshold(默认 500)且 diff 评论数为 0 则「是」
标题/描述不清晰 标题与描述是否过短或过于笼统 标题长度 < title_min_length(默认 5)或描述长度 < body_min_length(默认 10)则「是」;满足长度后若标题/描述明显含糊(如仅「fix」「修改」无实质说明),则判为「是」
  • 表格列:仓库、PR(以 #编号 带链接,无单独链接列)、标题、各维度详情、问题汇总。
  • 维度列为详情文案:
    • 评论未解决:否(已解决数/总 diff 评论数) 或 是(未解决数/总数),如 否(1/10)、是(2/5)。
    • 缺必选标签:否 或 是(缺:label1、label2)。
    • 新增超行数:否(实际行数) 或 是(实际行数)。
    • 多 Issue:否(0) 或 是(N)。
    • 缺检视:否 或 是(新增 N 行,0 个检视)。
    • 标题/描述不清晰:否 或 是(原因,如标题过短、描述过短、描述笼统)。
  • 最后一列「问题汇总」为该项 PR 所有不通过维度的简短罗列。

配置(config.json)

位于技能根目录,或通过 --config 指定。字段说明:

字段 含义 默认
required_labels 必选标签列表(缺一即不通过) ["ci-pipeline-passed", "approved", "lgtm"]
max_additions 新增行数阈值,超过记为「新增超行数」 1000
review_lines_threshold 超过此行数且无 diff 评论则记为「缺检视」 500
title_min_length 标题最小字符数 5
body_min_length 描述最小字符数 10
test_substrings 判定「含测试」时路径需包含的子串 ["test", "ut"]

输出格式

  • 表格列:仓库、PR(#编号 带链接)、标题、评论未解决、缺必选标签、新增超行数、无测试、多 Issue、缺检视、标题/描述不清晰、问题汇总(无单独链接列,链接在 PR 列)。
  • stdout:始终输出 Markdown 表格(便于控制台查看)。
  • --output .md:与 stdout 相同的 Markdown 表格写入文件。
  • --output .csv:同一内容写入 CSV,UTF-8 带 BOM,便于 Excel 打开。

禁止

  • 禁止在未得到脚本输出前猜测或伪造数据。
  • 禁止在用户未提供至少一个 --repo 时执行脚本。

示例

用户意图 命令
最近 30 天单仓抽检 python --repo owner/repo
指定 PR 检查 python --repo owner/repo --pr 2905 --pr 2606
指定时间多仓抽检 python --repo org/a --repo org/b --since 2026-02-01 --until 2026-03-10
全部检查不抽样 python --repo owner/repo --days 7 --all
指定分支并写 CSV python --repo owner/repo --branch main --output report.csv
自定义配置 python --repo owner/repo --config /path/to/config.json

其中 为 /scripts/pr_audit.py 的绝对路径。

历史版本

v1.0.0 (2026-03-11)

  • 🎉 初始版本发布
  • 📊 支持按时间范围抽检、8 维度质量分析

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2281

6

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2517

7

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

714

5

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1260

6

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

3859

9

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

0

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

0

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

0

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

0

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 7.9万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.8万人学习