atomgit-comment
AtomGit PR/Issue 评论助手 - 获取信息、分析内容、回复评论
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
AtomGit PR/Issue 评论助手 - 获取信息、分析内容、回复评论
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
冲突解决者。负责L2级别冲突的解决、版本差异适配、重试机制。不进行自我检视,必须由Reviewer审查后才能应用补丁。当Dispatcher检测到L2冲突时启动此Agent。
多Agent补丁移植协调者。负责整体流程控制、用户交互解析、状态管理、Agent调度和结果汇总。使用Subagents架构,通过Agent工具调度独立的subagents。当用户需要进行补丁移植任务时使用此skill作为入口。
补丁调度者。负责补丁预处理、L1/L2分类判定、L1级别直接应用。L2冲突返回给Orchestrator由其调度Conflict Resolver处理。当需要处理补丁时使用此Subagent。
自动从PR列表提取Git补丁并按合入时间排序。必须使用此skill当用户需要: - 从PR列表提取补丁文件 - 按合入顺序整理patches - 批量生成.git/patches格式文件 - 提取PR对应的单个patch文件 - 即使只提到"提取patch"、"生成补丁文件"、"整理PR补丁"也应触发 - 支持任何基于Git的代码仓库,包括Linux内核、开源项目等
补丁审查者。负责审查补丁适配质量,验证是否忠实代表原始更改。独立于Conflict Resolver,作为裁判员角色。当冲突解决完成后必须使用此Subagent进行审查。
审查适配的补丁以验证它们是否忠实地代表了原始更改。 当比较PR或上游提交与本地适配版本时,当验证补丁适配用于反向移植时, 或当审查任何补丁被修改以适应不同代码库版本的情况时,使用此技能。 当用户提到"适配补丁"、"补丁审查"、"比较提交"、"验证反向移植"、 "检查补丁等价性"、"验证backport"、"对比commit差异"、"审查适配质量", 或要求审查PR和本地提交之间的更改时触发此技能。 此技能也可在 patch-porting 阶段2循环中自动调用,对冲突解决后的补丁进行深度审查。
| name | atomgit-comment |
| description | AtomGit PR/Issue 评论助手 - 获取信息、分析内容、回复评论 |
| version | 2.0.0 |
响应 AtomGit PR/Issue 评论,自动分析并回复。
通过 AtomGit API 获取:
根据评论类型智能分析:
通过 AtomGit API 提交回复:
# AtomGit API Token(必需)
export ATOMGIT_TOKEN="your-private-token"
# 基础 URL
ATOMGIT_API="https://api.atomgit.com/api/v5"
# 获取 PR 信息
curl -H "Authorization: Bearer $ATOMGIT_TOKEN" \
"$ATOMGIT_API/repos/{owner}/{repo}/pulls/{number}"
# 获取 PR diff
curl -H "Authorization: Bearer $ATOMGIT_TOKEN" \
"$ATOMGIT_API/repos/{owner}/{repo}/pulls/{number}/files"
# 获取 Issue 信息
curl -H "Authorization: Bearer $ATOMGIT_TOKEN" \
"$ATOMGIT_API/repos/{owner}/{repo}/issues/{number}"
# 提交 PR 评论
curl -X POST \
-H "Authorization: Bearer $ATOMGIT_TOKEN" \
-H "Content-Type: application/json" \
"$ATOMGIT_API/repos/{owner}/{repo}/pulls/{number}/comments" \
-d '{"body":"评论内容"}'
# 提交 Issue 评论
curl -X POST \
-H "Authorization: Bearer $ATOMGIT_TOKEN" \
-H "Content-Type: application/json" \
"$ATOMGIT_API/repos/{owner}/{repo}/issues/{number}/comments" \
-d '{"body":"评论内容"}'
从 webhook 或其他触发器接收评论事件
根据评论类型获取:
理解评论意图:
根据分析结果生成:
通过 AtomGit API 提交评论
触发:有人在 PR 中评论 "@bot 请帮我审查这段代码"
流程:
回复示例:
## 代码审查建议
### 1. 内存泄漏风险 (main.c:45)
```c
char *buffer = malloc(1024);
// 缺少 free(buffer)
建议:添加 free(buffer) 释放内存
建议添加更详细的错误日志...
### 示例 2: Issue 问题诊断
**触发**:有人在 Issue 中评论 "@bot 这个 bug 怎么复现?"
**流程**:
1. 获取 Issue #456 的详情
2. 分析 Issue 标签和描述
3. 诊断问题原因
4. 提供复现步骤
5. 提交评论到 Issue #456
**回复示例**:
根据 Issue 描述,这个问题可能是由于:
timeout=0./service start检查 config.c:123 的超时配置...
## 错误处理
### API 限流
如果遇到 429 错误(限流),等待 60 秒后重试
### 权限错误
如果遇到 403 错误(权限不足),记录日志并跳过
### 网络错误
如果遇到网络错误,重试 3 次(间隔 5 秒)
## 最佳实践
1. **明确触发条件**
- 只响应明确的请求(如 @提及)
- 不主动发起评论
2. **保持简洁**
- 回复要简洁、准确
- 避免过长的大段文字
3. **提供价值**
- 提供具体、可操作的建议
- 包含代码示例或文档链接
4. **尊重上下文**
- 理解 PR/Issue 的完整上下文
- 考虑之前的评论历史
## 参考资源
- [AtomGit API 文档](https://docs.atomgit.com/docs/apis/)
- [openEuler PR 审查技能](~/.openclaw/skills/openeuler-pr-review/SKILL.md)