# Send Godot Skill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-godot-skill",
    "name": "Godot Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/TomLeeLive/openclaw-godot-skill",
    "canonicalUrl": "https://clawhub.ai/TomLeeLive/openclaw-godot-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/openclaw-godot-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-godot-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/install-extension.sh",
      "extension/index.ts",
      "extension/openclaw.plugin.json",
      "extension/package.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "openclaw-godot-skill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T20:44:50.527Z",
      "expiresAt": "2026-05-10T20:44:50.527Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-godot-skill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-godot-skill",
        "contentDisposition": "attachment; filename=\"openclaw-godot-skill-1.2.7.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "openclaw-godot-skill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-godot-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-godot-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-godot-skill",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-godot-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-godot-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-godot-skill/agent.md"
  }
}
```
## Documentation

### Godot Plugin Skill

Control Godot 4.x Editor through 30 built-in tools. Supports 80+ node types.

### First-Time Setup

If godot_execute tool is not available, install the gateway extension:

# From skill directory
./scripts/install-extension.sh

# Restart gateway
openclaw gateway restart

The extension files are in extension/ directory.

### Core Tools

CategoryKey ToolsScenescene.create, scene.getCurrent, scene.open, scene.saveNodenode.find, node.create, node.delete, node.getDataTransformtransform.setPosition, transform.setRotation, transform.setScaleDebugdebug.tree, debug.screenshot, console.getLogsInputinput.keyPress, input.mouseClick, input.actionPressEditoreditor.play, editor.stop, editor.getState

### 1. Scene Creation

Use godot_execute tool:

godot_execute(tool="scene.create", parameters={rootType: "Node2D", name: "Level1"})
godot_execute(tool="node.create", parameters={type: "CharacterBody2D", name: "Player"})
godot_execute(tool="scene.save")

### 2. Find & Modify Nodes

godot_execute(tool="node.find", parameters={name: "Player"})
godot_execute(tool="node.getData", parameters={path: "Player"})
godot_execute(tool="transform.setPosition", parameters={path: "Player", x: 100, y: 200})

### 3. Game Testing with Input

godot_execute(tool="editor.play")
godot_execute(tool="input.keyPress", parameters={key: "W"})
godot_execute(tool="input.actionPress", parameters={action: "jump"})
godot_execute(tool="debug.screenshot")
godot_execute(tool="editor.stop")

### 4. Check Logs

godot_execute(tool="console.getLogs", parameters={limit: 50})
godot_execute(tool="console.getLogs", parameters={type: "error", limit: 20})

### Console (2 tools)

console.getLogs - Get logs from Godot log file {limit: 100, type: "error"|"warning"|""}
console.clear - Placeholder (logs can't be cleared programmatically)

### Scene (5 tools)

scene.getCurrent - Get current scene info
scene.list - List all .tscn/.scn files
scene.open - Open scene by path
scene.save - Save current scene
scene.create - Create new scene {rootType: "Node2D"|"Node3D"|"Control", name: "SceneName"}

### Node (6 tools)

node.find - Find by name, type, or group
node.create - Create node (80+ types: CSGBox3D, MeshInstance3D, ColorRect, etc.)
node.delete - Delete node by path
node.getData - Get node info, children, transform
node.getProperty - Get property value
node.setProperty - Set property value (Vector2/3 auto-converted)

### Transform (3 tools)

transform.setPosition - Set position {x, y} or {x, y, z}
transform.setRotation - Set rotation (degrees)
transform.setScale - Set scale

### Editor (4 tools)

editor.play - Play current or custom scene
editor.stop - Stop playing
editor.pause - Toggle pause
editor.getState - Get playing state, version, project name

### Debug (3 tools)

debug.screenshot - Capture viewport
debug.tree - Get scene tree as text
debug.log - Print message

### Input (7 tools) - For Game Testing

input.keyPress - Press and release key {key: "W"}
input.keyDown - Hold key down
input.keyUp - Release key
input.mouseClick - Click at position {x, y, button: "left"|"right"|"middle"}
input.mouseMove - Move mouse to position {x, y}
input.actionPress - Press input action {action: "jump"}
input.actionRelease - Release input action

### Script (2 tools)

script.list - List .gd files
script.read - Read script content

### Resource (1 tool)

resource.list - List files by extension

### Supported Keys for Input

A-Z, 0-9, SPACE, ENTER, ESCAPE, TAB, BACKSPACE, DELETE
UP, DOWN, LEFT, RIGHT
SHIFT, CTRL, ALT
F1-F12

### Node Types for Creation

TypeDescriptionNode2D2D spatialNode3D3D spatialSprite2D2D spriteCharacterBody2D2D characterCharacterBody3D3D characterRigidBody2D/3DPhysics bodyArea2D/3DTrigger areaCamera2D/3DCameraLabel, ButtonUI elements

### Input Simulation

Only works during Play mode
Use input.actionPress for mapped actions (from Input Map)
Use input.keyPress for direct key simulation

### Finding Nodes

node.find {name: "Player"}      # By name substring
node.find {type: "Sprite2D"}    # By exact type
node.find {group: "enemies"}    # By group

### Vector Properties

node.setProperty auto-converts dictionaries to Vector2/Vector3:

{path: "Cam", property: "zoom", value: {x: 2, y: 2}}  # → Vector2(2, 2)

### Console Logs

console.getLogs {limit: 50}           # Last 50 lines
console.getLogs {type: "error"}       # Errors only
console.getLogs {type: "warning"}     # Warnings only

### 🔐 Security: Model Invocation Setting

When publishing to ClawHub, you can configure disableModelInvocation:

SettingAI Auto-InvokeUser Explicit Requestfalse (default)✅ Allowed✅ Allowedtrue❌ Blocked✅ Allowed

### Recommendation: true

Reason: During Godot development, it's useful for AI to autonomously perform supporting tasks like checking scene tree, taking screenshots, and inspecting nodes.

When to use true: For sensitive tools (payments, deletions, message sending, etc.)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: TomLeeLive
- Version: 1.2.7
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T20:44:50.527Z
- Expires at: 2026-05-10T20:44:50.527Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/openclaw-godot-skill)
- [Send to Agent page](https://openagent3.xyz/skills/openclaw-godot-skill/agent)
- [JSON manifest](https://openagent3.xyz/skills/openclaw-godot-skill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/openclaw-godot-skill/agent.md)
- [Download page](https://openagent3.xyz/downloads/openclaw-godot-skill)