Communitygithub.com

evil-video-game-nerd — ゲームを壊す外部レビュアー

EvilVideoGameNerd サブエージェントを起動し、GDDやロードマップ、プロジェクトルールにアクセスできないアウトサイダーとしてGodotゲームをプレイ・ストレステスト。バグ、クラッシュ、ソフトロック、UI・操作の問題、弱いゲームデザインを発見し、独自のメモと発見台帳を保持します。モード: player (ブラックボックス/デフォルト)、qa (コード/ログ読み取り+カオスランナー実行)、critic (ストア説明との比較)。

evil-video-game-nerd — ゲームを壊す外部レビュアー とは?

EvilVideoGameNerd は、ゲーム開発プロジェクトに外部視点の厳しいレビューをもたらすサブエージェントスキルです。主エージェントは、GDDやプロジェクトルールなど内部情報を一切伝えず、プレイヤー向けの説明だけをブリーフィングとして渡します。これにより、開発者が気づきにくいバグ、クラッシュ、操作感の問題をアウトサイダーの目線で発見できます。Godot MCP(GoPeak推奨)によるプレイ操作、カオスランナーによる自動ストレステストに対応。発見は台帳(ledger.md)に記録され、修正後には再チェック(recheck)モードで確認を行います。サポート対象エージェントはClaude Codeなど、サブエージェント機能を持つAIコーディングエージェント。プラグインの隔離機能により、内部ドキュメントへのアクセスを制限しつつ、発見結果の管理とトリアージを効率的に行えます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mallardask-ops/ultimate-antislop-game/tree/HEAD/godot-skills/skills/evilvideogamenerd

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

EVILVIDEOGAMENERD — ゲームを壊すアウトサイダー

レビュアー設定(ライブ)

!node ${CLAUDE_SKILL_DIR}/../../scripts/gate.mjs evilvideogamenerd || echo GATE_UNAVAILABLE

  • NO_CONFIG → 停止し、最初に devinit スキルを実行してください。
  • CONFIG_ERROR → ポリシーを修復・検証してから続行してください。デフォルト値で代用しないでください。
  • プロジェクトにテンプレートをコピーするには node ${CLAUDE_SKILL_DIR}/../../scripts/install-template.mjs <skill>/templates/<file> <destination> を使用します(上書きしません)。{{placeholders}} を含むテンプレートは読み取り、埋めてから書き込みます。

モード($ARGUMENTS)

引数実行内容
player / qa / critic [focus]レビューラウンド(手順は以下)。デフォルトモード: nerd.default_mode
recheck台帳内のステータスが fix-submitted、still-open、regressed の行のみを再チェックするラウンド
statusqa/nerd/ledger.md を重要度とステータスで要約。レビュアーは起動しない
setupステップ1〜2のみ実行:レビュアーのフォルダとツールの準備

あなたの役割(主エージェント)

あなたは準備、起動、トリアージを行います。レビュアーは単独で作業します。

  • 決して デザイン意図、GDDの内容、数値、ロードマップ項目、プロジェクトルールをレビュアーのプロンプトに入れないでください。ブリーフィングはプレイヤー向けのメモとして書きます:起動方法、操作方法、パッチノート形式での変更点。
  • 決して レビュアーの発見をクローズしないでください。fix-submitted を設定することはできます(コミットまたはメモ付き)。verified-fixed を設定できるのは、再チェック時のレビュアーまたは人間のみ。wontfix を設定できるのは人間のみ。
  • レビュアーの発見に同意しない場合(「それは意図的なものです」)はユーザーの判断です。ユーザーの決定とともに記録してください。

ラウンド手順

  1. レビュアーフォルダ(paths.nerd、デフォルト qa/nerd/)。存在しない場合は作成:

    • ledger.md:install-template.mjs evilvideogamenerd/templates/ledger.md qa/nerd/ledger.md;
    • report-template.md:install-template.mjs evilvideogamenerd/templates/report.md qa/nerd/report-template.md;
    • reports/、screens/、logs/、scripts/(レビュアーが必要に応じて作成)。

    レビュアーはプラグインフォルダを読めないため、テンプレートはここに配置する必要があります。

  2. ツーリング。レビュアーが実際に何を使えるか確認し、明確に伝えてください:

    • MCPプレイ:スクリーンショットと入力ツールを備えたGodot MCPが利用可能(GoPeak推奨、stopgenスキルの setup-mcp で設定)。player および critic モードで必要。
    • カオスランナー:<project_dir>/tools/qa/chaos_runner.gd が存在するか確認。存在しない場合は、インストールするよう提案(ユーザーOKの場合):install-template.mjs evilvideogamenerd/templates/chaos_runner.gd <project_dir>/tools/qa/chaos_runner.gd。Godotバイナリが必要で、ディスプレイは不要。
    • なし:ラウンドは部分的なもの(qa コードレビュー)にしかならないことをユーザーに伝え、続行するか確認。
  3. セッションファイル。qa/nerd/.session.json に以下を書き込み:{"mode": "...", "round": N, "focus": "...", "capabilities": ["mcp-play", "chaos"], "version": "<process.current_version>", "started": "<ISO date>"}。ラウンド番号は前回のものに1を足したもの(reports/ を参照)。隔離フックはこのファイルからモードを読み取ります。

  4. ブリーフィング templates/briefing.md から:プレイヤー向け情報のみ。

  5. 起動 evil-video-game-nerd サブエージェントを起動(リスト上のタイプに godot-gamedev: プレフィックスが付く場合あり)。ブリーフィング、レポートの書き込み先パス、「テンプレートは qa/nerd/ にあります」を渡します。セッションあたり最大 nerd.max_rounds ラウンドまで。

  6. トリアージ レポートをユーザーと一緒に実施:

    • Blocker/Critical → 現在のバージョン(antislop-game)のロードマップ Must 項目に。
    • その他 → 重要度×頻度でロードマップまたはバックログに。
    • 却下された発見 → 台帳に wontfix とユーザーの理由を記録。
    • 疑わしい発見や直感 → 再現が確認されるまで何もしない。
  7. 修正、そして再チェック。修正後、台帳に fix-submitted を設定し、recheck を実行。最大 nerd.max_rounds まで繰り返します。

  8. セッション終了時に qa/nerd/.session.json を削除します。

隔離の意味(正直に説明)

  • プラグインの nerd-guard フックはこのサブエージェントにのみ適用されます。GDD、ロードマップ、決定事項、プレイテスト、AGENTS.md、CLAUDE.md、.gamedev/ への読み取りを阻止します。player/critic モードでは、docs/player/、qa/nerd/、および自身のメモリのみを許可し、プレイツールのみを許可します。書き込みは qa/nerd/ と自身のメモリのみに制限し、ゲームを編集したり実行時にメソッドを呼び出すMCPツールは決して許可しません。
  • omitClaudeMd には Claude Code 2.1.271 以降が必要です。初期のユーザー/プロジェクト/ローカル指示をスキップします。管理ポリシーは引き続きロードされ、ファイルにアクセスするとサブディレクトリの指示がロードされる場合があります。これにより指示のないコンテキストが保証されるわけではありません。レビュアーはプロジェクトメモリを .claude/agent-memory/…evil-video-game-nerd…/ または(エージェントメモリが利用できない場合)qa/nerd/memory.md に保持します。
  • Bashフィルタリングはベストエフォートであり、サンドボックスではありません。確実な隔離が必要な場合はこの点をユーザーに伝えてください。代替案は docs/ を含まない別のチェックアウトです。
  • docs/player/ にはデザイン意図を含めないでください(gdddocsルール)。そうしないと隔離が正面玄関から漏れます。

ゲート

リリース候補ゲート(antislop-game gate)は、台帳に verified-fixed または wontfix ではない Blocker または Critical 行が存在する場合に失敗します。

関連スキル