关于 ralph-github-start-loop
面向使用 GitHub 跟踪开发任务的 Agent 技能,可自动循环实现 PRD 和故事子议题,并以议题依赖、提交和拉取请求记录进度。
主要功能
- 01交互选择或搜索 PRD
- 02后台模式运行所有可执行 PRD
- 03按设定迭代次数实现故事
- 04通过 GitHub 议题跟踪依赖
- 05使用独立 worktree 并创建拉取请求
适用场景
- 01实现以 GitHub 议题跟踪的功能计划
- 02并行运行互不依赖的 PRD
- 03通过议题评论和状态文件监控故事进度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ richtabor/ agent-skills --skill ralph-github-start-loop安装后在 Claude Code 中输入/ralph-github-start-loop确认已加载。
附带文件loop-github-issues.shreferences/prompt.md
详细介绍
循环处理 GitHub Issues
运行自主循环,执行 GitHub Issues 中的功能。
用法
/loop-github-issues # Interactive: shows available PRDs and asks which to run
/loop-github-issues --all # Run all available PRDs (no prompt)
/loop-github-issues auth-flow # Run PRDs matching search term
/loop-github-issues 25 # Run with 25 iterations per PRD
/loop-github-issues --all 25 # Run all PRDs with 25 iterations each
以非交互方式(后台模式)运行时,会自动启用 --all。
前置条件
- 已通过
ghCLI 完成身份验证 - 已通过
/ralph-github-create-issues创建 PRD issues(从.claude/plans/或prds/读取)
**注意:**假设已安装 gh 扩展。请勿尝试安装。
流程
- 检查前置条件(
gh auth status) - 直接运行脚本——脚本会处理 PRD 的选择和筛选:
~/.claude/skills/loop-github-issues/loop-github-issues.sh [iterations] [prd-search-term] [--all]
使用 run_in_background: true 避免超时。
监控进度:
- 本地状态:
cat /tmp/ralph-status-{repo}-{prd-number}.txt - GitHub:每完成一个故事,都会在 PRD issue 下发布评论
**重要:**运行前不要单独列出 PRD——脚本会显示可用的 PRD(排除已有打开的 PR 的 PRD)并处理选择。
功能说明
- 列出尚无打开 PR 的打开 PRD issues(通过
prd标签识别) - 提示用户选择要处理的 PRD(后台模式下自动选择)
- 对每个选定的 PRD:
- 将 issue 指派给当前用户(显示为进行中)
- 在
../{repo}-{feature}/创建 Git worktree - 对每次迭代:
- 将所有打开的子 issues 传递给 Agent
- Agent 根据依赖关系选择逻辑上接下来要处理的故事
- 实现该故事
- 提交:
feat: Story Title (closes #XXX) - 关闭子 issue 并附上提交链接
- 所有子 issues 关闭后,创建 PR(合并时关闭父 PRD)
- 清理 worktree
与 /ralph 的区别
| 方面 | /ralph(JSON) | /loop-github-issues(GitHub) |
|---|---|---|
| 故事来源 | prds/*.json | GitHub Issues |
| 状态跟踪 | passes: true/false | Issue 打开/关闭 |
| 依赖关系 | dependsOn 数组 | GitHub 原生阻塞关系 |
| 完成方式 | 更新 JSON | 关闭 issue |
| PRD 完成 | 所有故事均通过 | 所有子 issues 均关闭 |
依赖关系
Ralph-issues 会检查 GitHub 原生阻塞关系。存在尚未关闭的阻塞 issue 的 PRD 会被跳过。
脚本通过 GraphQL 查询 blockedBy 字段,以判断 PRD 是否可以开始处理。
Issue 约定
查找 PRD Issues
gh issue list --label prd --state open --json number,title,body
查找故事子 Issues
使用 gh-sub-issue 扩展:
gh sub-issue list <parent-number> --state open --json number,title,body
关闭 Issues
故事完成时:
gh issue close 101 --comment "Implemented in https://github.com/owner/repo/commit/abc123"
合并 PR 后,父 PRD issues 会自动关闭(通过 PR 正文中的 Closes #XX)。
分支命名
使用从 PRD issue 正文中解析出的约定式前缀:
feature/<name>用于功能增强bugfix/<name>用于错误修复
备注
- 在互相独立的 PRD 上并行运行多个 Ralph 实例(使用不同终端)
- 每个实例都在自己的 worktree 中工作,不会发生冲突
- 提交中包含
closes #XXX,以便在合并时自动关闭 issues
评论
支持 Markdown