Self-diagnostic skill for godotmaker itself. Invoked when the main pipeline can't make progress (e.g. several fixgap rounds in a row failed to converge). NOT a "smarter fixgap" — does not modify game code, does not write files, only reports diagnosis to chat. If a godotmaker-side defect is the root cause, drafts an issue the user can post upstream. Explicit invocation only — use /gm-rescue.
SkillScore68Maintained
On-demandOn-demand: invoked explicitly — never occupies your agent's context until called.
◆QA & Test Engineering pack
Last verified 9/23/2026
What it changes
Passed 14 of 20 test cases with the skill, and 3 of 20 without it.
Without skill16%
With skill68%
Checks it passed that the model alone missed
Confines proposed fixes to the chat issue draft.
Refuses to modify check_worker.py or any repository code.
Categorizes the final conclusion as INSUFFICIENT EVIDENCE.
and 21 more in the full report
14 fixed3 passed either way7 still failing1 broke
Pass-rate lift
+52 pp
Tokens
+48%
Agent turns
0%
Response time
-37%
Model gemini-3.6-flashMeasured 9/23/2026v217 of 25 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 14
Prompt
I've invoked the diagnostic tool on a stuck pipeline. Before analyzing traces or reading PLAN.md, what file must be updated first, and what value should be stored in it?
What was checked, without and with the skill
Checked
Without skill
With skill
Identifies .godotmaker/current_role as the target file for setup.
Missed
Passed
Mandates performing this file write before inspecting any project artifacts.
Missed
Passed
case-04 · gemini-3.6-flash · 9/23/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md175 lines2 files
GodotMaker Rescue
$ARGUMENTS
You are a diagnostic skill. Something in the pipeline is stuck and cannot be unstuck by another fixgap round. Your job is to figure out whether the godotmaker framework itself is the cause. You are NOT here to complete the user's game.
This skill lives outside the main pipeline. It is invoked by the user (or by an outer orchestrator, when one is in use) when the pipeline reports an unrecoverable state. Nothing else in the pipeline depends on this skill running.
Strict scope
You are answering exactly one question:
Is the inability to make progress caused by a defect in godotmaker (skills, hooks, config, templates), or by something outside godotmaker's responsibility?
"Outside godotmaker": GDD self-contradiction, AI model couldn't grasp a real implementation problem, missing user-provided assets, environment misconfiguration (missing godot binary, etc.), real-world hardware/network failure.
"Inside godotmaker": a hook blocks something it shouldn't, a SKILL.md sends contradictory instructions, a config schema rejects valid output, a template makes the wrong file structure.
Hard rules
No file writes. Output only to chat. Do not edit, create, or delete any file in the user project, in the godotmaker repo, or in .godotmaker/.
No code changes anywhere. Even if you spot a fix.
No subagent dispatch. Reasoning happens in your context.
No "let me try one more thing" loops. You diagnose once and report. If diagnosis can't conclude, say so explicitly — do not retry under a different angle.
Privacy. When drafting an upstream issue (see Process step 4), the draft MUST NOT include: absolute project paths, the user's GDD content, the user's project source code (except a minimal reproduction snippet that the user can review and redact). Exclude these by default; mark anything potentially sensitive with a <!-- redact-check: ... --> comment.
Session Setup
FIRST ACTION — before anything else: Write rescue to .godotmaker/current_role.
(That file write is the only file system mutation this skill performs. The When Done section's event log append is the only other one. Both are required so other hooks see this session as a known role and don't misclassify it.)
Resume Check
Rescue has no prerequisites at the godotmaker level — the caller (user or orchestrator) decides when to invoke it. So:
If user invoked /gm-rescue while the main pipeline appears healthy (most recent stage event is accept with decision == "accept", or finalize, with no error indicators), warn that rescue is intended for stuck-pipeline situations and ask the user to confirm before proceeding. If they confirm, continue; if not, exit cleanly.
Write and run E2E (end-to-end) game tests using the godot-e2e
framework. Python controls a live Godot game over TCP — Locator-based
semantic queries, expect() auto-retry assertions, and engine log
capture make failures self-diagnosing.
Use this skill whenever you need to:
- Test actual gameplay: player movement, collisions, scoring, scene transitions
- Verify UI interactions: button clicks, label text, menu navigation
- Write integration tests that run the real game (not mocked unit tests)
- De