OSS Contribution Research 是一个用于准备开源仓库外部贡献的技能。它通过一系列闸门(gate)引导流程,每个闸门要么以证据通过,要么以原因停止运行。停止是有效结果,应报告而不是绕过。
用途
该技能旨在帮助用户向自己不维护的开源仓库提交贡献,确保在每一步都符合仓库政策并获得必要许可。它强调人工审批,代理本身从不直接发布任何内容。
主要能力
- 策略检查:分类仓库对 AI 拉取请求的政策(允许、沉默或禁止),并引用具体行。
- 所有权分类:区分用户自己的工作与他人工作,将用户自己的拉取请求或声明路由到跟进项。
- 节流与节奏控制:防止在同一个仓库短时间内提交多个拉取请求。
- 重复与声明检查:搜索开放和已关闭的拉取请求及问题线程,避免重复工作。
- 问题验证:仅处理现有问题或通过复现确认的 bug,检查默认分支上 bug 是否仍然存在。
- 接收闸门:在需要维护者分配、接受标签或批准时,生成接收队列项,等待批准后再编写补丁。
- 复现要求:在修复前需要失败的测试或文档化的复现步骤,并记录复现记录。
- 补丁与检查:制作最小单用途更改,运行仓库测试和 linter,确保在提交的提交上通过。
- 大小与批评者闸门:更改需能在 5 分钟内通过 3-5 句摘要审查;另一个代理在精确头部提交上重新运行复现和测试套件。
- 披露:根据注册表模板填写结构化披露字段,处理 AI 归属规则。
- 队列项生成:生成符合模板的队列项,包含唯一 ID、头部和基础 SHA、每个闸门的结果、披露字段、完整差异(如需要)和文本块的 sha256。
- 离线验证:在队列的海报夹具(干运行)模式下验证队列项,不进行 GitHub 调用。
使用方式
该技能需要以下输入:目标仓库(owner/repo)及现有问题或拉取请求 URL、可复现的 bug,或搜索仓库开放问题的请求;队列快照(注册表、已发布账本、暂停状态);只读令牌;目标仓库的本地克隆;队列仓库的本地克隆。运行流程包括:导出队列快照并切换到只读令牌;运行闸门 1 到 3;对于新工作运行闸门 4 到 6;决定操作类型;复现;补丁和检查;大小评估;交给批评者;起草确切文本;构建队列项;离线验证后停止,返回队列项给用户。归档和发布是单独的步骤,仅在用户批准后通过队列的海报进行。
适用场景
- 处理用户不维护的仓库中已有问题或已确认 bug。
- 在开始工作前检查仓库是否接受 AI 辅助的拉取请求。
- 在编写补丁前向维护者询问许可(接收评论)。
- 将修复转化为小规模、已披露的拉取请求草稿,供人工批准。
- 跟进用户自己的外部拉取请求:审查回复、14 天 ping 或 28 天关闭。
- 运行带有审批队列和每仓库注册表的贡献流水线。
限制
- 不适用于审查用户维护仓库中的拉取请求、更新用户自己项目的依赖、为用户自己的产品编写功能规格、为本目录编写新技能。
- 拒绝未经请求对他人仓库进行重构、重写或添加功能。
- 代理从不直接发布内容;所有出站操作仅通过队列的海报在批准后进行。
- 需要只读令牌,并且用户需运行写拒绝探测(预期 403)。
- 浏览器复现需要连接的浏览器工具;否则只能提交接收项。
- 停止报告或无合格候选报告永远不会作为队列项归档。