Communitygithub.com

EVILVIDEOGAMENERD — 從外部破壞你遊戲的測試者

啟動 evil-video-game-nerd 子代理:一個激進的外部審查者,在不接觸 GDD、路線圖或專案規則的前提下遊玩並壓力測試 Godot 遊戲,尋找錯誤、崩潰、軟鎖、不良 UI、不良操控及薄弱遊戲決策,並跨回合維護自己的記憶與發現清單。

EVILVIDEOGAMENERD — 從外部破壞你遊戲的測試者 是什麼?

這個技能啟動一個名為「evil-video-game-nerd」的專門子代理,模擬一個完全不瞭解內部設計文件(GDD)、路線圖或專案規則的外部玩家。其目標是透過黑箱測試(玩家模式)、程式碼與日誌分析及混沌運行器(QA 模式)或與商店描述比較(評論模式),來發現錯誤、崩潰、軟鎖、UI 與操控問題等。該技能支援 Godot 引擎專案,並整合了 MCP 遊戲測試工具與混沌運行器。它維護自己的記憶與發現清單(ledger.md),並在修復後進行重新檢查。此技能常用於 antislop-game 類型專案的發布候選閘門,確保在重大問題獲得驗證修復或標記為「不改」之前不會發布。本技能提供了詳細的回合執行流程、模組選擇(玩家/QA/評論/重新檢查/狀態/設定)、與主代理的互動規則(如不洩漏設計意圖)以及隔離機制的真實限制說明。

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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 的帳列項目
status依嚴重性與狀態總結 qa/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 存在。若不存在,請提議安裝(經使用者同意):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>"}。回合號碼為前一號碼加一(請參閱 reports/)。隔離鉤子從此檔案讀取模式。

  4. 簡報 來自 templates/briefing.md:僅包含玩家導向資訊。

  5. 啟動 evil-video-game-nerd 子代理(其列出的類型可能帶有 godot-gamedev: 前綴)。將簡報、要寫入的報告路徑以及「模板位於 qa/nerd/」傳遞給它。每會話最多 nerd.max_rounds 回合。

  6. 分類 報告給使用者:

    • 阻擋/關鍵 → 當前版本路線圖的必須項目(antislop-game)。
    • 其他 → 按嚴重性 × 頻率排入路線圖或待辦清單。
    • 被拒絕的發現 → 在帳中標記 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 規則);否則隔離會從前門洩漏。

閘門

若帳中仍有未標記為 verified-fixed 或 wontfix 的阻擋或關鍵項目,則發布候選閘門(antislop-game gate)會失敗。

相關技能