关于 repo-audit
repo-audit 是一个只读仓库检查技能,用于判断目录中的各项技能是否适用,并按依赖关系提出执行顺序。它只汇总检查结果并路由问题,不修改文件或调用写入型 API。
主要功能
- 01检查仓库配置与文件
- 02逐项报告技能适用状态
- 03支持 JSON 与 Markdown 输出
- 04可选读取 GitHub 仓库设置
- 05按依赖关系整理后续计划
适用场景
- 01盘点仓库尚未覆盖的维护检查
- 02确定应按何种顺序运行目录技能
- 03生成可用于脚本或 PR 评论的审计结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ paulnsorensen/ git-gouda --skill repo-audit安装后在 Claude Code 中输入/repo-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/checks.mdscripts/repo_audit.py详细介绍
repo-audit
以只读方式检查仓库,核对目录中其他所有技能的设置检查项。它只回答一个问题:哪些目录技能适用于此仓库,以及应该按什么顺序处理?
此技能不适用于哪些情况
- 应用修复——发现的问题应交由负责处理的技能(
oss-hygiene、gh-bootstrap等);此技能绝不会编辑文件或调用会更改数据的 API。 - 审查应用逻辑、测试或业务行为——这不在范围内。
- 替代目录技能自身的流程——此审计只是初步分诊,不能替代阅读该技能的
SKILL.md。
流程
1. 在仓库根目录运行捆绑脚本
python3 skills/repo-audit/scripts/repo_audit.py
添加 --github,还会运行只读的 gh api GET 调用(合并设置、规则集、delete_branch_on_merge、CODEOWNERS 错误端点)。--github 是可选项;默认运行只读取工作树和本地 git 元数据(git tag --list、git remote get-url origin)。
使用 --json 供程序读取,或使用 --markdown 将表格粘贴到 PR 评论中。除非脚本自身出错,否则始终以 0 退出——状态为 missing 或 warn 的行不代表脚本运行失败。
2. 脚本以只读方式检查,每个目录技能对应一行
| 检查项 | 检查内容 | 交由 |
|---|---|---|
| prek | prek.toml 或 .pre-commit-config.yaml | prek |
| oss-hygiene | LICENSE、CODE_OF_CONDUCT.md、CONTRIBUTING.md、SECURITY.md、.github/ISSUE_TEMPLATE、PULL_REQUEST_TEMPLATE、.github/dependabot.yml,以及 scorecard/codeql/dependency-review 工作流是否存在 | oss-hygiene |
| gh-bootstrap | .github/release.yml;使用 --github 时还会检查合并设置和非空规则集 | gh-bootstrap |
| safe-settings | .github/settings.yml(仅供参考) | safe-settings |
| config-review-bot | .coderabbit.yaml | config-review-bot |
| release | git tag --list 和 CHANGELOG.md | release |
| justfile | justfile | justfile |
| ci-optimize | 含有 concurrency: 的工作流(仅供参考) | ci-optimize |
| build-optimize | 跳过——需要测得的实际耗时数据 | build-optimize |
| github-copilot-repo-instructions | .github/copilot-instructions.md 或 .github/instructions/*.instructions.md | github-copilot-repo-instructions |
| codeowners | 根目录、docs/ 或 .github/ 中的 CODEOWNERS;使用 --github 时还会检查 codeowners/errors 端点 | codeowners |
| actions-pinning | 未固定到 40 位十六进制提交 SHA 的 uses: 引用数量 | actions-pinning |
| pr-title-lint | 包含 action-semantic-pull-request 或 commitlint 的工作流 | pr-title-lint |
| labels-as-code | .github/labels.yml 或 .github/labeler.yml | labels-as-code |
| repo-attributes | .gitattributes、.editorconfig、.gitignore | repo-attributes |
| branch-cleanup | 使用 --github 时检查 delete_branch_on_merge | branch-cleanup |
| agents-md | AGENTS.md 是否存在、是否小于 32 KiB、是否约少于 200 行 | agents-md |
每行的状态为 pass、warn、missing 或 skipped。skipped 表示此检查需要脚本无法静态收集的数据(build-optimize),或需要传入 --github 但未传入(branch-cleanup),并不表示仓库未通过检查。
3. 阅读表格并提出有序计划
脚本打印表格后,阅读状态为 missing 和 warn 的行,并提出有序计划,为每个缺口指出对应的目录技能。若存在依赖关系,应按依赖顺序排列缺口(例如,gh-bootstrap 先锁定合并相关设置,再由 oss-hygiene 添加面向贡献者的文件;工作流存在后,actions-pinning 才更重要)。不要自行应用任何修复——将每个缺口交由指定技能处理。
4. 不写入,不调用会更改数据的接口
此技能及其脚本绝不会创建、编辑或删除文件,也绝不会调用 GitHub API 的 POST、PATCH、PUT 或 DELETE 端点。--github 只会增加 GET 调用。如果用户要求审计“顺便修一下”,请拒绝,并改为重申第 3 步中的分流计划。
参考资料
references/checks.md— 每项检查对应一行,注明其检查的文件或端点,并在使用 API 时引用 docs.github.com。