mcpField
R
ralph-github-start-loop

ralph-github-start-loop

github.com/richtaborエージェントワークフロー7341 回インストール29 週間前に更新
リポジトリ

ralph-github-start-loop について

GitHubのPRD課題とストーリーのサブ課題を自動で実装するエージェントスキルです。GitHubで作業を管理し、課題の依存関係やコミット、プルリクエストで進捗を記録するチーム向けです。

主な機能

  1. 01PRDの対話選択または検索
  2. 02バックグラウンドで対象PRDを一括実行
  3. 03設定した反復回数でストーリーを実装
  4. 04GitHub課題による依存関係の追跡
  5. 05個別のworktreeを使いプルリクエストを作成

活用シーン

  1. 01GitHub課題で管理する機能計画の実装
  2. 02独立したPRDの並行実行
  3. 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 が自動的に有効になります。

前提条件

  • gh CLI の認証が完了していること
  • /ralph-github-create-issues を使って PRD の Issue が作成されていること(.claude/plans/ または prds/ から読み込みます)

注: gh 拡張機能はインストール済みとします。インストールを試みないでください。

プロセス

  1. 前提条件を確認します(gh auth status)
  2. スクリプトを直接実行します。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 を一覧表示し、選択を処理します。

処理内容
  1. オープンな PR がまだない、prd ラベル付きのオープンな PRD Issue を一覧表示します
  2. 作業対象の PRD をユーザーに選択させます(またはバックグラウンドモードでは自動選択します)
  3. 選択された各 PRD について、以下を実行します。
    • Issue を現在のユーザーに割り当てます(進行中として表示されます)
    • ../{repo}-{feature}/ に Git ワークツリーを作成します
    • 各イテレーションで、以下を実行します。
      • すべてのオープンなサブ Issue をエージェントに渡します
      • エージェントが依存関係に基づいて、次に取り組む論理的なストーリーを選びます
      • ストーリーを実装します
      • feat: Story Title (closes #XXX) でコミットします
      • コミットへのリンクを付けてサブ Issue をクローズします
    • すべてのサブ Issue がクローズされると、PR を作成します(親 PRD はマージ時にクローズされます)
    • ワークツリーをクリーンアップします
/ralph との違い
項目/ralph(JSON)/loop-github-issues(GitHub)
ストーリーのソースprds/*.jsonGitHub Issues
ステータスの追跡passes: true/falseIssue のオープン/クローズ
依存関係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 が自動的にクローズされます

コメント