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 skills add beremaran/godot-agent-loop --skill verify-godot-changegit clone --depth 1 https://github.com/beremaran/godot-agent-loopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/beremaran/godot-agent-loop/verify-godot-change)<a href="https://agentmods.dev/skills/beremaran/godot-agent-loop/verify-godot-change"><img src="https://agentmods.dev/badge/skills/beremaran/godot-agent-loop/verify-godot-change/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/beremaran/godot-agent-loop/verify-godot-change"><img src="https://agentmods.dev/badge/skills/beremaran/godot-agent-loop/verify-godot-change.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00064 | $0.00914 |
| Opus 5 | $0.00032 | $0.00457 |
| Sonnet 5 | $0.00013 | $0.00183 |
| Haiku 4.5 | $0.00006 | $0.00091 |
Grade A, and why
verify-godot-change 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 12d 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 — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verify a Godot change
Translate the requested change into observable criteria, then report what the evidence proves. Verification alone authorizes observation and bounded test interaction, not corrective persistent mutation. Fail a criterion unless the user separately requested a fix. Support begins at Godot 4.7.
Control contract
- Validate
projectPathagainst effective MCP roots and allowed directories before any runtime or project access. Snapshot persistent files so verification can prove it did not edit them. - Record watched or unattended mode. For watched work, call
editor_sessionwith ensure and launch enabled; stop if no usable editor can be established. Include projectPath for status reads too. For unattended verification, do not launch an editor: direct saved-state, compound verification, and runtime tools are sufficient and must not rewrite project metadata merely to establish a bridge. - Treat reads as observation, injected input as bounded runtime-ephemeral test state, and any scene/resource/script/settings change as unauthorized unless the user also requested repair.
- Use canonical core tools directly (compact is only the compatibility alias).
Resolve hidden
analyze_project_integrity,game_get_property, andgame_evalthroughgodot_catalogdetail, then invoke them withgodot_call; never call a hidden tool directly. - Respect Pause Agent without retry or bypass. While paused, use only safe observation, input release, stop, and cleanup; report the blocked effective tool.
- Use privileged reflection or evaluation only when already enabled, necessary for a criterion, and independently corroborated. Never enable it for convenience.
Workflow
- Define applicable saved-state, runtime, rendered, timing, log/error, regression, and subjective/manual-review criteria. Mark non-applicable and unobservable criteria explicitly.
- Check saved state first with
run_project_testsdiscovery, headless checks, and host file reads of.tscn,.gd, andproject.godot; use hidden integrity analysis only through the declared discovery flow. - Prefer
verify_projectandrun_project_tests; use realtimerun_projectonly for behavior the compound tools cannot prove. - Observe a baseline with capped
game_get_scene_tree, subtree-filteredgame_get_ui, logs, andgame_screenshotwhere rendering is material. Read the tree before using a node path; keep runtime reads serial because the bridge handles one command at a time. Usegame_get_node_infowith compact detail and exact property names. - Prefer bounded
game_wait_untilandgame_scenario. Drive held movement with agame_key_holdstep inside one scenario paired with a bounded wait and release; do not hand-assemble repeatedgame_key_presstaps. Never leave input held while making a separate observation call or while reasoning. Usegame_clickonly when coordinate interaction is part of the criterion. In a scenario, put input fields under arguments; wait and assert steps put condition directly on the step, not toolgame_wait_untilplus arguments.game_key_holdhas no duration field; use a bounded wait, then release it. - Repeat the same observation and compare the intended state. A successful tool response or screenshot alone does not prove behavior, audio quality, feel, or aesthetics.
- Check negative evidence:
game_get_errors,game_get_logs, warnings, fallbacks, ObjectDB/orphan/resource diagnostics, leaks, cleanup, and adjacent regressions. Re-hash persistent files to prove verification made no edit. - Release held input, call
stop_project, and independently confirm teardown.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 12d ago First seen · 73 lines · 64 tokens per session scan A 50b4d34212ef
verify-godot-change is a skill published in the GitHub repository beremaran/godot-agent-loop (5 stars, last pushed 2d ago), licensed MIT. It adds 64 tokens to every session and 914 once invoked, about $0.0003 per session on Opus 5. 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-31.
Other skills, from other repositories
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.
tests-run
Execute Unity tests (EditMode or PlayMode) and return per-test results. Supports filtering by test assembly, namespace, class, and method. Refreshes the AssetDatabase first; defers execution across domain reloads if scripts changed. Precondition: every open scene must be saved — dirty scenes abort the run.
unity-agent-workflows
Use for AI-assisted Unity work that needs live repo discovery, project-derived routing, runtime-owner proof, runtime-visible output hard stops, runtime numeric proof for repeated visible-output failures, state-step guards, multi-agent scope ownership, modular C#/asmdef safety, UI/scene/visual asset gates, data-first…
gdunit-driver
Run gdUnit4 unit tests and parse results into structured output. Use this skill after writing or modifying code to verify correctness via unit tests, when diagnosing test failures, or when writing new test files. Triggers: "run tests", "test fails", "write a test", any gdUnit4/unit test mention. Supports both GDScript…
godot-e2e
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…
testing-bgs-modpack
A checklist and decision guide for checking a newly installed batch of Bethesda Game Studios game modifications before accepting it as ready.