background-map
Generate and validate a fixed-viewport background, map base, or parallax plate as a ready-to-load Texture2D.
Fix gaps identified by the Evaluator. Generates GAP.md from evaluation.json, dispatches workers to address critical/major issues, then runs one final verify+review pass. Unlike gm-build (PLAN.md-driven), gm-fixgap is GAP.md-driven. Explicit invocation only — use /gm-fixgap.
$ npx -y skills add RandallLiuXin/GodotMaker --skill gm-fixgap --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gm-fixgapContext preview
The summary Claude sees to decide when to auto-load this skill.
Fix gaps identified by the Evaluator. Generates GAP.md from evaluation.json, dispatches workers to address critical/major issues, then runs one final verify+review pass. Unlike gm-build (PLAN.md-driven), gm-fixgap is GAP.md-driven. Explicit invocation only — use /gm-fixgap.
name: gm-fixgap description: | Fix gaps identified by the Evaluator. Generates GAP.md from evaluation.json, dispatches workers to address critical/major issues, then runs one final verify+review pass. Unlike gm-build (PLAN.md-driven), gm-fixgap is GAP.md-driven. Explicit invocation only — use /gm-fixgap. disable-model-invocation: true
$ARGUMENTS
You are fixing specific issues identified by the Evaluator. You read the evaluation report, generate a GAP.md task list, dispatch workers to address each gap, then run one final verify+review pass.
**Loop position:** `/gm-fixgap` is never terminal. The cycle is `/gm-fixgap → /gm-verify → /gm-evaluate`. Evaluate either approves (→ `/gm-accept`) or surfaces new gaps (→ another `/gm-fixgap`).
**FIRST ACTION — before anything else:** Write `fixgap` to `.godotmaker/current_role`.
Read `.godotmaker/stage.jsonl` (treat as empty if missing) — each line is `{"role": X, "ts": Y}`.
> "The latest evaluation was already approved. Recommended next: /gm-accept. > If you need to redo this step or have other plans, just tell me."
> "Fixgap already completed for the latest evaluation at {timestamp}. Recommended next: /gm-verify. > If you need to redo this step or have other plans, just tell me."
Then read context:
`ASSETS.md` is the sole runtime-asset authority. For a visual task, derive the snapshot with `tools/asset_result_registration.py --snapshot` and never read a stable entry, manifest pointer, or root index. The snapshot resolves generated and complete user-provided runtime rows, including uniquely named rows introduced by earlier tags.
1. **You CANNOT write .gd/.tscn/.tres directly.** All game code goes through Worker dispatch. 2. **You and your workers CANNOT write to e2e/ directory.** E2E tests are owned by the Evaluator. 3. **Workers CANNOT modify GAP.md/PLAN.md/STRUCTURE.md/ASSETS.md.** 4. **Worker reports are validated by hooks** — incomplete reports are blocked and retried. 5. **Only fix what `evaluation.json` or a fresh `verify_report.json` identified.** Do not add features or refactor unrelated code. 6. **MUST NOT self-certify completion.** Dispatch verifiers, then reviewers. Triaging a reviewer finding to REJECT or SKIP requires a citation per `references/reviewer-finding-triage.md` (mandatory for critical/major; optional for minor). 7. **Do not promote non-blocking visual findings.** If evaluation or verification marks a visual finding as style-only or non-blocking, keep it in notes/minor issues; do not create a new C/J task from it.
GAP.md tasks transition forward only:
pending → in_progress → completed → verified
**When you ACCEPT a reviewer finding against a verified task:** Do NOT change the existing task's state. Add a NEW task (status `pending`) in GAP.md describing the fix. The original task stays `verified`. The new task goes through the full lifecycle. REJECT and SKIP do not create tasks; see `references/reviewer-finding-triage.md`.
This way the state is always monotonic and the audit trail is preserved.
A `failed` task requires a new task or user escalation — do not retry in place.
Do NOT update PLAN.md task statuses — fixgap operates from `evaluation.json` gaps, not the original plan.
GAP.md may need tasks from two sources:
1. **`.godotmaker/evaluation.json`** — product-layer issues found by the evaluator. Always processed. 2. **`.godotmaker/verify_report.json`** — mechanical-layer failures from the most recent verify pass. Processed only when fresh.
Create one critical evaluation-source GAP task for each `playable_unit.rows.*` entry with `result == "fail"`. Include the row key, test path, and evidence entries. Fix the game code or runtime path. Do not reduce the `PLAN.md` or `e2e/` contract.
For each E2E-sourced issue, decide the repair path before writing GAP tasks:
`requested_test_
Autonomous text-to-game pipeline for Godot, powered by Claude Code,Codex,Opencode
Repo: RandallLiuXin/GodotMaker
Generate and validate a fixed-viewport background, map base, or parallax plate as a ready-to-load Texture2D.
Produce reusable card art sources and native Godot card UI resources.
Produce one illustrated character SpriteFrames resource from high-level body-action intent, optional character and style references, and a resolved animation…
Produce a reusable compact-prop atlas from one provider source sheet, with independently loadable AtlasTexture resources for every declared prop.
Produce a standalone static Texture2D effect or one explicitly timed animated SpriteFrames effect.
Generate non-pixel-art, horizontally repeatable platform strips from real image sources as fixed Texture2D cells or AtlasTexture regions.