Skip to content
Automation
Skill

/headless-build

Compile-check a Godot project using headless mode. Use after writing or modifying any GDScript or C# code to verify it compiles. Triggers: after code changes, before running tests, when build errors need diagnosis. Also use this when the user says "check if it compiles", "build

From plugin
godotmaker
51141 skills7 agents14 hooks
Install
$ npx -y skills add RandallLiuXin/GodotMaker --skill headless-build --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/headless-build

Context preview

The summary Claude sees to decide when to auto-load this skill.

Compile-check a Godot project using headless mode. Use after writing or modifying any GDScript or C# code to verify it compiles. Triggers: after code changes, before running tests, when build errors need diagnosis. Also use this when the user says "check if it compiles", "build

SKILL.md

headless-build.SKILL.md
name: headless-build
description: |
  Compile-check a Godot project using headless mode.
  Use after writing or modifying any GDScript or C# code to verify it compiles.
  Triggers: after code changes, before running tests, when build errors need diagnosis.
  Also use this when the user says "check if it compiles", "build check", "does this parse",
  or after any file creation/modification that could break compilation.

Headless Build

Compile-check a Godot project. Fastest feedback loop: "did my code parse?"

Run

python tools/agent_runtime.py godot_path

Then substitute the printed value for `<godot_path>`:

"<godot_path>" --headless --quit 2>&1

Run from the project root (where `project.godot` lives). Should exit within 30 seconds. If it hangs, an autoload may block in `_ready()` — kill and report.

Filter output

Godot's output mixes script errors with engine noise. Only script errors matter.

**Ignore these** (engine internals, always present in headless mode):

  • `Condition "..." is true` with `.cpp` source location — engine C++ assertion
  • `ObjectDB instances leaked at exit` — no cleanup in headless
  • `N resources still in use at exit` — same cause
  • `Screen index N is invalid` — no display in headless

**Rule**: if the `at:` line references a `.cpp` file, skip it.

**These ARE script errors** (report them):

  • `SCRIPT ERROR:` with `res://` path — GDScript parse/load failure
  • `Failed to load script "res://..."` — missing or broken script
  • `error CS` — C# build error (from dotnet build)
  • `Failed to load resource "res://..."` — missing dependency

Report

  • No script errors → **PASS**
  • Script errors found → **FAIL**, list each with file, line, message
  • Don't auto-fix. Report only.
  • Ignore `WARNING:` lines and application log output.
Read more
Ships withgodotmaker

Autonomous text-to-game pipeline for Godot, powered by Claude Code,Codex,Opencode

Get the whole plugin