Skip to content
tomsen02Public

About

Evaluate GitHub projects from an outside contributor's perspective. An agent skill with a read-only collector and evidence-based methodology.

Resources

Stars

99 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

OSS Audit

Before your first PR, understand how a project works with outside contributors.

View on skills.sh

一个从外部贡献者视角评估 GitHub 项目的 Agent Skill:看实际 PR 合并、回应、治理和贡献机会,帮助你决定是否投入时间。

它输出可追溯的统计和审计卡,区分事实、推断和未知。Star 数只作背景;低活跃不会直接被判成“不友好”。

能看什么

维度 证据
开放度 外部作者代理分类、合并条数、已处理 PR 的合并占比
处理速度 合并与关闭耗时、尚未处理的 PR
沟通 排除作者自评和机器人的 issue 回复样本,人工查看 review 和关闭原因
成长空间 贡献规范、治理文件、外部贡献者成为维护者的先例
是否适合你 技术栈、测试成本、可参与任务和你的目标

输出 raw.json、report.json 和 report.md。采集器负责数据;Agent 根据真实讨论和治理文件补全判断。可选评分为启发式指标,样本不足时不打分。

快速开始

需要 Python 3.10+、GitHub CLI 和已登录的 GitHub 账号。无需 pip 包、jq 或 API SDK。

git clone https://github.com/tomsen02/oss-audit.git
cd oss-audit
gh auth login
python3 scripts/collect.py owner/repo --days 90 --output /tmp/my-oss-audit

将 owner/repo 换成目标仓库;输出目录必须不存在。也可以运行 bash collect.sh owner/repo。使用普通 GitHub 读取权限即可,不需要管理员权限。

默认最多取 10 页、每页 100 个 PR。大型仓库可增加 --max-pages 50;取不完整时会明确标记 partial,停止计算每周速率和评分。

通过 Skills CLI 安装

在你希望使用技能的项目目录中运行:

npx skills add tomsen02/oss-audit --skill oss-audit

按提示选择目标 Agent 和安装范围。已验证 Claude Code 的项目范围安装;需要 Node.js/npm 来运行安装器,运行采集器仍需要 Python 和已登录的 gh。

明确安装到当前项目的 Claude Code 目录:

npx skills add tomsen02/oss-audit --skill oss-audit --agent claude-code --copy

安装后在该项目中调用 /oss-audit owner/repo。市场页面见 skills.sh。

手动安装为 Claude Code Skill

把整个仓库目录放到 ~/.claude/skills/oss-audit,然后调用:

/oss-audit owner/repo

若已有同名技能,先备份旧版本。其他支持 SKILL.md 的 Agent 可加载本仓库的 SKILL.md,并保留 scripts/ 和 references/ 的相对位置。采集器也可独立运行。

可以这样提问:

评估 owner/repo 对外部贡献者是否友好,重点看新贡献者获得实质 review 的机会。给出证据、未知项和一个最小参与建议。

用相同的 90 天窗口比较 owner/repo-a 和 owner/repo-b,说明样本覆盖情况,不要只按分数排序。

如何理解结果

  • “外部”基于 GitHub authorAssociation,不等同于员工身份核实。
  • “已处理 PR 合并占比”不等同于新 PR 被接纳的概率;待处理 PR 不在分母里。
  • 关闭但未合并可能是重复、撤回或方案变更,需要读上下文。
  • 少量样本、分页截断、身份不明和仍在排队的 PR 都会影响结论。
  • 0–100 分需要补齐人工沟通和治理证据;脚本最多提供 75 分的量化部分。

完整定义、评分公式和局限见 methodology。原版的个人工作区路径、旧项目榜单和强制更新个人 CSV 行为已移除。

隐私与权限

采集器只读 GitHub,在你指定的目录保存结果。它不会发评论、建 issue、fork、push,也不会上传报告到第三方。报告可能包含你有权读取的私有仓库元数据;请自行决定哪些报告可以分享。默认忽略 audit-output/。

统计阶段不请求仓库描述、PR 标题和讨论正文。定性评估仍需要阅读第三方文字:Skill 明确这些文字不能授权执行命令、读取凭据、上传文件或改变评分。此约束依赖宿主 Agent 执行,不能保证消除提示注入风险;市场的第三方内容风险警告仍可能保留。测试范围见 安全验证说明。

开发与验证

python3 -m unittest discover -s tests -v
bash -n collect.sh

测试覆盖空仓库、窗口边界、机器人/未知身份、作者自评、分页截断和 API 失败。CI 运行离线测试,不需要 GitHub token。欢迎带最小复现和匿名化样本的改进;不要提交 token 或私有仓库报告。

English

OSS Audit is an agent skill and a standalone, read-only GitHub collector for evaluating outside-contributor experience. It reports PR flow, an explicit external-author proxy, resolution times, reply samples, and evidence for governance and contribution fit.

Install the skill with npx skills add tomsen02/oss-audit --skill oss-audit, or use the collector directly: install Python 3.10+ and authenticated gh, then run python3 scripts/collect.py owner/repo. Load SKILL.md in a compatible agent for qualitative review. Results are written to a fresh local directory. There are no Python package dependencies and no GitHub mutations.

Scores are optional heuristics, not validated rankings. Incomplete coverage and insufficient samples withhold quantitative scoring. See methodology for exact definitions and known biases.

License

MIT

About

Evaluate GitHub projects from an outside contributor's perspective. An agent skill with a read-only collector and evidence-based methodology.

Resources

Stars

99 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages