返回顶部
g

gitcode-pr-auditGitCode PR质量审计

Quality audit for merged GitCode PRs: sample by time range or repo list, check compliance (labels, comments, tests, size, etc.), output table. Use when user asks to 抽检/质量检查 已合入的 PR 规范性、多仓库 PR、或 将结果整理成表格. Multi-repo (owner/repo). Python 3.7+ stdlib only.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
214
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

gitcode-pr-audit

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 GITCODETOKEN=...。
  • 未配置时:脚本报错并提示到 GitCode 个人访问令牌 创建并设置环境变量。

路径与跨平台

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

固化流程

  1. 1. 解析参数:从用户输入提取 --repo(可多个)、--pr(可多个)、--branch、--since、--until、--days、--all、--output 等。
  2. 调用脚本
bash python ROOT>/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 全部检查。

  1. 3. 读取结果:脚本将表格输出到 stdout(Markdown 格式);若指定 --output 则同时写入该文件(.md 或 .csv)。退出码非 0 或 stderr 有错误时,向用户展示错误并结束。
  2. 成功:将 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 评论中 commenttype == diffcomment 且 resolved == false 则记为「是」
流水线/标签
是否缺少必选标签(含流水线通过) | 配置的 required_labels 缺任一则「是」 | | 缺必选标签 | 同上,与「流水线」合并为配置的必选标签集合 | 见 config.json required_labels | | 新增超行数 | 新增代码行是否超过阈值 | 超过 max_additions(默认 1000)则「是」 | | 无测试 | 修改文件是否包含测试 | 变更文件路径中均不包含 test 或 ut 则「是」 | | 多 Issue | 是否关联超过 1 个 Issue | 关联 Issue 数 > 1 则「是」 | | 缺检视 | 大 PR 是否缺乏检视意见 | 新增行数 > reviewlinesthreshold(默认 500)且 diff 评论数为 0 则「是」 | | 标题/描述不清晰 | 标题与描述是否过短或过于笼统 | 标题长度 < titleminlength(默认 5)或描述长度 < bodyminlength(默认 10)则「是」;满足长度后若标题/描述明显含糊(如仅「fix」「修改」无实质说明),则判为「是」 |
  • - 表格列:仓库、PR(以 #编号 带链接,无单独链接列)、标题、各维度详情、问题汇总。
  • 维度列为详情文案
- 评论未解决:否(已解决数/总 diff 评论数) 或 是(未解决数/总数),如 否(1/10)、是(2/5)。 - 缺必选标签:否 或 是(缺:label1、label2)。 - 新增超行数:否(实际行数) 或 是(实际行数)。 - 多 Issue:否(0) 或 是(N)。 - 缺检视:否 或 是(新增 N 行,0 个检视)。 - 标题/描述不清晰:否 或 是(原因,如标题过短、描述过短、描述笼统)。
  • - 最后一列「问题汇总」为该项 PR 所有不通过维度的简短罗列。

配置(config.json)

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

字段含义默认
requiredlabels必选标签列表(缺一即不通过)[ci-pipeline-passed, approved, lgtm]
maxadditions
新增行数阈值,超过记为「新增超行数」 | 1000 |
| reviewlinesthreshold | 超过此行数且

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gitcode-pr-audit-1776118585 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gitcode-pr-audit-1776118585 技能

通过命令行安装

skillhub install gitcode-pr-audit-1776118585

下载

⬇ 下载 gitcode-pr-audit v1.0.0(免费)

文件大小: 12.63 KB | 发布时间: 2026-4-15 12:53

v1.0.0 最新 2026-4-15 12:53
🎉 Initial release of gitcode-pr-audit

- Provides quality audit for merged GitCode PRs across multiple repositories.
- Samples PRs by time range or PR list, analyzes 8 key compliance dimensions (labels, comments, tests, size, etc.).
- Outputs results as a Markdown or CSV table; command-line tool, Python 3.7+ stdlib only.
- Flexible parameter parsing, with robust multi-repo and branch support.
- Requires GITCODE_TOKEN for authentication; supports Linux/macOS/Windows.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部