godot-mcp: Skill for Claude Code

.claude/skills/godot-skills/sub-skills/godot-compatibility-checker/SKILL.md

godot-compatibility-checker is a skill for Claude Code from hhhh124hhhh/godot-mcp. It costs 39 tokens per session (1,694 once invoked), scanned A, original, MIT.

A Godot compatibility assistant for checking and repairing code when moving between Godot versions. Godot is a tool for building games and interactive applications.

In plain words
What is it for?
Checking project and GDScript compatibility, locating obsolete APIs, suggesting code changes, and verifying fixes for the target Godot version.
Why use it?
It helps find outdated APIs and version-specific errors that can stop a project from running after an upgrade.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

This is hhhh124hhhh/godot-mcp's own configuration. It tells Claude Code how to work on godot-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything godot-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to hhhh124hhhh/godot-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/hhhh124hhhh/godot-mcp/main/.claude/skills/godot-skills/sub-skills/godot-compatibility-checker/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/hhhh124hhhh/godot-mcp

Made for: Claude Code.

Wrote 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.

agentmods badge for godot-compatibility-checker

README.md
[![agentmods](https://agentmods.dev/badge/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker/github.svg)](https://agentmods.dev/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker)
Your own site
<a href="https://agentmods.dev/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker"><img src="https://agentmods.dev/badge/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker/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.

agentmods 80×15 button for godot-compatibility-checker

Your own site · 80×15
<a href="https://agentmods.dev/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker"><img src="https://agentmods.dev/badge/skills/hhhh124hhhh/godot-mcp/godot-compatibility-checker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 39 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,694 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00039 $0.01694
Opus 5 $0.00019 $0.00847
Sonnet 5 $0.00008 $0.00339
Haiku 4.5 $0.00004 $0.00169

Measured 12d ago against content hash 772be1436bee, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

godot-compatibility-checker 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.

.claude/skills/godot-skills/sub-skills/godot-compatibility-checker/SKILL.md · 189 lines

How it starts

The opening of the file, as written. The whole thing — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Godot版本兼容性检查技能

指令

当用户遇到Godot版本相关问题或需要进行版本升级时,自动进行兼容性检查和修复:

触发条件

  • 提及Godot版本升级或迁移
  • 遇到API兼容性错误
  • 需要在不同Godot版本间运行代码
  • 询问特定API的版本支持情况

执行步骤

  1. 版本检测 - 分析项目配置确定目标Godot版本
  2. 代码扫描 - 检查GDScript中的过时API使用
  3. 问题识别 - 定位具体的兼容性问题点
  4. 生成修复方案 - 提供详细的代码修改建议
  5. 验证修复 - 确保修复后的代码在目标版本正常运行

核心兼容性问题修复

粒子系统架构变化

问题: Invalid assignment of property or key 'emission_amount' on a base object of type 'ParticleProcessMaterial'

修复方案:

# ❌ Godot 3.x 错误写法
var material = ParticleProcessMaterial.new()
material.emission_amount = 50
material.lifetime = 1.5

# ✅ Godot 4.x 正确写法
var particles = GPUParticles2D.new()
var material = ParticleProcessMaterial.new()
particles.amount = 50      # 属性设置在节点层级
particles.lifetime = 1.5   # 属性设置在节点层级
particles.material = material

Tween系统现代化

问题: interpolate_property()set_looped() 方法不存在

修复方案:

# ❌ Godot 3.x 过时写法
var tween = Tween.new()
tween.interpolate_property(object, "property", start, end, 1.0)
tween.set_looped(true)

# ✅ Godot 4.x 现代写法
var tween = create_tween()
tween.tween_property(object, "property", end, 1.0)
# 使用回调实现循环
func animate_loop():
    var tween = create_tween()
    # 动画代码...
    tween.tween_callback(animate_loop)

信号系统更新

问题: 信号连接语法变化

修复方案:

# ❌ Godot 3.x 过时写法
connect("input_event", self, "_on_input_event")

# ✅ Godot 4.x 现代写法
input_event.connect(_on_input_event)
# 或使用lambda表达式
signal.signal_name.connect(func(): print("信号触发"))

输入系统常量更新

问题: 鼠标按钮常量名称变化

修复方案:

# ❌ Godot 3.x 过时写法
if event.button_index == BUTTON_LEFT

# ✅ Godot 4.x 现代写法
if event.button_index == MOUSE_BUTTON_LEFT

属性检查方法移除

问题: has_property() 方法被移除

修复方案:

# ❌ Godot 3.x 过时写法
if node.has_property("custom_property"):
    value = node.get("custom_property")

# ✅ Godot 4.x 现代写法
if "custom_property" in node:
    value = node.get("custom_property")
# 或更安全的检查
var property_value = node.get("custom_property")
if property_value != null:
    value = property_value

Read the full file on GitHub · 189 lines

Changes

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.

  1. 12d ago First seen · 189 lines · 39 tokens per session scan A 772be1436bee

Subscribe to this mod's changes

godot-compatibility-checker is a skill published in the GitHub repository hhhh124hhhh/godot-mcp (42 stars, last pushed 10mo ago), licensed MIT. It adds 39 tokens to every session and 1,694 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

gameobject-component-destroy

Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.

IvanMurzak/Unity-MCP · 49 tokens

unity-version-split

Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).

IvanMurzak/Unity-MCP · 59 tokens

godot-signals-groups

Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…

gamedev-skills/awesome-gamedev-agent-skills · 95 tokens

unity-addressables

Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).

Besty0728/Unity-Skills · 25 tokens

motion

How an agent turns a character mesh into a usable animated FBX — and how to judge whether the result is shippable.

OpenDCAI/GameFactory-3A · 0 tokens

threejs-exposure-color-grading

Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.

scottstts/Threejs-Awesome-Graphics-Agent-Skills · 60 tokens