gh-autopilot
D5.0从 PRD 到代码合并的全自动化流水线。用户只需确定需求,剩下的交给 Claude。
Get This Skill on GitHubOverview
name: gh-autopilot description: 端到端自动化:PRD→Issue→Project→实现→PR→合并,全程无需人工干预。
gh-autopilot
从 PRD 到代码合并的全自动化流水线。用户只需确定需求,剩下的交给 Claude。
斜杠命令
/gh-autopilot [PRD文件路径或需求描述]
示例:
# 基于 PRD 文件启动
/gh-autopilot docs/feature-x-prd.md
# 基于需求描述启动(会先生成 PRD)
/gh-autopilot 添加用户登录功能,支持邮箱和手机号
工作流程
┌─────────────────────────────────────────────────────────────┐
│ gh-autopilot │
├─────────────────────────────────────────────────────────────┤
│ │
│ 输入: PRD 文件 或 需求描述 │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 1: 需求确认 │ 无 PRD 时调用 /product-requirements │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 2: 创建 Issue│ 调用 /gh-create-issue │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 3: 同步看板 │ 调用 /gh-project-sync │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 4: 并发实现 │ 调用 /gh-project-implement │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 5: 批量审查 │ 调用 /gh-project-pr --auto-merge │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 阶段 6: 完成报告 │ 汇总结果,输出统计 │
│ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
执行流程
阶段 1: 需求确认
检查输入类型:
- 如果输入是
.md文件路径且文件存在 → 读取 PRD 内容 - 如果输入是需求描述文本 → 询问用户是否需要先生成 PRD
- 是 → 调用
/product-requirements生成 PRD - 否 → 直接使用描述创建 Issue
- 是 → 调用
输出: PRD 内容或需求描述
阶段 2: 创建 Issue
执行:
调用 /gh-create-issue 基于 PRD/需求描述
期望结果:
- 简单任务 → 单个 Issue
- 复杂任务 → Epic + 带依赖关系的子任务
- 所有 Issue 带
priority:p0-p3标签
错误处理:
- 失败重试 3 次
- 仍失败 → 终止流程,输出错误报告
阶段 3: 同步到 Project
执行:
调用 /gh-project-sync
期望结果:
- Issue 同步到仓库级 GitHub Project
- 按优先级自动分配状态列
错误处理:
- 失败重试 3 次
- 仍失败 → 跳过此阶段,继续执行(Project 同步非关键路径)
阶段 4: 并发实现
执行:
调用 /gh-project-implement <project_number>
期望结果:
- 按优先级批次实现(P0 → P1 → P2 → P3)
- 每个 Issue 独立 worktree + Claude 会话
- 自适应并发(P0=4, P1=3, P2=2, P3=1)
错误处理:
- 单个 Issue 失败重试 3 次
- 仍失败 → 跳过该 Issue,继续处理其他 Issue
- 记录失败的 Issue 到最终报告
阶段 5: 批量 PR 审查与合并
执行:
调用 /gh-project-pr <project_number> --auto-merge
期望结果:
- 查找所有关联 PR
- 代码审查 + CI 验证
- 自动修复问题(最多 3 次迭代)
- Squash 合并并清理分支
- 更新 Project 状态为 "Done"
错误处理:
- 单个 PR 失败 → 跳过,继续处理其他 PR
- 记录失败的 PR 到最终报告
阶段 6: 完成报告
输出格式:
╔══════════════════════════════════════════════════════════════╗
║ 🚀 gh-autopilot 完成报告 ║
╠══════════════════════════════════════════════════════════════╣
║ 📋 需求: [PRD 标题或需求摘要] ║
║ ⏱️ 耗时: [总耗时] ║
╠══════════════════════════════════════════════════════════════╣
║ 📊 执行统计 ║
║ ├─ Issue 创建: [X] 个 ║
║ ├─ 成功实现: [Y] 个 ║
║ ├─ PR 合并: [Z] 个 ║
║ └─ 失败项: [N] 个 ║
╠══════════════════════════════════════════════════════════════╣
║ ✅ 成功合并的 PR: ║
║ - #123: [PR 标题] ║
║ - #124: [PR 标题] ║
╠══════════════════════════════════════════════════════════════╣
║ ❌ 失败项(需人工处理): ║
║ - Issue #456: [失败原因] ║
║ - PR #789: [失败原因] ║
╚══════════════════════════════════════════════════════════════╝
配置选项
CLI 参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--skip-prd | 跳过 PRD 生成,直接创建 Issue | false |
--skip-sync | 跳过 Project 同步 | false |
--dry-run | 预览模式,不执行实际操作 | false |
--project | 指定已有 Project 编号 | 自动创建/选择 |
--priority | 只处理指定优先级 | 全部 |
示例:
# 跳过 PRD 生成
/gh-autopilot docs/prd.md --skip-prd
# 预览模式
/gh-autopilot "添加搜索功能" --dry-run
# 只处理 P0 和 P1
/gh-autopilot docs/prd.md --priority p0,p1
前置条件
- GitHub CLI 已安装并认证 (
gh auth status) - Claude Code 已安装
- 依赖技能 已安装:
/gh-create-issue/gh-project-sync/gh-project-implement/gh-project-pr
- 仓库权限:
repo,project,read:org
最佳实践
适用场景
- ✅ 新功能开发(有完整 PRD)
- ✅ 技术债务清理(多个独立任务)
- ✅ Bug 批量修复
- ✅ 重构任务
不适用场景
- ❌ 紧急 hotfix(使用单独的
/gh-issue-implement) - ❌ 需要频繁人工介入的探索性开发
- ❌ 跨仓库协作任务
错误处理策略
| 阶段 | 失败行为 | 原因 |
|---|---|---|
| 需求确认 | 终止流程 | PRD 是后续所有步骤的基础 |
| 创建 Issue | 终止流程 | 无 Issue 无法继续 |
| 同步看板 | 跳过继续 | 非关键路径 |
| 并发实现 | 跳过失败项 | 不影响其他 Issue |
| PR 审查 | 跳过失败项 | 不影响其他 PR |
实现伪代码
def gh_autopilot(input_arg, options):
report = AutopilotReport()
start_time = now()
# 阶段 1: 需求确认
print("🔍 阶段 1/6: 需求确认...")
if is_file(input_arg):
prd_content = read_file(input_arg)
elif not options.skip_prd:
prd_content = invoke_skill("/product-requirements", input_arg)
else:
prd_content = input_arg
# 阶段 2: 创建 Issue
print("📝 阶段 2/6: 创建 Issue...")
issues = retry(3, lambda: invoke_skill("/gh-create-issue", prd_content))
if not issues:
return report.fail("Issue 创建失败")
report.issues_created = len(issues)
# 阶段 3: 同步看板
print("📋 阶段 3/6: 同步到 Project...")
if not options.skip_sync:
project = retry(3, lambda: invoke_skill("/gh-project-sync"))
if not project:
print("⚠️ Project 同步失败,继续执行...")
# 阶段 4: 并发实现
print("🔨 阶段 4/6: 并发实现...")
impl_result = invoke_skill("/gh-project-implement", project.number)
report.issues_implemented = impl_result.success_count
report.impl_failures = impl_result.failures
# 阶段 5: 批量审查
print("🔍 阶段 5/6: 批量 PR 审查...")
review_result = invoke_skill("/gh-project-pr", project.number, "--auto-merge")
report.prs_merged = review_result.merged_count
report.review_failures = review_result.failures
# 阶段 6: 完成报告
print("📊 阶段 6/6: 生成报告...")
report.duration = now() - start_time
print(report.format())
return report
注意事项
- 耗时提醒: 完整流程可能需要较长时间(取决于 Issue 数量和复杂度)
- 资源消耗: 并发实现会创建多个 worktree 和 Claude 会话
- 幂等性: 重复执行会跳过已完成的 Issue(基于状态判断)
- 回滚: 不支持自动回滚,失败项需人工处理
总结: gh-autopilot 是从需求到代码合并的一站式解决方案,让用户专注于需求定义,自动化处理开发、审查、合并的完整生命周期。
What This Skill Can Do
AI-generated examples showing real capabilities
Ready to use this skill?
Visit the original repository to get the full skill configuration and installation instructions.
View on GitHub