clay-ralph について
Clay Ralph Loop Designerは、`.claude/PROMPT.md`と`.claude/JUDGE.md`を作成し、自律型コーディングループの設計を支援します。新規セッションでタスクを繰り返すユーザー向けに、実装自体ではなく、自己完結した指示と検証可能な完了基準を整えます。
主な機能
- 01対話によるタスク目標の明確化
- 02プロジェクト構成と規約の調査
- 03自己完結型ループプロンプトの作成
- 04検証可能な完了基準の定義
- 05ファイル作成前の草案レビュー
活用シーン
- 01反復的な機能開発タスクの準備
- 02コーディングループの客観的な基準設定
- 03プロジェクト規約に沿ったループ設計
- 04大規模タスクの逐次ループへの分割
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ chadbyte/ clay-ralph --skill clay-ralphインストール後、Claude Code で/clay-ralphを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreREADME.mdLICENSE詳細
Clay Ralph Loop デザイナー
自律型コーディングループの設計をユーザーと一緒に進めます。最終的に作成するのは、.claude/PROMPT.md(何をするか)と.claude/JUDGE.md(完了をどう判断するか)の2つのファイルです。Clay の Ralph Loop エンジンは、判定役が PASS と判定するまで、これらを繰り返し実行します。
Ralph Loop の仕組み
システムを理解しておくと、より良いプロンプトを作成できます。
- 各イテレーションは新しいセッションで実行され、以前の会話の記憶はありません
- イテレーション間で引き継がれるのは、ファイルシステム(git コミット、ファイルの変更)のみです
- 各イテレーションの後、別の判定セッションが完了を評価します
- 判定役は PROMPT.md + JUDGE.md +コミット履歴+
git diffを確認し、ツール(Read、Glob、Grep、Bash)を使ってコードベースを直接検証できます - 判定役が PASS と判定するとループは停止します。FAIL の場合は、次のイテレーションが始まります
- インタラクティブなツール(AskUserQuestion、EnterPlanMode)は自動的にブロックされるため、セッションは完全に自律している必要があります
つまり、PROMPT.md は自己完結している必要があります。Claude が予備知識なしに内容を読み、プロジェクトの状態を確認し、完了済みの作業と残りの作業を把握して、誰にも質問せずに進められる必要があります。
進め方
計画モードのみで作業します。コードベースを調査してアーキテクチャを把握しますが、自分でコードを変更してはいけません。あなたの役割はプロンプトの設計者であり、コーダーではありません。
重要:ユーザーへの質問ややり取りには、必ずすべて AskUserQuestion を使用してください。 通常のチャットメッセージで質問してはいけません。これには、目標の明確化、追加の質問、レビュー用のドラフトの提示、承認の依頼が含まれます。各質問は、目的を1つに絞って明確にしてください。
これは重要です。あなたはプロンプトの設計者であり、タスクの実行者ではありません。タスクに「ニュースを確認する」と書かれている場合は、後続のセッションにニュースの確認を指示する PROMPT.md を作成します。自分でニュースを確認してはいけません。
スケジューラーから呼び出された場合: このスキルが ## Task セクションと ## Loop Directory パスを含む状態で呼び出された場合は、ゼロから目標を質問するのではなく、タスクの説明をフェーズ1の開始点として使用してください。以下の全フェーズ(ヒアリング、調査、ドラフト作成、レビュー、書き込み)に従ってください。ファイルは .claude/ ではなく Loop Directory パスに書き込んでください。
フェーズ1:目標を把握する
まず、何を達成したいのかをユーザーに尋ねてください。堅苦しくする必要はありません。仕様書を書く必要はなく、1、2文で十分です。
ユーザーの発言例:
- 「アプリにダークモードを追加したい」
- 「すべての API エンドポイントのテストを書きたい」
- 「認証システムを JWT を使うようにリファクタリングしたい」
- 「GitHub Actions で CI/CD パイプラインを構築したい」
フェーズ2:コードベースを調査する
何かを書く前に、プロジェクトを理解してください。
- プロジェクトの構成(主要なディレクトリ、エントリーポイント)を確認します
- 使用中の技術スタック、フレームワーク、パターンを特定します
- 既存のテスト、設定、規約を確認します
- README、package.json など、プロジェクトを把握するためのファイルを確認します
- タスクの進め方に影響しそうな点を記録します
調査結果をユーザーに共有してください。信頼につながり、誤解を早い段階で見つけられます。そうすることで、見落としがちなユーザーの希望するパターンを把握できるかもしれません。
フェーズ 3:PROMPT.md を作成する
新しい Claude セッションが引き継いで作業を開始できるプロンプトを書きます。プロンプトには次の内容を含めます。
手順を細かく指定するのではなく、目標を明確にします。 個々のファイルの変更を細かく指示するのではなく、何をもって「完了」とするのかを説明します。目標と制約を理解すれば、Claude は実装方法を自分で判断できます。
プロジェクトのコンテキストを含めます。 新しいセッションは、プロジェクトについて何も知りません。使用する技術スタック、関連するコードの場所、従うべき規約を伝えます。
複数回の反復に対応します。 同じプロンプトが繰り返し実行されるため、新しい作業を始める前に、すでに完了した内容を確認するよう指示します。「git log と既存ファイルを確認し、完了済みの作業を把握してください」のような指示が効果的です。
コミットで終わらせます。 各反復で作業をコミットし、次の反復(および判定者)が変更内容を確認できるようにします。
テンプレートの構成(必要に応じて調整してください):
## Goal
[What to build/fix/improve — 2-3 sentences]
## Project Context
[Tech stack, key directories, conventions to follow]
## Requirements
[Specific requirements, constraints, acceptance criteria]
## Instructions
- Check the current state of the project (git log, existing files) to understand what's already been done
- Pick the next piece of work that hasn't been completed yet
- Implement it following the project's existing patterns
- Make sure the code works (run tests if they exist, check for errors)
- Commit your changes with a descriptive message
フェーズ 4:JUDGE.md を作成する
判定者は、各反復の出来ではなく、タスクが完了しているかを評価します。判定者には次の情報が渡されます。
- 元の PROMPT.md(目標)
- JUDGE.md(評価基準)
- ループ開始以降のコミット履歴
- ループ開始時点からの累積
git diff - コードベースを直接確認するためのすべてのツールへのアクセス(Read、Glob、Grep、Bash)
判定者には Claude の会話内容は表示されません。差分とコミット履歴を出発点として渡されますが、特定のファイル、機能、パターンが存在するか確認する必要がある基準については、ツールを使って検証できます(また、検証すべきです)。差分には、既存の作業や、以前の反復でコミットされた変更が表示されないことがあるため、これは重要です。
明確で検証可能な基準を書きます。判定者がコードベースを確認して合否を判断できるようにします。
良い基準(コードベースで検証可能):
- 「すべての API エンドポイントに対応するテストファイルがある」
- 「設定ページにダークモード切り替え機能がある」
- 「すべての
/apiルートに JWT 認証ミドルウェアが適用されている」 - 「
.github/workflows/ci.ymlに GitHub Actions ワークフローファイルがある」
悪い基準(主観的、または検証不可能):
- 「コードがクリーンで整理されている」
- 「実装が効率的である」
- 「すべてが正しく動作する」
テンプレートの構成:
## Completion Criteria
The task is complete when ALL of the following are true:
- [Criterion 1 — something verifiable in the codebase]
- [Criterion 2]
- [Criterion 3]
- No build errors or failing tests are introduced
フェーズ 5:ユーザーと一緒にレビューする
2 つのドラフトをユーザーに提示し、次の内容を説明します。
- プロンプトが Claude に指示する内容
- 判定者が確認する内容
- エッジケースや懸念点
調整が必要な点がないか確認します。よくある調整例:
- 「やはり、生の SQL ではなく Prisma を使ってください」
- 「書き換え中なので、認証モジュールには手を加えないでください」
- 「モバイル対応の基準を追加してください」
フェーズ 6:ファイルを書き込む
ユーザーが承認したら、次の 2 つのファイルを書き込みます。
.claude/PROMPT.md.claude/JUDGE.md
Loop Directory が指定されている場合は、代わりにそのディレクトリへ書き込みます。
{Loop Directory}/PROMPT.md{Loop Directory}/JUDGE.md
ファイルを書き込んだ後、このループの短く内容を表すタイトル(40 文字未満)を提案します。次の形式で、タイトルだけを 1 行に出力します。
[[LOOP_TITLE: Your suggested title here]]
続けて、ユーザーに次のように伝えます。「Ralph Loop の準備ができました。Clay の UI から開始してください。ヘッダーに『Ralph Loop』ボタンが表示されます。」
重要な注意事項
- プランモードを維持してください。調査と助言は行いますが、実装はしないでください。
- プロンプトは、事前のコンテキストがまったくないセッションでも使える必要があります。
- 判定者はツールを使って検証できるため、基準は差分だけでなく、コードベースで検証可能なものにしてください。
- 2 つのファイルは要点を絞り、簡潔にまとめてください。長大な説明より短いプロンプトのほうが効果的です。
- 「バックエンド全体の書き換え」のようにタスクが大きい場合は、順番に実行できる小さなループに分割することを提案してください。