minecraft-mod-qa-automation
Skill0 starsChanged 7 months agoApache-2.0View on GitHub
Recommended control flow: Do not force visual validation through headless Linux when the real target is a Windows client workflow. Use headless launchers for smoke coverage where they fit, not as proof that the real rendered client works.
In this repository57 other files it gives its agents.
- ai-app-integrationSkill
- anti-llm-frontend-designSkill
- aspnet-core-web-developmentSkill
- async-python-patternsSkill
- browser-game-foundationsSkill
- browser-local-qaSkill
- build-mcp-server-sdk-v2Skill
- canva-design-opsSkill
- check-completionSkill
- cli-tool-creatorSkill
- cloudflare-agents-mcpSkill
- cloudflare-durable-objectsSkill
- cloudflare-workers-platformSkill
- deployment-preview-workflowsSkill
- docx-document-artifactsSkill
- durable-workflow-orchestrationSkill
- dynamic-og-imagesSkill
- eval-auditSkill
- evaluate-ragSkill
- figma-design-to-code-rulesSkill
- fine-tuningSkill
- frontend-product-builderSkill
- game-asset-pipeline-expansionSkill
- game-ui-playtestSkill
- generate-synthetic-dataSkill
- github-pr-ci-opsSkill
- gmail-inbox-opsSkill
- golden-datasetSkill
- huggingface-llm-trainerSkill
- javascript-monorepo-buildsSkill
- linear-issue-managementSkill
- media-generation-transcriptionSkill
- millrace-rs-contract-paritySkill
- notion-workspace-flowsSkill
- openai-docsSkill
- optimize-agentic-cliSkill
- pdf-artifact-workflowSkill
- phaser-2d-game-developmentSkill
- postgres-query-performanceSkill
- product-ui-polish-reviewSkill
- pydantic-v2-patternsSkill
- python-repo-refactoring-hygieneSkill
- rag-corpus-hygieneSkill
- react-next-performance-reviewSkill
- rust-best-practicesSkill
- shadcn-ui-compositionSkill
- skill-evaluation-harnessSkill
- tauri-desktopSkill
- tauri-mcp-cliSkill
- tauri-ptySkill
- tile-pixel-art-transitionsSkill
- train-sentence-transformersSkill
- typer-cli-patternsSkill
- using-dbt-for-analytics-engineeringSkill
- validate-evaluatorSkill
- visual-asset-pipelineSkill
- watchdog-file-watcher-patternsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 18 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Run cheap checks first: formatting, build, unit tests, and loader-native tests.
- Distinctive: line 11
Use Fabric GameTests or equivalent runtime tests for deterministic world interaction coverage.
- Distinctive: line 13
Add a client bridge for command execution, player state, nearby block scans, camera control, logs, and screenshots.
- Distinctive: line 15
Use Mineflayer or pathfinding only for bounded gameplay scenarios where movement, crafting, or repeated interaction adds signal.
- Distinctive: line 17
Use native RPA or image matching only for GUI-visible behavior that cannot be asserted through commands, GameTests, bridge calls, or …
- Distinctive: line 21
Do not treat every mod check as UI automation.
- Distinctive: line 22
Do not rely on Mineflayer alone and call it real client QA.
- Distinctive: line 23
Do not launch the client for tiny logic checks that unit tests can cover.
- Distinctive: line 24
Do not compare screenshots without fixed client, resource pack, GUI scale, camera pose, FOV, window geometry, and display scaling.
- Distinctive: line 26
Do not use public multiplayer servers for reproducible QA.
- Distinctive: line 27
Do not let automated play improvise without named setup, actions, checkpoints, assertions, and cleanup.
- Distinctive: line 29
Do not silently retry real logic failures.
- Distinctive: line 31
Keep all automation constrained to local test worlds, private servers, or dedicated QA environments.
- Distinctive: line 66
Do not force visual validation through headless Linux when the real target is a Windows client workflow.
- Distinctive: line 105
Every automated QA run should emit a structured artifact bundle.
- Distinctive: line 128
Run cheap checks first and stop if they fail.
- Distinctive: line 130
Verify bridge/test helpers loaded, then enter a prepared world or fixture.
- Distinctive: line 150
Start with the cheapest reliable layer and widen only when the feature needs runtime, client, visual, or gameplay proof.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Minecraft Mod QA Automation
Purpose
Help agents design strong automated QA for Minecraft Java mods, especially when compile-time checks and server-only smoke tests are not enough. Treat Minecraft mod QA as a layered testing problem: white-box runtime checks first, structured client bridge assertions second, and black-box desktop or image automation last.
Quick Start
- Run cheap checks first: formatting, build, unit tests, and loader-native tests.
- Use Fabric GameTests or equivalent runtime tests for deterministic world interaction coverage.
- Add a client bridge for command execution, player state, nearby block scans, camera control, logs, and screenshots.
- Use Mineflayer or pathfinding only for bounded gameplay scenarios where movement, crafting, or repeated interaction adds signal.
- Use native RPA or image matching only for GUI-visible behavior that cannot be asserted through commands, GameTests, bridge calls, or protocol state.
Operating Constraints
- Do not treat every mod check as UI automation.
- Do not rely on Mineflayer alone and call it real client QA.
- Do not launch the client for tiny logic checks that unit tests can cover.
- Do not compare screenshots without fixed client, resource pack, GUI scale, camera pose, FOV, window geometry, and display scaling.
- Do not use public multiplayer servers for reproducible QA.
- Do not let automated play improvise without named setup, actions, checkpoints, assertions, and cleanup.
- Do not silently retry real logic failures. Retry only plausible flakes such as lost focus, unloaded chunks, startup races, or screenshot timing.
- Keep all automation constrained to local test worlds, private servers, or dedicated QA environments.
Inputs This Skill Expects
- Minecraft version, mod loader, Java version, and Gradle wrapper command.
- The supported mod matrix and whether the target is Fabric, Forge, NeoForge, or another loader.
- The feature under test and its expected runtime, gameplay, and visual states.
- Available test hooks: unit tests, GameTests, commands, bridge mod, screenshots, prepared worlds, Mineflayer scripts, or desktop automation.
- Host constraints such as WSL/Windows split, client launch method, ports, window geometry, resource packs, and artifact directories.
Output Contract
- Name the lowest reliable test layer that can prove the behavior.
- Define a deterministic fixture: seed, save, setup commands, configs, mod set, resource pack state, camera pose, and cleanup/reset path.
- Specify the exact observe-and-assert method: unit assertion, GameTest, command, bridge state query, screenshot comparison, bot scenario, or RPA step.
- Require an artifact bundle with logs, screenshots where relevant, state dumps, action traces, environment data, and a structured test summary.
- Classify failures as setup, launch/runtime, deterministic gameplay, visual, timing/flaky, unsupported test design, or unknown.
Recommended Architecture
For WSL plus Windows setups, keep orchestration and repository work on the WSL side, and keep the actual Minecraft client, native desktop automation, and client-side helpers on the Windows side.
Recommended control flow:
WSL agent -> local launcher/helper -> Minecraft client -> bridge/test mods -> artifacts -> WSL judgeDo not force visual validation through headless Linux when the real target is a Windows client workflow. Use headless launchers for smoke coverage where they fit, not as proof that the real rendered client works.
Layer Selection
- Unit tests: logic, math, serialization, recipe eligibility, inventory transforms, and utility behavior.
- Fabric GameTests or loader-native tests: world interaction, block placement, machine progression, item behavior, persistence, and deterministic runtime assertions.
- Client bridge: command execution, player info, inventory and container state, nearby block scans, chat or command output capture, camera positioning, and screenshots.
- Mineflayer: bounded protocol-level gameplay scenarios involving movement, crafting, placement, gathering, or repeated interaction.
- Pathfinding or Baritone-like tooling: traversal, reachability, repeated navigation, or mining/building routes.
- Screenshot helpers: chunk-settled capture timing, naming discipline, visual baselines, and bulk evidence.
- PyAutoGUI, SikuliX, Java Robot, or similar RPA: exact GUI clicks, modal dialogs, HUD alignment, menus, and other behavior the game does not expose through a better hook.
Test Classes
- Startup smoke: clean launch, mod load, no fatal exceptions, environment ready.
- Registration smoke: blocks, items, entities, screens, recipes, and commands exist and are usable.
- Interaction tests: place, use, open, insert, consume, produce, break, reload, and verify state or persistence.
- Visual assertion tests: HUD, overlay, tooltip, model variant, block state, particle, progress bar, or screen layout appears as expected.
- Scenario tests: multi-step gameplay flow with named fixture, action trace, checkpoints, screenshots, and terminal assertion.
- Regression replay: rerun a previously failing setup with the same seed, save, commands, scripts, and expected artifacts.
- Compatibility tests: only the loader, Minecraft, Java, and dependency combinations the mod actually supports.
Artifact Contract
Every automated QA run should emit a structured artifact bundle.
Minimum contents:
run_manifest.jsonenvironment.jsonclient.logor extracted run logtest_summary.jsonscreenshots/when client-visible state mattersfailures/commands_or_actions.logworld_state/dump or fixture referencediffs/when visual comparison is used
Useful manifest fields include mod version, git SHA, Minecraft version, loader version, Java version, active mods, configs, world seed or fixture ID, scenario name, start/end timestamps, pass/fail, failing step, screenshots, and exception summary.
Procedure
- Define the feature behavior and pick the lowest reliable test layer.
- Normalize the environment: Minecraft, loader, Java, mod set, configs, resource packs, render distance, GUI scale, FOV, keybinds, world seed, window size, display scaling, ports, and screenshot directory.
- Run cheap checks first and stop if they fail.
- Launch the client only after the basic checks pass.
- Verify bridge/test helpers loaded, then enter a prepared world or fixture.
- For each scoped test, run setup, act, observe, assert, capture artifacts, and cleanup/reset.
- Escalate only when needed: GameTest or command assertion, bridge state query, screenshot comparison, Mineflayer scenario, then native RPA.
- On failure, capture screenshot, player state, nearby block scan if relevant, inventory/container state, recent log tail, and failure class.
Pitfalls And Gotchas
- A cinematic bot demo is not stronger than a boring deterministic harness.
- Screenshots without environment normalization are weak evidence.
- Protocol-level bot state does not prove the true rendered client experience.
- Client bridge inspection is usually more reliable than pixel clicking.
- Long 20-minute scenarios should be split into smaller named tests.
- Fixed seeds, prefab structures, prepared saves, or explicit setup commands are more useful than improvised worlds.
- Visual tolerances need a reason, and full original screenshots should still be kept as evidence.
Progressive Disclosure
Start with the cheapest reliable layer and widen only when the feature needs runtime, client, visual, or gameplay proof. Keep the QA plan as small as the feature allows, but require enough artifacts that a future agent can reproduce a failure from a clean checkout or documented fixture.
Verification Pattern
- Confirm the plan names the test layer and explains why lower layers are not enough.
- Confirm the fixture and environment are deterministic.
- Confirm each test has setup, action, observation, assertion, artifacts, and cleanup/reset.
- Confirm screenshots are paired with normalized settings and structured state where possible.
- Confirm failures are classified instead of all being labeled mod bugs.
- Confirm RPA is justified as a last resort, not the default testing strategy.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

