Godot Skill
Analysis
The skill is clearly for Godot editor control, but it installs a persistent gateway extension with broad project-changing commands and an unauthenticated-looking HTTP bridge that users should review before installing.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
description: "Execute a tool in the connected Godot Editor. Available tools: scene.getCurrent, scene.list, scene.open, node.find, node.create, node.delete, node.getData, transform.setPosition, debug.tree, debug.screenshot, editor.play, editor.stop, editor.getState, script.list, script.read, resource.list, and more."
The extension exposes a broad generic dispatcher that includes project mutation, deletion, editor control, input, screenshots, and script-reading capabilities, with no allowlist or confirmation behavior shown in the artifact.
EXTENSION_DST="$HOME/.openclaw/extensions/godot" ... cp -r "$EXTENSION_SRC"/* "$EXTENSION_DST"/
The user-directed install script copies extension code into OpenClaw's extensions directory so it can run in the gateway after restart; this is central to the skill's purpose but is still executable code installation.
### Recommendation: **`true`** ... **Reason:** During Godot development, it's useful for AI to autonomously perform supporting tasks ... **When to use `true`:** For sensitive tools (payments, deletions, message sending, etc.)
The model-invocation guidance is confusing: it recommends the setting that blocks auto-invocation while giving a reason favoring autonomy, and the skill also documents deletion-capable tools.
setInterval(cleanupStaleSessions, 30000); ... api.registerHttpHandler(handleGodotHttpRequest);
The extension installs persistent gateway behavior: an HTTP handler and recurring cleanup task. This appears purpose-aligned for maintaining Godot sessions, but it remains active beyond a single user request.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
res.setHeader("Access-Control-Allow-Origin", "*"); ... case "status": { const activeSessions = Array.from(sessions.values()).map(s => ({ sessionId: s.sessionId, project: s.projectName, version: s.godotVersion, platform: s.platform, ... }));The HTTP bridge permits any CORS origin and returns session identifiers plus project metadata; the shown handlers do not enforce an authentication check before registering sessions or exposing status.
