Skill: godnight/github-pr-manager (version 1.0.0)

--- name: github-pr-manager description: GitHub PR 全流程管家。用于自动化管理 Pull Request 的整个生命周期：初始化跟踪、检查 CI 状态、处理 Review 意见、修复 DCO/代码问题、回复评论，直到 PR 合入 main。当用户需要持续跟进 PR 状态、处理 reviewer 反馈、自动化 GitHub 操作时触发此 skill。 --- # GitHub PR 全流程管家 这个 skill 让你可以像有一个专职 PR 助理一样，自动处理从提交到合入的所有事务。 ## 核心能力 ### 1. PR 初始化与跟踪 当用户提交新 PR 或要求跟踪已有 PR 时： ``` 步骤： 1. 确认仓库名和 PR 号 2. 使用 gh CLI 或浏览器获取 PR 当前状态 3. 创建 memory/pr-tracking.md 记录初始状态 4. 设置 cron 定时检查（默认每 2 小时） 5. 告知用户当前状态和阻塞项 ``` ### 2. CI 状态监控 自动检查并报告： - DCO 签名状态 - GitHub Actions 检查 - 测试覆盖 - 代码质量检查 **DCO 失败自动修复**： ```bash cd <repo-path> git commit --amend --signoff --no-edit git push --force-with-lease origin <branch> ``` ### 3. Review 意见处理 当检测到新的 review 时： ``` 步骤： 1. 使用 gh api 获取所有 review 评论 2. 分类整理：必须修复 / 建议修改 / 讨论 3. 对每个必须修复项： - 如果是代码问题 → 定位并修复 - 如果是流程问题 → 执行（如回复 issue、assign 等） - 如果是问题讨论 → 准备回复 4. 提交修复并回复 reviewer ``` ### 4. 评论自动回复 常见场景的自动回复模板： | 场景 | 回复模板 | |------|----------| | 已修复问题 | "@reviewer Fixed in commit `<hash>`. Thanks for the review!" | | 需要澄清 | "@reviewer Could you elaborate on ...? I want to make sure I understand correctly." | | 已处理 issue assign | "@maintainer Done! I've replied to issue #XXX. Please assign it to me." | | CI 已修复 | "DCO fixed and CI is now passing. Ready for another review!" | ### 5. 直到合入的完整跟踪 自动检测并通知： - ✅ Review 通过 - ✅ 所有 CI 通过 - ✅ 冲突解决 - ✅ PR 合入 main - ❌ Review 拒绝 / 需要重大修改 ## 必要配置 ### GitHub CLI 设置 确保 gh CLI 已安装并登录： ```bash # Windows winget install --id GitHub.cli # 登录（使用用户的 token） echo "<token>" | gh auth login --with-token ``` ### Token 权限 需要以下权限的 GitHub Personal Access Token： - `repo` - 访问仓库代码 - `workflow` - 访问 Actions - `read:org` - 读取组织信息 ## 工作流 ### 场景 1：新 PR 提交后 ``` 用户：帮我提交这个 fix 到 vllm-omni Agent： 1. Fork 目标仓库（如需要） 2. Clone 到 workspace 3. 创建分支、提交代码 4. Push 到用户 fork 5. 创建 PR 6. 设置跟踪任务 7. 报告 PR 链接和初始状态 ``` ### 场景 2：Review 来了 ``` Agent（cron 检查）： 1. 发现新 review 2. 分析 review 内容 3. 判断是否需要代码修改 4. 执行修复或准备回复 5. 提交修复并回复 reviewer 6. 通知用户处理结果 ``` ### 场景 3：直到合入 ``` Agent（持续跟踪）： 1. 每 2 小时检查 PR 状态 2. 状态变化时立即通知用户 3. 自动处理力所能及的问题 4. 需要人工决策时请示用户 5. PR 合入后发送庆祝消息 ``` ## 参考资料 - [references/workflow.md](references/workflow.md) - 完整工作流指南 - [references/templates.md](references/templates.md) - 常用回复模板 ## 与用户的交互原则 1. **主动汇报关键节点** - Review 通过、CI 失败、PR 合入等 2. **请示后再执行重大操作** - 如大幅重构代码、关闭 PR 等 3. **保持记录** - 所有操作记录在 memory/pr-tracking.md 4. **安全优先** - Token 不存储在消息中，使用本地配置文件

path: LEARNING.md
content: # Skill 学习日志 - github-pr-manager

## 学习机制

每次执行 PR 管理任务时，记录：
1. 遇到的问题和解决方案
2. 用户反馈和建议
3. 可以改进的地方
4. 新场景的处理方式

定期（每月或每季度）回顾并更新 SKILL.md。

---

## 2026-03-14 - PR #1880 实战记录

### 场景
帮助用户提交 PR 到 vllm-project/vllm-omni，修复 tea_cache + cpu-offload 问题。

### 执行过程
1. **Fork & Clone** - 用户已有 fork，直接 clone
2. **DCO 修复** - Commit 缺少 signoff，使用 `git commit --amend --signoff` 修复
3. **GitHub CLI 配置** - 找到已安装的 gh CLI，配置 token 登录
4. **Push 修复** - Force push 更新 commit
5. **Issue 回复** - 使用 API 回复 issue #1868，解决 assign 请求
6. **设置跟踪** - 创建 cron 任务每 2 小时检查 PR 状态

### 遇到的问题
- GitHub 已禁用 token 直接认证，必须通过 gh CLI
- Windows PowerShell 的语法与 Bash 不同（用 `;` 而不是 `&&`）
- Gateway 服务不稳定，需要多次重试

### 用户反馈
- 希望 skill 能持续学习更新
- 需要自动处理 review 意见直到 PR 合入

### 改进点
1. ✅ 已添加 Windows PowerShell 命令适配
2. ✅ 已添加 gh CLI 自动检测和配置流程
3. ⏳ 需要添加更多错误重试机制
4. ⏳ 需要添加 review 意见自动分类和处理

### 新增模板
- 回复 issue assign 请求："Done! I've replied to issue #XXX..."

---

## 待学习场景

- [ ] 处理需要代码修改的 review 意见
- [ ] 解决 PR 冲突
- [ ] 多个 reviewer 意见冲突时的处理
- [ ] CI 随机失败（flaky test）的处理
- [ ] 长时间未 review 的跟进策略


path: references/templates.md
content: # PR 回复模板

## 通用回复

### 已修复
```
@reviewer Fixed in commit `<hash>`. Thanks for the review!
```

### 已修改
```
@reviewer Updated as suggested. PTAL, thanks!
```

### 需要澄清
```
@reviewer Could you elaborate on ...? I want to make sure I understand correctly.
```

### 不同意但礼貌回应
```
@reviewer Thanks for the suggestion. I think the current approach is better because ... WDYT?
```

## 特定场景

### DCO 修复后
```
DCO check fixed. Ready for another review!
```

### CI 全绿后
```
All checks are now passing. PTAL, thanks!
```

### 回复 Issue assign 请求
```
@Gaohan123 Done! I've replied to issue #XXX. Please assign it to me. Thanks!
```

### 解决冲突后
```
Rebased and resolved conflicts. Ready for review again.
```

### PR 合入感谢
```
Thanks for the thorough review! Happy to see this merged.
```

## Reviewer 类型

### Code Owner Review
```
@code-owner Thanks for the detailed review! All comments have been addressed. PTAL.
```

### Community Review
```
@contributor Thanks for taking the time to review! I've incorporated your feedback.
```

### Bot Review (如 Codex)
```
@chatgpt-codex-connector Good catch! Fixed in the latest commit.
```

## 跟进模板

### 长时间未回复后跟进
```
Hi @reviewer, just a friendly ping. This PR is ready for another round of review when you have time. Thanks!
```

### 急需 review 时
```
Hi @reviewer, this fix is blocking some downstream work. Would appreciate a review when you get a chance. Thanks!
```


path: references/workflow.md
content: # GitHub PR 管理工作流

## 阶段 1：PR 初始化

### 信息收集
- 目标仓库：`owner/repo`
- 分支名：`feature-branch`
- PR 标题和描述
- 是否有对应 issue

### 执行步骤
1. 检查本地仓库是否存在
2. 如不存在，fork 并 clone
3. 创建 feature 分支
4. 应用代码修改
5. 提交 commit（带 signoff）
6. Push 到 fork
7. 创建 PR
8. 设置跟踪任务

## 阶段 2：CI 监控与修复

### 检查清单
- [ ] DCO 检查通过
- [ ] Lint/Format 检查通过
- [ ] 单元测试通过
- [ ] 集成测试通过
- [ ] 代码覆盖率满足要求

### 自动修复项

**DCO 失败**：
```bash
git commit --amend --signoff --no-edit
git push --force-with-lease origin <branch>
```

**Format 失败**（如有配置）：
```bash
# 根据项目配置执行 format
black .
# 或
pre-commit run --all-files
```

## 阶段 3：Review 处理

### Review 分类

| 类型 | 处理方式 |
|------|----------|
| 必须修改 (Required) | 立即修复并回复 |
| 建议修改 (Suggestion) | 评估后决定是否采纳 |
| 问题/疑问 (Question) | 回复澄清 |
| 赞赏 (Praise) | 礼貌感谢 |

### 处理流程

1. **获取 Review**：
   ```bash
   gh api repos/{owner}/{repo}/pulls/{pr}/reviews
   gh api repos/{owner}/{repo}/pulls/{pr}/comments
   ```

2. **分析每一条评论**：
   - 定位代码位置
   - 理解 reviewer 意图
   - 制定修复方案

3. **执行修复**：
   - 修改代码
   - 本地测试
   - 提交 commit
   - push 更新

4. **回复 Reviewer**：
   - 在对应行回复
   - 或在 PR 评论中统一回复
   - 标记为 resolved（如适用）

## 阶段 4：直到合入

### 合入条件检查
- [ ] 至少 1 个 approving review
- [ ] 所有 CI 检查通过
- [ ] 无冲突需要解决
- [ ] 满足分支保护规则

### 合入后操作
1. 通知用户 PR 已合入
2. 更新跟踪记录
3. 删除远程分支（可选）
4. 关闭相关 issue（如有）

## 常见问题

### Q: Reviewer 要求大幅重构怎么办？
A: 请示用户后再执行，评估工作量影响。

### Q: 多个 reviewer 意见冲突怎么办？
A: 发起讨论，请 reviewer 们达成一致。

### Q: CI 随机失败怎么办？
A: 检查是否为 flaky test，尝试 re-run，如持续失败需调查。

### Q: 长时间没 review 怎么办？
A: 礼貌 ping reviewer，或请社区其他成员帮忙 review。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)