ralph-wiggum-v2
複数のAIエージェントが並行して動き、テスト駆動開発を自律的に繰り返すことで、ゲーム開発や品質向上、コードレビューなどを効率的に進めるSkill。
📜 元の英語説明(参考)
Autonomous TDD development loop with parallel agent swarm, category evolution, and convergence detection. Use when running autonomous game development, quality improvement loops, or comprehensive codebase reviews.
🇯🇵 日本人クリエイター向け解説
複数のAIエージェントが並行して動き、テスト駆動開発を自律的に繰り返すことで、ゲーム開発や品質向上、コードレビューなどを効率的に進めるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ralph-wiggum-v2.zip https://jpskill.com/download/9484.zip && unzip -o ralph-wiggum-v2.zip && rm ralph-wiggum-v2.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9484.zip -OutFile "$d\ralph-wiggum-v2.zip"; Expand-Archive "$d\ralph-wiggum-v2.zip" -DestinationPath $d -Force; ri "$d\ralph-wiggum-v2.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
ralph-wiggum-v2.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
ralph-wiggum-v2フォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Ralph Wiggum v2 - 自律的なTDD開発ループ
クイックスタート
/ralph-wiggum-v2:ralph-loop --project "diablo-starcraft" --completion-promise "DIABLO_STARCRAFT_COMPLETE"
概要
並列エージェント群を使用してコードをレビューし、問題を検出し、収束条件が満たされるまでテスト駆動開発の手法で修正する、自律的なTDD開発ループです。
ワークフロー
フェーズ1: 発見と初期化
- 状態ファイルを探すか作成する:
{project}/.ralph/state.json - カテゴリファイルを探すか作成する:
{project}/.ralph/categories.json - カテゴリをブートストラップする: 空の場合、コードベースの構造から
フェーズ2: 並列エージェントレビュー群
以下のようにして、3〜5個の並列エージェントを生成します。
- ランダムなカテゴリ(スコアが最も低いものに重み付け)
- そのカテゴリ内のランダムなサブカテゴリ
- ランダムなレビュー形式(直近3回で使用したものとは異なるもの)
- ユニークな焦点領域(エージェント間で重複なし)
フェーズ3: TDD実装サイクル
各発見事項に対して:
- 最初に失敗するテストを書く
- 最小限の修正を実装する
- テストが通ることを確認する
- 状態を更新する
フェーズ4: カテゴリの進化
各イテレーション後:
- 新しい発見事項をマージする
- スコアを再計算する
- メタレビュー(5イテレーションごと)
フェーズ5: 収束の検出
以下の場合に完了します。
- 10回連続でクリーンなイテレーション
- すべてのカテゴリのスコアが95/100以上
- すべてのテストがパス
- ゲームがクラッシュせずに実行される
状態スキーマ
{
"project": "diablo-starcraft",
"iteration": 0,
"consecutiveCleanIterations": 0,
"requiredCleanIterations": 10,
"completionPromise": "DIABLO_STARCRAFT_COMPLETE",
"categories": {},
"discoveryLog": [],
"lastReviewStyles": [],
"agentHistory": [],
"startedAt": "<timestamp>",
"lastUpdated": "<timestamp>"
}
カテゴリスキーマ
{
"categories": {
"<category_name>": {
"score": 50,
"maxScore": 100,
"subcategories": {
"<subcategory_name>": {
"score": 50,
"issues": [],
"lastReviewed": null,
"reviewCount": 0
}
},
"discoveredAt": 0,
"lastUpdated": "<timestamp>"
}
}
}
レビュー形式
コード品質
| Style | Focus |
|---|---|
| NITPICKER | フォーマット、命名、小さな矛盾 |
| REFACTORER | 重複、抽象化の機会 |
| DRY_ENFORCER | コピーペーストされたコード、繰り返されるパターン |
| TYPE_ZEALOT | 型の安全性、あらゆる使用法、キャスティング |
| SOLID_ADHERENT | SOLID原則の違反 |
| API_PURIST | インターフェース設計、契約、シグネチャ |
信頼性
| Style | Focus |
|---|---|
| DEBUGGER | ロジックエラー、オフバイワン、間違った演算子 |
| EDGE_CASE_HUNTER | 境界条件、null/undefined |
| ERROR_HANDLER | try/catchの欠落、未処理のpromise |
| STATE_MACHINE_ANALYST | 無効な状態遷移 |
| CONCURRENCY_EXPERT | 競合状態、非同期バグ |
| MEMORY_LEAK_HUNTER | 削除されていないリスナー、増え続ける配列 |
パフォーマンス
| Style | Focus |
|---|---|
| PERFORMANCE_HAWK | O(n²)、不要なレンダリング、ホットパス |
| ALLOCATION_AUDITOR | オブジェクトのチャーン、GCの負荷 |
| RENDER_OPTIMIZER | DOMスラッシング、レイアウトスラッシング |
セキュリティ
| Style | Focus |
|---|---|
| SECURITY_AUDITOR | XSS、インジェクション、安全でない操作 |
| INPUT_VALIDATOR | サニタイズされていないユーザー入力 |
アーキテクチャ
| Style | Focus |
|---|---|
| ARCHITECT | 結合度、凝集度、関心の分離 |
| DEPENDENCY_AUDITOR | 循環依存、密結合 |
| LAYER_GUARDIAN | レイヤの違反、間違った抽象化 |
テスト
| Style | Focus |
|---|---|
| TEST_SKEPTIC | カバレッジのギャップ、弱いアサーション |
| MUTATION_TESTER | 常にパスするテスト |
| INTEGRATION_ANALYST | ユニットテストと結合テストのギャップ |
ゲーム固有
| Style | Focus |
|---|---|
| DIABLO_VETERAN | ARPGの慣習、ルート、スキル、戦闘の感触 |
| STARCRAFT_FAN | 派閥のアイデンティティ、ユニットの感触、SCユニバース |
| GAME_FEEL_EXPERT | ジューシーさ、磨き、応答性 |
| BALANCE_DESIGNER | 数値、進行、公平性 |
| PLAYER_PSYCHOLOGY | モチベーション、報酬ループ |
| SPEEDRUNNER | エクスプロイト、シーケンスブレイク |
| COMPLETIONIST | コンテンツ内の欠落しているエッジケース |
| FIRST_TIME_USER | オンボーディング、混乱点 |
メタ
| Style | Focus |
|---|---|
| FRESH_EYES | 新しい開発者を混乱させるものは何か? |
| DOCUMENTATION_STICKLER | コメントの欠落/間違い |
| FUTURE_MAINTAINER | 技術的負債の蓄積 |
エージェントの出力形式
{
"agentId": "<uuid>",
"category": "<category>",
"subcategory": "<subcategory>",
"reviewStyle": "<style>",
"filesReviewed": ["<paths>"],
"findings": [
{
"severity": "critical|major|minor|nitpick",
"type": "<issue_type>",
"location": "<file:line>",
"description": "<what's wrong>",
"suggestedFix": "<how to fix>",
"requiresTest": true,
"testWritten": false,
"fixed": false,
"newSubcategory": null
}
],
"scoreAdjustment": 0,
"newCategoriesDiscovered": [],
"cleanReview": false
}
必須要件
- [ ] PLAYABLE_LOCAL - ブラウザで実行可能、最初から最後までプレイ可能
- [ ] TDD_ENFORCED - 最初に失敗するテストがない場合は修正しない
- [ ] ZERO_CRASHES - すべてのパスで未処理の例外がない
- [ ] ALL_TESTS_PASS - 100%のテストスイートがグリーン
- [ ] SCORES_95_PLUS - すべてのカテゴリが95+/100
- [ ] CLEAN_CONVERGENCE - 10回連続でクリーンなイテレーション
イテレーションループ
LOOP:
1. .ralph/state.jsonから状態をロードする
2. .ralph/categories.jsonからカテゴリをロードする
3. イテレーションカウンタをインクリメントする
4. レビューのためにスコアが最も低い3〜5個のカテゴリを選択する
5. 並列レビューエージェントを生成する(Taskツールを使用)
6. すべてのエージェントから発見事項を収集する
7. 重大度で発見事項をソートする(critical → major → minor)
8. 各発見事項をTDDで修正する:
a. 失敗するテストを書く
b. 最小限の修正を実装する
c. テストが通ることを確認する
d. フルテストスイートを実行する
9. スコアと状態を更新する
10. 収束条件を確認する:
- すべてのエージェントがcleanReview: trueを返したか?
- critical/majorな発見事項はないか?
- すべてのテストがパスしているか?
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Ralph Wiggum v2 - Autonomous TDD Development Loop
Quick Start
/ralph-wiggum-v2:ralph-loop --project "diablo-starcraft" --completion-promise "DIABLO_STARCRAFT_COMPLETE"
Overview
Autonomous TDD development loop that uses parallel agent swarms to review code, discover issues, and fix them with test-first methodology until convergence criteria are met.
Workflow
Phase 1: Discovery & Initialization
- Locate or create state file:
{project}/.ralph/state.json - Locate or create categories file:
{project}/.ralph/categories.json - Bootstrap categories from codebase structure if empty
Phase 2: Parallel Agent Review Swarm
Spawn 3-5 parallel agents with:
- Random category (weighted toward lowest scores)
- Random subcategory within that category
- Random review style (never same as last 3 used)
- Unique focus area (no overlap between agents)
Phase 3: TDD Implementation Cycle
For each finding:
- Write failing test first
- Implement minimal fix
- Verify test passes
- Update state
Phase 4: Category Evolution
After each iteration:
- Merge new discoveries
- Recalculate scores
- Meta-review (every 5 iterations)
Phase 5: Convergence Detection
Complete when:
- 10 consecutive clean iterations
- All category scores >= 95/100
- All tests passing
- Game runs without crashes
State Schema
{
"project": "diablo-starcraft",
"iteration": 0,
"consecutiveCleanIterations": 0,
"requiredCleanIterations": 10,
"completionPromise": "DIABLO_STARCRAFT_COMPLETE",
"categories": {},
"discoveryLog": [],
"lastReviewStyles": [],
"agentHistory": [],
"startedAt": "<timestamp>",
"lastUpdated": "<timestamp>"
}
Categories Schema
{
"categories": {
"<category_name>": {
"score": 50,
"maxScore": 100,
"subcategories": {
"<subcategory_name>": {
"score": 50,
"issues": [],
"lastReviewed": null,
"reviewCount": 0
}
},
"discoveredAt": 0,
"lastUpdated": "<timestamp>"
}
}
}
Review Styles
Code Quality
| Style | Focus |
|---|---|
| NITPICKER | Formatting, naming, tiny inconsistencies |
| REFACTORER | Duplication, abstraction opportunities |
| DRY_ENFORCER | Copy-paste code, repeated patterns |
| TYPE_ZEALOT | Type safety, any usage, casting |
| SOLID_ADHERENT | SOLID principle violations |
| API_PURIST | Interface design, contracts, signatures |
Reliability
| Style | Focus |
|---|---|
| DEBUGGER | Logic errors, off-by-one, wrong operators |
| EDGE_CASE_HUNTER | Boundary conditions, null/undefined |
| ERROR_HANDLER | Missing try/catch, unhandled promises |
| STATE_MACHINE_ANALYST | Invalid state transitions |
| CONCURRENCY_EXPERT | Race conditions, async bugs |
| MEMORY_LEAK_HUNTER | Listeners not removed, growing arrays |
Performance
| Style | Focus |
|---|---|
| PERFORMANCE_HAWK | O(n²), unnecessary renders, hot paths |
| ALLOCATION_AUDITOR | Object churn, GC pressure |
| RENDER_OPTIMIZER | DOM thrashing, layout thrashing |
Security
| Style | Focus |
|---|---|
| SECURITY_AUDITOR | XSS, injection, unsafe operations |
| INPUT_VALIDATOR | Unsanitized user input |
Architecture
| Style | Focus |
|---|---|
| ARCHITECT | Coupling, cohesion, separation of concerns |
| DEPENDENCY_AUDITOR | Circular deps, tight coupling |
| LAYER_GUARDIAN | Layer violations, wrong abstractions |
Testing
| Style | Focus |
|---|---|
| TEST_SKEPTIC | Coverage gaps, weak assertions |
| MUTATION_TESTER | Tests that always pass |
| INTEGRATION_ANALYST | Unit vs integration gaps |
Game-Specific
| Style | Focus |
|---|---|
| DIABLO_VETERAN | ARPG conventions, loot, skills, combat feel |
| STARCRAFT_FAN | Faction identity, unit feel, SC universe |
| GAME_FEEL_EXPERT | Juice, polish, responsiveness |
| BALANCE_DESIGNER | Numbers, progression, fairness |
| PLAYER_PSYCHOLOGY | Motivation, reward loops |
| SPEEDRUNNER | Exploits, sequence breaks |
| COMPLETIONIST | Missing edge cases in content |
| FIRST_TIME_USER | Onboarding, confusion points |
Meta
| Style | Focus |
|---|---|
| FRESH_EYES | What would confuse a new developer? |
| DOCUMENTATION_STICKLER | Missing/wrong comments |
| FUTURE_MAINTAINER | Technical debt accumulation |
Agent Output Format
{
"agentId": "<uuid>",
"category": "<category>",
"subcategory": "<subcategory>",
"reviewStyle": "<style>",
"filesReviewed": ["<paths>"],
"findings": [
{
"severity": "critical|major|minor|nitpick",
"type": "<issue_type>",
"location": "<file:line>",
"description": "<what's wrong>",
"suggestedFix": "<how to fix>",
"requiresTest": true,
"testWritten": false,
"fixed": false,
"newSubcategory": null
}
],
"scoreAdjustment": 0,
"newCategoriesDiscovered": [],
"cleanReview": false
}
Hard Requirements
- [ ] PLAYABLE_LOCAL - Runs in browser, playable start-to-finish
- [ ] TDD_ENFORCED - No fix without failing test first
- [ ] ZERO_CRASHES - No unhandled exceptions in any path
- [ ] ALL_TESTS_PASS - 100% test suite green
- [ ] SCORES_95_PLUS - Every category at 95+/100
- [ ] CLEAN_CONVERGENCE - 10 consecutive clean iterations
Iteration Loop
LOOP:
1. Load state from .ralph/state.json
2. Load categories from .ralph/categories.json
3. Increment iteration counter
4. Select 3-5 lowest-scoring categories for review
5. Spawn parallel review agents (use Task tool)
6. Collect findings from all agents
7. Sort findings by severity (critical → major → minor)
8. TDD fix each finding:
a. Write failing test
b. Implement minimal fix
c. Verify test passes
d. Run full test suite
9. Update scores and state
10. Check convergence criteria:
- All agents returned cleanReview: true?
- No critical/major findings?
- All tests passing?
- No new categories discovered?
11. IF clean: consecutiveCleanIterations++
IF dirty: consecutiveCleanIterations = 0
12. IF consecutiveCleanIterations >= 10 AND all scores >= 95:
→ CONVERGED: Run final verification
ELSE: → Continue loop
Final Verification
When convergence criteria met:
- Full test suite run
- TypeScript strict mode check
- Build production bundle
- Verify game loads and plays
- Generate completion report
- Output:
{COMPLETION_PROMISE}achieved
Game-Specific Categories (Diablo-StarCraft)
Auto-discovered from codebase:
- engine/ → Engine (Game, Camera)
- mechanics/ → Mechanics (Player, Ability, Item)
- ai/ → AI (Enemy, Pathfinding)
- graphics/ → Graphics (Renderer, VFX)
- audio/ → Audio (AudioManager)
- physics/ → Physics (Collision)
- world/ → World (Tilemap)
- persistence/ → Persistence (SaveManager)
- input/ → Input (InputManager)
- utils/ → Utils (isometric)
Game system categories:
- Combat → Damage, resistance, crits, DOTs
- Skills → Abilities, cooldowns, scaling
- Loot → Drops, rarity, equipment
- Progression → XP, levels, stats
- Waves → Spawning, difficulty, bosses
- UI/HUD → Health bars, buffs, minimap
- Save/Load → Persistence, state restoration