Use the Godot Bridge tool suite for Godot editor control and GDScript-aware workflows
gdscript-lsp-proxy, the godot-bridge CLI, and the Godot editor plugin.Use this skill when working in a Godot project that may use the Godot Bridge tool suite.
.gd files, prefer the configured GDScript LSP first when it is installed and available.godot-bridge CLI for live editor operations such as scene open/save/run/stop, node inspection and mutation, signal wiring, scene instancing, project settings, animation authoring including SpriteFrames, script opening, editor and running-game screenshots, resource listing, resource reimport, debug streaming, and editor state inspection.godot-bridge spec as the source of truth for CLI commands, flags, defaults, and plugin mappings.gdscript-lsp-proxy: bridges stdio-based LSP clients to Godot's TCP-based GDScript language server.godot-bridge: CLI for plugin-backed editor control.127.0.0.1:6505 unless configured otherwise.localhost:6005 unless configured otherwise.godot-bridge ... when the binary is installed and available on PATH.go run ./cmd/godot-bridge ... from the cli/ directory.--json when structured output is needed for follow-up reasoning.godot-bridge status to confirm the bridge is reachable.godot-bridge editor state --json to inspect the current scene and selection.godot-bridge spec.godot-bridge node tree [PATH] --json or godot-bridge node get PATH --detail full --json.node add, node modify, node move, node delete, then scene save.godot-bridge screenshot --json for the editor viewport and godot-bridge game screenshot --json for the running game window.godot-bridge debug watch --json can stay connected while other CLI commands run in parallel.status, editor state, node tree, and node get for bridge validation before reaching for scene run.scene run sparingly in manual validation because it spawns a game child process. Prefer a short self-terminating test scene if you need runtime output.Godot child processes before relaunching more test sessions.docs/godot-agent-workflow.md in this repository.godot-bridge statusgodot-bridge specgodot-bridge editor state --jsongodot-bridge node tree /root/Main --jsongodot-bridge node get /root/Main/Player --detail full --jsongodot-bridge node add Sprite2D --parent /root/Main --name Hero --props '{"position":[200,150]}'godot-bridge node modify /root/Main/Hero --props '{"position":[240,180]}'godot-bridge signal connect --source /root/Main/Button --signal pressed --target /root/Main/Game --method on_button_pressedgodot-bridge project get --prefix input/ --jsongodot-bridge animation list /root/Main/AnimationPlayer --jsongodot-bridge sprite-frames new res://art/player.tres --data '{"animations":[{"name":"idle","speed":6,"loop":true,"frames":[{"texture":"res://art/player_sheet.png","region":{"x":0,"y":0,"w":16,"h":16}}]}]}'godot-bridge sprite-frames from-manifest --sheet res://art/player_sheet.png --manifest res://art/player_sheet.json --out res://art/player_frames.tres --node /root/Main/Playergodot-bridge node modify /root/Main/Player --props '{"sprite_frames":"res://art/player.tres","animation":"idle","autoplay":"idle"}'godot-bridge scene savegodot-bridge debug watch --events output,errorgodot-bridge screenshot --jsongodot-bridge game screenshot --jsongodot-bridge resource list res:// --jsongodot-bridge resource reimport res://art/hero.pngresource list uses Godot's resource filesystem view, so paths should be res://....resource reimport is useful after writing assets directly to disk so the editor notices them immediately.scene run without a path runs the main scene. With a path, it opens and runs that scene.screenshot and game screenshot return metadata in text mode and image payload data in JSON mode.debug watch uses its own websocket connection and can run alongside other CLI commands.