gitcode-pr-audit

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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gitcode-pr-audit" with this command: npx skills add autoxj/gitcode-pr-audit

GitCode 合入 PR 质量抽检

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

何时使用

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

认证

GITCODE_TOKEN:按以下优先级读取。

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

路径与跨平台

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

固化流程

  1. 解析参数:从用户输入提取 --repo(可多个)、--pr(可多个)、--branch--since--until--days--all--output 等。
  2. 调用脚本
    python <SKILL_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 全部检查。
  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)则「是」
无测试修改文件是否包含测试变更文件路径中均不包含 testut 则「是」
多 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 <S> --repo owner/repo
指定 PR 检查python <S> --repo owner/repo --pr 2905 --pr 2606
指定时间多仓抽检python <S> --repo org/a --repo org/b --since 2026-02-01 --until 2026-03-10
全部检查不抽样python <S> --repo owner/repo --days 7 --all
指定分支并写 CSVpython <S> --repo owner/repo --branch main --output report.csv
自定义配置python <S> --repo owner/repo --config /path/to/config.json

其中 <S><SKILL_ROOT>/scripts/pr_audit.py 的绝对路径。

历史版本

v1.0.0 (2026-03-11)

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

Session Password

Provides secure session authentication using bcrypt-hashed passwords, security questions, email recovery, and lockout protection with audit logging.

Registry SourceRecently Updated
Security

agent-bom scan

Security scanner for AI infrastructure — discovers MCP clients and servers, checks packages for CVEs (OSV, NVD, EPSS, KEV), maps blast radius, and generates...

Registry SourceRecently Updated
Security

agent-bom runtime

AI runtime security monitoring — context graph analysis, runtime audit log correlation with CVE findings, and vulnerability analytics queries. Use when the u...

Registry SourceRecently Updated