Skip to content
Agentmart
Submit a tool

game-execution

Task implementation workflow, test harnesses, screenshot/video capture, visual debugging.

Skill by dragoscirjan

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/dragoscirjan-game-execution

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Task implementation workflow, test harnesses, screenshot/video capture, visual debugging. Load before implementing game tasks.

Use cases: testing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/game-execution

What's inside

Skill name
game-execution
Description
Task implementation workflow, test harnesses, screenshot/video capture, visual debugging. Load before implementing game tasks.
License
MIT
Instructions
275 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Game Execution — Implementation, Testing & Capture

## Phases

### Risk Tasks (if game plan has any)

Implement each risk feature in isolation before the main build:

1. Set up minimal environment — only the nodes needed to exercise the risk
2. Run the implementation loop until the risk task's **Verify** criteria pass
3. Commit

### Main Build

Implement everything in the game plan's **Main Build**:

1. Generate scenes first, then scripts (scenes create nodes that scripts attach to)
2. Run the implementation loop until verification criteria pass
3. Run final verification including presentation video
4. Commit

---

## Implementation Loop

1. **Import assets** — `timeout 60 godot --headless --import` (generates `.import` files — without this, `load()` fails). Re-run after modifying assets.
2. **Generate scenes** — write scene builder scripts, compile to `.tscn`
3. **Generate scripts** — write `.gd` files
4. **Pre-validate** — `timeout 30 godot --headless --check-only -s <path>` for each new/modified `.gd`
5. **Validate project** — `timeout 60 godot --headless --quit 2>&1`
6. **Fix errors** — if validation fails, fix and re-validate
7. **Capture** — write test harness, run with `--write-movie`, produce screenshots
8. **Verify** — check captures against verification criteria + `reference.png` consistency. Check stdout for `ASSERT FAIL`.
9. **Visual QA** — delegate to Heimdall (visual-qa subagent) when applicable
10. If verification fails → fix and repeat from step 2

> **MCP alternative (when `godot_editor` is enabled — see `mcp-tools-godot` skill):** For step 5, use `run_project` + `get_debug_output` instead of `godot --headless --quit` for interactive validation with richer console output. Use `stop_project` to terminate. For pre-validation (step 4), use `get_diagnostics` from `godot_diagnostics` for LSP-level checks. Steps 1 and 7 have no MCP equivalent — always use bash for asset import and `--write-movie` capture.

After each phase: update the game plan spec status, write discoveries to knowledge graph (`memory` tools), git commit.

### Iteration Tracking

There is no fixed iteration limit — use judgment:

- If there is progress (even small iterative steps) — keep going
- If you recognize a **fundamental limitation** (wrong architecture, missing engine feature) — stop early, even after 2-5 iterations
- Stop signal: "making the same kind of fix repeatedly without convergence"

---

## Commands

```bash
# Import new/modified assets (MUST run before scene builders):
timeout 60 godot --headless --import

# Compile a scene builder (produces .tscn):
timeout 60 godot --headless --script <path_to_builder.gd>

# Pre-validate a single script:
timeout 30 godot --headless --check-only -s <path_to_script.gd>

# Validate all project scripts:
timeout 60 godot --headless --quit 2>&1
```

**Common errors:**

- `Parser Error` — syntax error, fix the line indicated
- `Invalid call` / `method not found` — wrong node type or API, delegate to Mimir for class lookup
- `Cannot infer type` — `:=` used with `instantiate()` or polymorphic math functions
- Script hangs — missing `quit()` in scene builder

---

## Test Harnesses

Write `test/test_{task_id}.gd` — a SceneTree script that loads the scene under test and verifies the task's goal. Do NOT call `quit()` — the movie writer handles exit.

### Contract

```gdscript
extends SceneTree

func _initialize() -> void:
    # Setup: load scene, position camera, configure test
    var scene: PackedScene = load("res://scenes/main.tscn")
    var root_scene = scene.instantiate()
    root.add_child(root_scene)

    # Camera must be activated explicitly
    var cam := Camera3D.new()
    cam.position = Vector3(0, 5, 10)
    cam.current = true
    root.add_child(cam)

func _process(delta: float) -> bool:
    # Return false to keep running
    return false
```

### Console Assertions

Use `print("ASSERT PASS/FAIL: ...")` for behavioral properties hard to judge visually (positions, velocities, state changes). After capture, check stdout for `ASSERT FAIL` lines.

### Simulated Input

```gdscript
var timer := Timer.new()
timer.wait_time = 1.0
timer.one_shot = true
timer.timeout.connect(func(): Input.action_press("move_forward"))
root.add_child(timer)
timer.start()
```

### Sustained Movement (Presentations)

Open-loop input (timed press/release) doesn't work for 30-second videos — per-frame errors compound. Use **closed-loop waypoint steering** based on actual position each frame.

From dragoscirjan/opencode-config, MIT.

More from dragoscirjan/opencode-config

Signals

Stars
0
Forks
0
Open issues
3
Last commit (this folder)
May 28, 2026 (5 months ago)
Last release
Jun 2, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from dragoscirjan

Cite this page

game-execution skill. Agent Mart. https://agentmart.dev/skills/dragoscirjan-game-execution (last updated 2026-10-24)