Skip to content
Conduit

skill

auto-pr-workflow

全自动 PR 提交工作流 — 从代码变更到合并,最大限度减少人工干预

KuaaMU/auto-pr-workflowcommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/KuaaMU/auto-pr-workflow itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 25, 2026

Auto-PR Workflow

教 AI Agent 自主提交高质量 PR 的方法论。

不是自动化脚本,不是 CLI 工具 — 是一套让 Agent 像资深贡献者一样思考、分析、执行的工作流。

核心原则

  1. 先理解,再动手 — 不读完 README/CONTRIBUTING/CI 不写一行代码
  2. 最小修复 — 改动越小越容易被 merge,不要顺手重构
  3. 维护者视角 — 每个 PR 都在增加维护者的审查负担,你的 PR 必须值得
  4. 诚实透明 — PR 描述说清楚改了什么、为什么、怎么验证,不夸大
  5. 知道何时不 PR — 项目明确拒绝 AI PR、没有真实痛点、改动有风险 → 停下来
  6. 合并率是唯一硬指标 — < 10% 就停止提交,先推已有 PR 合并

工作流

深度分析项目(README、CONTRIBUTING、CI、Issues、代码)
    │
    ▼
维护者友好度评估(该项目接受 AI PR 吗?)
    │
    ▼
制定策略(什么 PR 有价值、什么会被拒绝)
    │
    ▼
调用 Claude Code 执行代码工作(小任务、精确指令)
    │
    ▼
自审 + 测试(第二个实例审查,覆盖并发/崩溃/边界)
    │
    ▼
提交 PR + 监控 CI
    │
    ▼
回应审查反馈 + 修复
    │
    ▼
结构化复盘 + 更新方法论

信任梯度

Agent 应该像一个有礼貌的新贡献者一样,渐进式建立信任:

接触次数贡献类型风险
第一次文档修复 / Typo 修正零风险,建立存在感
第二次补充测试用例低风险,展示技术能力
第三次+修复 Bug(有复现步骤)中风险,此时已有信任基础

安装

方式一:Hermes Agent(推荐)

hermes skills install https://raw.githubusercontent.com/KuaaMU/auto-pr-workflow/main/skills/auto-pr-workflow/SKILL.md -y

方式二:手动安装

git clone https://github.com/KuaaMU/auto-pr-workflow.git
cd auto-pr-workflow
# 核心方法论在 skills/auto-pr-workflow/SKILL.md

前置依赖

  • Git
  • GitHub CLI (gh) 并登录
  • Python 3.8+(用于批量审计脚本)
  • Claude Code 或其他 AI Agent 框架
# 安装 GitHub CLI
brew install gh  # macOS
# 或
sudo apt install gh  # Ubuntu

# 登录 GitHub
gh auth login

使用教程

1. 单次执行:提交一个 PR

方式 A:让 Agent 自主执行

# 使用 Hermes Agent
hermes delegate_task --goal "分析项目 X,提交一个有价值的 PR" \
  --context "使用 auto-pr-workflow skill 的方法论"

方式 B:指定具体项目和 Issue

hermes delegate_task --goal "为 warpdotdev/warp 修复 Issue #9745" \
  --context "
项目:warpdotdev/warp (Rust, ⭐51K)
Issue:#9745 - Add Hermes CLI agent detection
要求:
1. 先读 CONTRIBUTING.md 和 AGENTS.md
2. 检查是否有 .agents/ 目录(AI 友好项目)
3. 用 auto-pr-workflow skill 的方法论执行
4. 提交后更新 PR-LOG.md
"

方式 C:并发提交多个 PR

hermes delegate_task --role orchestrator --tasks '[
  {
    "goal": "为 projectA 提交 PR",
    "context": "项目语言: Go, Issue: #123, 修复方案: ...",
    "toolsets": ["terminal", "file"]
  },
  {
    "goal": "为 projectB 提交 PR",
    "context": "项目语言: Rust, Issue: #456, 修复方案: ...",
    "toolsets": ["terminal", "file"]
  }
]'

2. 批量 PR 审计

检查所有 open PR 的状态:

# 进入 skill 目录
cd ~/.hermes/skills/auto-pr-workflow

# 运行审计脚本
python3 scripts/batch-pr-audit.py

输出示例:

🔍 Fetching open PRs... (2026-05-02 10:00 UTC)
Found 26 external open PRs

============================================================
📊 PR WATCHDOG REPORT (26 external open PRs)
============================================================

✅ READY TO MERGE (1)
  chenhg5/cc-connect #828 — feat: add DingTalk image message handling
    CI: 5/5 passing | https://github.com/chenhg5/cc-connect/pull/828

⚠️ NEEDS ACTION (2)
  delucis/astro-og-canvas #172 — docs: add bgImage usage examples
    Changes requested by: ['delucis']
  PostHog/posthog-js #3508 — fix: consume fetch response body
    CI: 7 real failures

📭 NO ACTIVITY (16)
  ...

Summary: ✅1 ⚠️2 💬7 🔀0 💤0 📭16

3. 持续监控(Cron Job)

设置定时任务自动监控 PR 状态:

# 创建 cron job,每 2 小时检查一次
hermes cronjob create \
  --name "PR 状态复查" \
  --schedule "0 */2 * * *" \
  --prompt "
你是 PR 监控 Agent。运行 batch-pr-audit.py 脚本检查所有 open PR。

如果有以下事件,通知用户:
- ✅ PR 被合并
- ❌ CI 持续失败
- ⚠️ 维护者请求修改
- 🔀 合并冲突

无事件时只回复:✅ PR 状态正常,无需干预。
" \
  --skills '["auto-pr-workflow"]' \
  --deliver telegram

4. 查看 PR 记录

# 查看 PR-LOG.md
cat ~/.hermes/skills/auto-pr-workflow/PR-LOG.md

# 查看案例库
ls ~/.hermes/skills/auto-pr-workflow/test-records/

5. 自定义配置

修改 OWN_REPOS(排除自有仓库)

编辑 scripts/batch-pr-audit.py:

OWN_REPOS = {"KuaaMU/omnihive", "KuaaMU/auto-pr-workflow", "KuaaMU/clay"}

修改合并率阈值

MERGE_RATE_THRESHOLD = 0.10  # 10%,低于此值报警

修改 stale 检测天数

STALE_DAYS = 7  # 超过 7 天无更新视为 stale

项目结构

auto-pr-workflow/
├── skills/
│   └── auto-pr-workflow/
│       ├── SKILL.md              # 核心方法论(v3.12.0)
│       ├── PR-LOG.md             # PR 提交记录
│       ├── scripts/
│       │   └── batch-pr-audit.py # 批量 PR 审计脚本
│       └── references/           # 详细文档
│           ├── anti-patterns.md  # 20+ 失败模式
│           ├── gh-cli-quirks.md  # GitHub CLI 坑点
│           ├── rust-clippy-patterns.md
│           ├── batch-pr-audit.md
│           └── ...
├── test-records/                 # 案例库
└── README.md

战略原则

做减法再做加法:合并率 < 10% 时,停止提交新 PR,优先推动已有 PR 合并。

合并率策略
< 10%停止新 PR,全力跟踪现有 PR
10-30%放慢节奏,增加跟踪频率
> 30%可以继续提交

实战统计

口径声明(重要):本仓库的 PR 数字不能与 AIInfra 课程贡献合并统计—— 两者性质完全不同:AIInfra 是受聘人工编写(12 提交/11 合并,2025-0912), 本节是 agent 流水线产出(2026-0405 自动化窗口)。

分类PR 总数已合并未合并/关闭open合并率
本流水线(外部仓库)661842627.3%
本仓库自提(auto-pr-workflow 等)6600—
AIInfra 课程贡献(人写,另计)111100—

全账号共 83 个 PR,覆盖 20 个仓库(含自有)。

① agent 流水线产出的已合并 PR(外部仓库)

项目PR描述合并日期
anthropics/claude-agent-sdk-python#219Fix Windows test failures due to path separator issues2025-10-07
anthropics/claude-agent-sdk-python#245handle Windows command line length limit for --agents op2025-10-11
chenhg5/cc-connect#828add DingTalk image message handling2026-04-30
entireio/cli#1086use agent-neutral wording in explain empty-state message2026-04-30
h4ckf0r0day/obscura#73implement CharacterData DOM API for jQuery DataTables co2026-04-30
DeusData/codebase-memory-mcp#306add .m extension to EXT_TABLE for content-based disambig2026-04-30
rtk-ai/rtk#1645remove max_lines cap from helm filter that truncates tem2026-04-30
garritfra/cell#85escape quotes and backslashes in .cell format labels2026-04-30
marco-prontera/vite-plugin-css-injected-by-js#166update outdated GitHub Actions and improve CI reliabilit2026-04-30
tod-org/tod#1577replace once_cell with std::sync::LazyLock2026-04-30
mco-org/mco#83close stdout/stderr pipes in AcpTransport.close()2026-04-30
esengine/DeepSeek-Reasonix#62add unit tests for clipboard.ts2026-05-01
bytecodealliance/wrpc#1170add Unix Domain Socket transport example2026-05-01
warpdotdev/warp#9833add Hermes CLI agent detection and configuration2026-05-01
go-openapi/runtime#422handle literal colons in URL paths for denco router2026-05-01
kontext-security/kontext#88add exponential backoff to sidecar heartbeat loop2026-05-01
NodeJSmith/hassette#644install fd-find so docker requirements tests run in CI2026-05-02
esengine/DeepSeek-Reasonix#911sensitive-path pattern guard for run_command args (#259)2026-05-15

⚠️ facebook/openzl #702 是特例:GitHub API 的 merged 字段为 false, 但 Meta 通过内部 diff 同步落地(meta-codesync[bot] 记录 + 官方 Merged 标签), 维护者公开回复 "Good find @KuaaMU !"。代码确实合入,只是未经 GitHub merge 动作。

② 自有仓库(6 个)

项目PR描述合并日期
KuaaMU/swarmmind#3SwarmMind v1 bootstrap — Zod schemas, LiquidityAgent, Co2026-03-16
KuaaMU/omnihive#6Execution Control Plane - Phase 0-4 Complete2026-03-19
KuaaMU/auto-pr-workflow#5Add skill: auto-pr-workflow2026-04-29
KuaaMU/auto-pr-workflow#4add submit.sh tests2026-04-29
KuaaMU/auto-pr-workflow#3resolve all shellcheck warnings2026-04-29
KuaaMU/auto-pr-workflow#2add checks.sh tests and fix bash syntax validation2026-04-29

③ AIInfra 课程贡献(11 个,人工编写)

项目PR描述合并日期
Infrasys-AI/AIInfra#175增加Gpipe的小节,调整了小节的顺序,使实验路线更平缓2025-09-11
Infrasys-AI/AIInfra#211增加了最终的对比测试。添加显存占用对比2025-09-21
Infrasys-AI/AIInfra#233补充更新Code03Pipeline.md文件2025-09-26
Infrasys-AI/AIInfra#2384.3.1初试2025-09-28
Infrasys-AI/AIInfra#245单GPU模拟测试2025-10-05
Infrasys-AI/AIInfra#277修改Code01ZeRO、Code04Expert2025-10-12
Infrasys-AI/AIInfra#285fix/Code01ZeRO:大幅度修改实验代码,添加文本介绍2025-10-14
Infrasys-AI/AIInfra#303Fix:Code02Megatron,修改分布式训练代码,并验证2025-10-24
Infrasys-AI/AIInfra#322Fix:补充验对比验证TP内存优化2025-11-05
Infrasys-AI/AIInfra#327修正启动方式,可在jupyter内一键自动运行。同步markdown文件。2025-11-07
Infrasys-AI/AIInfra#365OpenCompass实践2025-12-06

实验结论(负结果,如实记录)

  • 自动化窗口外部合并率 27.3%(18/66),低于本项目之前的手写期 68%。
  • 据此于 2026-08 停止对陌生仓库的自动化批量投递, 改为只对有真实痛点、维护者明确欢迎 PR 的仓库定向提交。
  • 失败模式已沉淀进 anti-patterns/,每条附真实仓库与 PR 编号。

关键教训

教训来源
必须先开 Issue 讨论再提交实现config-rs #751
测试必须验证真实逻辑而非 Mock 行为dali2mqtt #72
Fork PR 必须从干净 upstream 分支创建rtk #1645
自审必须覆盖错误路径和并发场景dingo #86
squash merge 不一定设置 mergedAtopenzl #702
C 项目首次构建慢,用 background=truecodebase-memory-mcp #306
git config user.name 必须匹配 GitHub 身份daily-api #3836

常见问题

Q: 如何判断一个项目是否接受 AI PR?

检查以下信号:

  1. 有 .agents/ 或 AGENTS.md 文件
  2. CONTRIBUTING.md 提到 "you can use any coding agent"
  3. 有 ready-to-implement 或 good first issue 标签
  4. 近期有 AI agent 提交的 PR 被合并
  5. 有 AI review bot(Oz、CodeRabbit、Copilot)

Q: PR 提交后多久能合并?

取决于项目活跃度:

  • 活跃项目:1-7 天
  • 一般项目:1-4 周
  • 不活跃项目:可能永远不合并

建议:14 天无更新的 PR 发一条友好提醒。

Q: CI 失败怎么办?

  1. 检查是否是预期失败(Vercel fork 授权、artifact upload)
  2. 运行 gh run view <RUN_ID> --log-failed 查看具体原因
  3. 修复代码后 push,CI 会自动重跑
  4. 如果是基础设施问题,push 空 commit 触发 re-run

Q: 如何提高合并率?

  1. 选择 AI 友好项目
  2. 首次贡献只做 docs/typo
  3. 修复真实 Bug 而非添加功能
  4. 小 PR(< 10 文件)更容易被审查
  5. 提供完整的测试覆盖

Q: 如何处理 CodeRabbit/Copilot 的审查?

  1. 先检查反馈是否有效
  2. 如果建议合理,修复代码后回复
  3. 如果是误报,礼貌解释
  4. 添加回归测试是最有力的回应

与竞品的区别

Qodo Merge / CodeRabbitSweep / DevinAuto-PR Workflow
主体CLI / 服务AgentSkill(方法论)
思考方式固定流程任务执行深度分析 + 自主决策
适用场景代码审查自动修复开源贡献全流程
独立运行✅✅需要 Agent 框架

贡献

欢迎贡献!请先阅读 CONTRIBUTING.md。

License

MIT

↑↓ navigate openesc close