mcpField
R
ralph-loop

ralph-loop

github.com/zenobi-usエージェントワークフロー6854 回インストール今日更新
リポジトリ

ralph-loop について

Ralph Wiggum は、複数回の反復や定期的な振り返りが必要な複雑な作業向けに、ペースを制御できる長期開発ループを実行します。チェックリストで進捗を管理し、独立したタスクをサブエージェントに委任できます。

主な機能

  1. 01反復ループでタスクを進行
  2. 02タスク内容を保存して進捗を管理
  3. 03設定した間隔で振り返り
  4. 04チェックリスト項目をサブエージェントに委任
  5. 05ループの一時停止、再開、アーカイブ、整理

活用シーン

  1. 01複雑な開発作業を段階的に完了
  2. 02依存する複数の手順をチェックリストで管理
  3. 03独立したタスクを別々のサブエージェントに委任

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zenobi-us/dotfiles --skill ralph-loop

インストール後、Claude Code で/ralph-loopを入力して読み込まれたか確認します。

詳細

Ralph Wiggum - 長時間実行型開発ループ

ペースを制御しながら、長時間にわたって反復的な開発ループを実行します。

使用する場面

  • 複数回の反復が必要な複雑なタスク
  • 相互に積み重なる、多数の個別ステップを含むタスク
  • 定期的な振り返りが役立つ作業

単発の簡単なタスクや小規模な修正には使用しないでください。

エージェントツール

ralph_start を呼び出して、自分自身でループを開始します。

ralph_start({
  name: "loop-name",
  taskContent: "# Task\n\n## Goals\n- Goal 1\n\n## Checklist\n- [ ] Item 1\n- [ ] Item 2",
  maxIterations: 50,        // Default: 50
  itemsPerIteration: 3,     // Optional: suggest N items per turn
  reflectEvery: 10,         // Optional: reflect every N iterations
  useSubagents: true,       // Optional: delegate each task to subagent
  subagentAgent: "default"  // Optional: subagent name (default: 'default')
})

ループの動作

  1. タスクの内容は .ralph/<name>.md に保存されます
  2. 各イテレーションでタスクに取り組み、ファイルを更新します
  3. ralph_done ツールを呼び出して、次のイテレーションに進みます
  4. 完了したら、<promise>COMPLETE</promise> を出力します
  5. 完了時、または最大イテレーション数(デフォルトは50)に達した時点でループが終了します

ユーザーコマンド

  • /ralph start <name|path> - 新しいループを開始します
  • /ralph resume <name> - ループを再開します
  • /ralph stop - ループを一時停止します(エージェントがアイドル状態のとき)
  • /ralph-stop - アクティブなループを停止します(アイドル状態のときのみ)
  • /ralph status - ループを表示します
  • /ralph list --archived - アーカイブ済みのループを表示します
  • /ralph archive <name> - ループをアーカイブに移動します
  • /ralph clean [--all] - 完了したループを整理します
  • /ralph cancel <name> - ループを削除します
  • /ralph nuke [--yes] - すべての .ralph データを削除します

ストリーミング中にループを中断するにはESCを押し、再開するには通常のメッセージを送信します。ループを終了するには、アイドル状態になってから /ralph-stop を実行します。

タスクファイルの形式

# Task Title

Brief description.

## Goals
- Goal 1
- Goal 2

## Checklist
- [ ] Item 1
- [ ] Item 2
- [x] Completed item

## Notes
(Update with progress, decisions, blockers)

サブエージェントモード

チェックリストの各タスクを、個別のサブエージェントスレッドに委任します。

/ralph start my-tasks --use-subagents --subagent-agent default

仕組み:

  • 未完了のチェックリスト項目(- [ ] Task)を抽出します
  • 各タスクを新しいサブエージェントスレッドに委任します(1タスク=1サブエージェント)
  • サブエージェントがタスクを完了し、完了済みとしてマークします(- [x] Task)
  • メインループが進行を調整し、追跡します
  • 失敗時は自動的に再試行します(2回まで)

メリット:

  • タスクごとに新しいコンテキストを使用できます(汚染がありません)
  • 実行が分離されるため、失敗が連鎖しません
  • タスクの追跡と進捗の報告が明確です
  • 独立した個別タスクに適しています

使用する場面:

  • タスクが独立している(状態を共有しない)
  • 各タスクが個別に実行するのに十分な規模である
  • タスク間を明確に分離したい
  • タスクリストが事前に明確に定義されている

ベストプラクティス

  1. 明確なチェックリスト:作業を個別の項目に分割します
  2. 進めながら更新:項目を完了としてマークし、メモを追加します
  3. 行き詰まったら振り返る:振り返りを行い、進め方を再検討します(通常モード)
  4. 適切に完了する:本当に完了した場合にのみ、完了マーカーを出力します
  5. サブエージェントモード:境界が明確な独立タスクに使用します

コメント