ralph-github-start-loop について
GitHubのPRD課題とストーリーのサブ課題を自動で実装するエージェントスキルです。GitHubで作業を管理し、課題の依存関係やコミット、プルリクエストで進捗を記録するチーム向けです。
主な機能
- 01PRDの対話選択または検索
- 02バックグラウンドで対象PRDを一括実行
- 03設定した反復回数でストーリーを実装
- 04GitHub課題による依存関係の追跡
- 05個別のworktreeを使いプルリクエストを作成
活用シーン
- 01GitHub課題で管理する機能計画の実装
- 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
詳細
Loop 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 の Issue が作成されていること(.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 を個別に一覧表示しないでください。スクリプトが、オープンな PR がない PRD を一覧表示し、選択を処理します。
処理内容
- オープンな PR がまだない、
prdラベル付きのオープンな PRD Issue を一覧表示します - 作業対象の PRD をユーザーに選択させます(またはバックグラウンドモードでは自動選択します)
- 選択された各 PRD について、以下を実行します。
- Issue を現在のユーザーに割り当てます(進行中として表示されます)
../{repo}-{feature}/に Git ワークツリーを作成します- 各イテレーションで、以下を実行します。
- すべてのオープンなサブ Issue をエージェントに渡します
- エージェントが依存関係に基づいて、次に取り組む論理的なストーリーを選びます
- ストーリーを実装します
feat: Story Title (closes #XXX)でコミットします- コミットへのリンクを付けてサブ Issue をクローズします
- すべてのサブ Issue がクローズされると、PR を作成します(親 PRD はマージ時にクローズされます)
- ワークツリーをクリーンアップします
/ralph との違い
| 項目 | /ralph(JSON) | /loop-github-issues(GitHub) |
|---|---|---|
| ストーリーのソース | prds/*.json | GitHub Issues |
| ステータスの追跡 | passes: true/false | Issue のオープン/クローズ |
| 依存関係 | dependsOn 配列 | GitHub ネイティブのブロック機能 |
| 完了時の処理 | JSON を更新 | Issue をクローズ |
| PRD の完了条件 | すべてのストーリーに合格 | すべてのサブ Issue がクローズ |
依存関係
Ralph-issues は GitHub のネイティブなブロック関係を確認します。オープンなブロック対象 Issue がある PRD はスキップされます。
スクリプトは GraphQL 経由で blockedBy フィールドをクエリし、PRD の開始準備ができているかどうかを判定します。
Issue の規約
PRD Issue の検索
gh issue list --label prd --state open --json number,title,body
ストーリーのサブ Issue の検索
gh-sub-issue 拡張機能を使用します。
gh sub-issue list <parent-number> --state open --json number,title,body
Issue のクローズ
ストーリーの完了時:
gh issue close 101 --comment "Implemented in https://github.com/owner/repo/commit/abc123"
PRD の親 Issue は、PR がマージされると自動的にクローズされます(PR 本文の Closes #XX による)。
ブランチの命名
PRD Issue の本文から解析した一般的なプレフィックスを使用します。
- 機能強化には
feature/<name> - バグ修正には
bugfix/<name>
注記
- 独立した PRD では、複数の Ralph インスタンスを並行して実行できます(別々のターミナルを使用)
- それぞれが独自のワークツリーで作業するため、競合はありません
- コミットに
closes #XXXを含めると、マージ時に Issue が自動的にクローズされます
コメント
Markdown 対応