jpskill.com
🛠️ 開発・MCP コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して ralph-wiggum-v2.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → ralph-wiggum-v2 フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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: 発見と初期化

  1. 状態ファイルを探すか作成する: {project}/.ralph/state.json
  2. カテゴリファイルを探すか作成する: {project}/.ralph/categories.json
  3. カテゴリをブートストラップする: 空の場合、コードベースの構造から

フェーズ2: 並列エージェントレビュー群

以下のようにして、3〜5個の並列エージェントを生成します。

  • ランダムなカテゴリ(スコアが最も低いものに重み付け)
  • そのカテゴリ内のランダムなサブカテゴリ
  • ランダムなレビュー形式(直近3回で使用したものとは異なるもの)
  • ユニークな焦点領域(エージェント間で重複なし)

フェーズ3: TDD実装サイクル

各発見事項に対して:

  1. 最初に失敗するテストを書く
  2. 最小限の修正を実装する
  3. テストが通ることを確認する
  4. 状態を更新する

フェーズ4: カテゴリの進化

各イテレーション後:

  1. 新しい発見事項をマージする
  2. スコアを再計算する
  3. メタレビュー(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

  1. Locate or create state file: {project}/.ralph/state.json
  2. Locate or create categories file: {project}/.ralph/categories.json
  3. 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:

  1. Write failing test first
  2. Implement minimal fix
  3. Verify test passes
  4. Update state

Phase 4: Category Evolution

After each iteration:

  1. Merge new discoveries
  2. Recalculate scores
  3. 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:

  1. Full test suite run
  2. TypeScript strict mode check
  3. Build production bundle
  4. Verify game loads and plays
  5. Generate completion report
  6. 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