mcpField
R
repo-audit

repo-audit

github.com/paulnsorensen开发063 次安装1 周前更新
代码仓库

关于 repo-audit

repo-audit 是一个只读仓库检查技能,用于判断目录中的各项技能是否适用,并按依赖关系提出执行顺序。它只汇总检查结果并路由问题,不修改文件或调用写入型 API。

主要功能

  1. 01检查仓库配置与文件
  2. 02逐项报告技能适用状态
  3. 03支持 JSON 与 Markdown 输出
  4. 04可选读取 GitHub 仓库设置
  5. 05按依赖关系整理后续计划

适用场景

  1. 01盘点仓库尚未覆盖的维护检查
  2. 02确定应按何种顺序运行目录技能
  3. 03生成可用于脚本或 PR 评论的审计结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paulnsorensen/git-gouda --skill repo-audit

安装后在 Claude Code 中输入/repo-audit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
checks.md
scripts/
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. 脚本以只读方式检查,每个目录技能对应一行
检查项检查内容交由
prekprek.toml 或 .pre-commit-config.yamlprek
oss-hygieneLICENSE、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.yamlconfig-review-bot
releasegit tag --list 和 CHANGELOG.mdrelease
justfilejustfilejustfile
ci-optimize含有 concurrency: 的工作流(仅供参考)ci-optimize
build-optimize跳过——需要测得的实际耗时数据build-optimize
github-copilot-repo-instructions.github/copilot-instructions.md 或 .github/instructions/*.instructions.mdgithub-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.ymllabels-as-code
repo-attributes.gitattributes、.editorconfig、.gitignorerepo-attributes
branch-cleanup使用 --github 时检查 delete_branch_on_mergebranch-cleanup
agents-mdAGENTS.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。

评论

支持 Markdown