Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/github-zero123/mcdevtool/mcdk-mcp-game-testing-workflownpx skills add GitHub-Zero123/MCDevTool --skill mcdk-mcp-game-testing-workflowgit clone --depth 1 https://github.com/GitHub-Zero123/MCDevToolWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01971 |
| Opus 5 | $0.00000 | $0.00986 |
| Sonnet 5 | $0.00000 | $0.00394 |
| Haiku 4.5 | $0.00000 | $0.00197 |
Grade A, and why
mcdk-mcp-game-testing-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MCP 游戏测试工作流 Skill
适用场景
当用户希望使用 MCDK-MCP 对网易 Minecraft 基岩版 Addon、Python2 Mod、UI、玩法逻辑或资源效果进行测试、回归验证、日志分析时,使用本 Skill。
本 Skill 的核心判断是:不要默认让通用 Agent 仅依赖纯 LLM、截图和点击完成复杂游戏测试。优先要求或创建代码内测试入口,再通过 MCP Tool 调用测试入口;高版本 execute_code 已支持直接返回被执行代码的 return 结果,应优先读取返回值完成判定,仅在返回值缺失、异常、与预期不符或需要排查副作用时再拉取日志。
工作原则
- 优先测试入口,不优先盲目操作游戏画面。
- 优先
execute_code返回值、结构化状态、错误日志,不优先截图。 - 优先短链路、可复现测试函数,不优先长链路自由探索。
- 优先多轮统计,不把单次偶然结果当结论。
- 代码执行字符串应尽量短,只负责调用已存在的测试函数并返回结果。
- 优先维护项目内测试函数,让测试能力随项目长期演进,而不是只写一次性 MCP 临时代码。
标准流程
1. 识别项目与目标
- 确认用户要验证的具体功能点。
- 定位客户端 / 服务端 / UI / 资源 / Shader / 纯逻辑等测试类型。
- 查找是否已有测试函数、诊断模块、debug 命令、稳定返回结构或稳定日志前缀。
- 如果没有测试入口,优先建议或实现一个只在开发环境启用的测试入口。
- 如果项目需要长期维护或后续回归,优先把测试函数保留在项目中,而不是仅通过一次性 MCP 代码片段完成验证。
2. 设计可维护测试入口
测试入口应满足:
- 可由 MCP
execute_code调用; - 函数名、注释、docstring / 文档必须明确标注这是测试函数,例如
mcdk_test_*、debug_test_*、run_mcdk_self_test,避免被误认为正式业务入口; - 放在诊断、测试、debug、自检等独立模块中,并与正式逻辑隔离;
- 仅在开发环境、调试配置或显式调用时启用,避免发布环境默认执行;
- 初始化固定测试场景;
- 触发一个明确目标行为;
- 优先
return结构化结果,包含case、ok、duration_ms、stage、error、metrics等字段; - 能在失败时返回可诊断信息;
- 必要时输出
[MCDK_TEST]前缀的结构化日志作为辅助诊断,而不是作为默认唯一结果来源; - 尽可能清理测试状态,避免污染后续用例。
推荐返回值示例:
return {"case": "case_name", "ok": True, "duration_ms": 12, "metrics": {"count": 1}}
可选日志示例:
[MCDK_TEST] {"case":"case_name","ok":true,"duration_ms":12,"metrics":{"count":1}}
3. 通过 MCP 执行
优先使用以下 Tool 顺序:
get_latest_error_logs:读取错误日志基线,便于之后判断是否产生新异常;execute_code:执行客户端或服务端测试入口,并优先读取其直接返回的return结果;- 解析
execute_code返回值:如果返回结构完整且符合预期,可直接进入统计与结论; get_latest_error_logs:当返回值表示失败、执行异常、结果不符合预期,或需要确认是否有隐藏异常时使用;get_latest_logs或get_log_range:仅在返回值缺失、日志本身是测试目标、需要分析[MCDK_TEST]辅助日志,或发生预期外情况时使用;capture_game_window:仅在日志 / 返回值不足以判定视觉结果时使用;click_game_window:仅在测试入口无法覆盖且用户明确需要交互时使用;reload_game:仅在热更新或资源刷新不足时使用;资源级重载传入reload_addons=true。
4. 统计与结论
- 优先对
execute_code返回的结构化结果做解析。 - 只有在需要辅助诊断时,再对
[MCDK_TEST]日志做解析。 - 多轮执行时统计成功率、耗时、异常类型、失败阶段。
- 区分“测试入口失败”“业务断言失败”“MCP 连接失败”“游戏未启动 / 未启用 MCP”“返回值缺失 / 结构异常”。
- 输出结论时附带可复现步骤,而不是只描述画面观察。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 118 lines · 0 tokens per session scan A a8b099583462
mcdk-mcp-game-testing-workflow is a skill published in the GitHub repository GitHub-Zero123/MCDevTool (59 stars, last pushed 5d ago), licensed BSD-3-Clause. It costs nothing until one of its globs matches a file; then it loads 1,971 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
particles
Use this skill when creating particle effects in Phaser 4. Covers ParticleEmitter, emission zones, death zones, particle properties, textures, gravity wells, and particle movement. Triggers on: particles, emitter, particle effect, explosion, fire, smoke.
web-games
Web browser game development principles. Framework selection, WebGPU, optimization, PWA.
develop-web-game
Use when Codex is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script with short input bursts and intentional pauses, inspect screenshots/text, and review console errors with rendergametotext.
gameobject-component-destroy
Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.
ship-web-games
Package, deploy, and verify a playable Three.js or web game. Use for release builds, asset delivery, private/public deployment, production smoke tests, browser proof, release notes, rollback readiness, and cleanup of temporary QA resources.
unity
Compile, test, and drive Unity for this repo's C# packages (unity/core, jint, quickjs, clearscript) and the two Unity projects (tests/, kitchen-sink/). Use when a change touches C# under unity/, when Unity test results are needed, when a rendering snapshot has to be checked or regenerated, or when the app has to be…