원클릭으로
创建 Pull Request 到目标分支
npx skills add https://github.com/fitlab-ai/agent-infra --skill create-pr이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
创建 Pull Request 到目标分支
npx skills add https://github.com/fitlab-ai/agent-infra --skill create-pr이 명령을 Claude Code에 복사하여 붙여넣어 스킬을 설치하세요
| name | create-pr |
| description | 创建 Pull Request 到目标分支 |
创建 Pull Request,并在与任务关联时立即补齐核心元数据和 reviewer 摘要。
版本戳规则:创建或更新 task.md frontmatter 时,先读取 .agents/rules/version-stamp.md,并写入或刷新 agent_infra_version。
从命令参数中识别:
TASK-{yyyyMMdd-HHmmss} 格式的参数 -> {task-id}{target-branch}如果提供了 {task-id},读取 .agents/workspace/active/{task-id}/task.md 获取任务信息(例如 issue_number、type 等)。
如果未提供,可从当前 session 上下文获取;仍无法确定 {task-id} 时,后续步骤中的任务关联逻辑跳过。
如果用户显式提供参数就直接使用;否则根据 Git 历史和分支拓扑自动推断。
详细分支判断规则见
reference/branch-strategy.md。自动推断 base 分支前,先读取reference/branch-strategy.md。
通过 .agents/rules/issue-pr-commands.md 读取 PR 模板,参考最近合并的 PR 风格,并收集 <target-branch> 到 HEAD 的全部提交。
模板处理、HEREDOC 正文生成和
Generated with AI assistance要求见reference/pr-body-template.md。编写正文前先读取reference/pr-body-template.md。
确认当前分支是否已有 upstream;必要时执行 git push -u origin <current-branch>。
先检查当前分支是否已经存在 PR;如果已存在,直接告知用户 PR URL 并结束,不要重复执行元数据同步或摘要发布。
执行前先读取 .agents/rules/issue-pr-commands.md,并按其中的前置步骤完成认证和代码托管平台检测;随后按其中的 “创建 PR” 命令创建 PR。
如果获取到 {task-id} 且对应任务提供了 issue_number,必须在 PR 正文中保留 Closes #{issue-number}。
对获取到 {task-id} 的 PR,立即同步这些核心元数据:
.agents/rules/issue-pr-commands.md 查询标准 label / Issue / PR 元数据.agents/rules/issue-pr-commands.md 的 PR 更新命令和权限降级规则处理 type labelin: labels 复制到 PR(不重新计算,不反向更新 Issue).agents/rules/milestone-inference.md 的「阶段 3:create-pr」及其权限规则复用 Issue milestoneCloses #{issue-number} 保持 Development 关联读取最新的上下文产物:plan.md / plan-r{N}.md、implementation.md / implementation-r{N}.md、review.md / review-r{N}.md、refinement.md / refinement-r{N}.md(存在时)。
基于这些产物聚合 reviewer 摘要,并使用隐藏标记维护唯一且幂等的摘要评论。
隐藏标记、幂等 summary 评论更新、review history 格式,以及评论创建/更新规则见
reference/comment-publish.md(其内联引用.agents/rules/pr-sync.md)。发布摘要前先读取reference/comment-publish.md。Shell 安全规则(发布评论前必读):
{comment-body}必须替换为实际的内联文本。先读取文件,再将全文粘贴到 heredoc body 中。禁止在<<'EOF'内部使用$(cat ...)、$(< ...)、$(...)、${...}。- 构造含
<!-- -->的字符串时,禁止使用echo。统一使用cat <<'EOF'heredoc 或printf '%s\n'构造。- 同样的安全约束已在
.agents/rules/pr-sync.md中重述,调用该 rule 后无需重复补充另一份模板规则。
获取当前时间:
date "+%Y-%m-%d %H:%M:%S%:z"
如果获取到了 {task-id},更新 task.md 的 pr_number、updated_at、agent_infra_version,并追加 PR Created 的 Activity Log,记录元数据同步和摘要发布结果。
如果本次操作关联了 {task-id},运行完成校验,确认任务元数据和同步状态符合规范;如果没有任务上下文,跳过本步骤。
node .agents/scripts/validate-artifact.js gate create-pr .agents/workspace/active/{task-id} --format text
处理结果:
将校验输出保留在回复中作为当次验证输出。没有当次校验输出,不得声明完成。
仅在校验通过后执行本步骤。
重要:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果
.agents/.airc.json中配置了自定义 TUI(customTUIs),读取每个工具的name和invoke,按同样格式补充对应命令行(${skillName}替换为技能名,${projectName}替换为项目名)。
说明 PR URL、元数据同步结果、摘要评论结果,并在工作流真正完成后推荐执行 complete-task {task-id}。
create-pr 不能把 type label 映射委托给其他技能,必须在获取到 {task-id} 时于本技能内内联处理.agents/rules/pr-sync.md 中定义的 PR 摘要评论标记,以兼容已有 PR 评论{target} 与 HEAD 之间没有可提交内容git pull --rebase分析任务并输出需求分析文档
标记任务完成并归档
根据技术方案实施任务并输出报告
为任务设计技术方案和实施计划
处理代码审查反馈并修复问题
审查任务实现并输出代码审查报告