Skills Plugins MCP Prompt Model 博客 我的中心
生活与工具 #automation #mcp

godot-development

Godot Engine integration skill for GDScript/C# development, scene composition, node management, and editor automation. Enables LLMs to interact with Godot Editor through MCP servers for asset manipulation, script generation, and automated workflows.

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=a5c-ai-babysitter-library-specializations-game-development-skills-godot-development-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name godot-development description Godot Engine integration skill for GDScript/C# development, scene composition, node management, and editor automation. Enables LLMs to interact with Godot Editor through MCP servers for asset manipulation, script generation, and automated workflows. allowed-tools Read, Grep, Write, Bash, Edit, Glob, WebFetch graph {"domains":["domain:gaming"],"specializations":["specialization:game-development"],"skillAreas":["skill-area:game-engines","skill-area:gameplay-programming"],"roles":["role:game-developer"]} Godot Development Skill Comprehensive Godot Engine development integration for AI-assisted game creation, editor automation, and project management. Overview This skill provides capabilities for interacting with Godot projects, including GDScript and C# development, scene manipulation, node management, and export automation. It leverages the Godot MCP ecosystem for direct editor integration when available. Capabilities Project Management Create and configure Godot projects Manage project settings (project.godot) Configure export presets Set up autoloads and singletons GDScript Development Generate scripts extending Node, Node2D, Node3D, etc. Create custom Resources for data-driven design Implement signals and signal connections Write tool scripts for editor functionality Generate unit tests using GUT or gdUnit4 C# Development (Godot Mono) Generate C# scripts with proper Godot bindings Create custom Resources in C# Implement partial classes for node scripts Interface with .NET libraries Scene Composition Create and modify scenes programmatically Instantiate and configure nodes Set up node hierarchies and ownership Configure scene inheritance Resource System Create custom Resource types Generate data resources Manage resource paths and loading Configure resource imports Export System Configure export presets for multiple platforms Create export scripts for automation Set up CI/CD export pipelines Manage platform-specific configurations Prerequisites Godot Installation Godot 4.0 or higher recommended Godot Editor installed with required export templates MCP Server (Recommended) For direct Godot Editor integration: { "mcpServers" : { "godot" : { "command" : "npx" , "args" : [ "-y" , "godot-mcp" ] , "env" : { "GODOT_PROJECT_PATH" : "/path/to/godot/project" } } } } Alternative MCP servers: Godot-MCP (ee0pdt) - Comprehensive editor integration godot-mcp (Coding-Solo) - Project launch and debugging GDAI MCP Server - Script fixing with screenshots Usage Patterns Creating a Character Controller (GDScript) extends CharacterBody2D class_name PlayerController ## Movement speed in pixels per second @export var move_speed: float = 200.0 ## Jump velocity @export var jump_velocity: float = -400.0 ## Gravity from project settings var gravity: float = ProjectSettings.get_setting("physics/2d/default_gravity") ## Emitted when the player takes damage signal damage_taken(amount: int) ## Emitted when the player dies signal died var _is_alive: bool = true func _physics_process(delta: float) -> void: if not _is_alive: return _apply_gravity(delta) _handle_jump() _handle_movement() move_and_slide() func _apply_gravity(delta: float) -> void: if not is_on_floor(): velocity.y += gravity * delta func _handle_jump() -> void: if Input.is_action_just_pressed("jump") and is_on_floor(): velocity.y = jump_velocity func _handle_movement() -> void: var direction := Input.get_axis("move_left", "move_right") if direction: velocity.x = direction * move_speed else: velocity.x = move_toward(velocity.x, 0, move_speed) func take_damage(amount: int) -> void: damage_taken.emit(amount) func die() -> void: _is_alive = false died.emit() Creating a Custom Resource (GDScript) @tool extends Resource class_name EnemyData ## Display name of the enemy @export var enemy_name: String = "Enemy" ## Enemy icon for UI @export var icon: Texture2D ## Maximum health points @export var max_health: int = 100 ## Movement speed @export var move_speed: float = 100.0 @export_group("Combat") ## Damage dealt per attack @export var attack_damage: int = 10 ## Range of attack in pixels @export var attack_range: float = 50.0 ## Cooldown between attacks @export var attack_cooldown: float = 1.0 @export_group("Rewards") ## Experience points awarded on death @export var exp_reward: int = 50 ## Items that can drop @export var loot_table: Array[PackedScene] ## Get damage per second potential func get_dps() -> float: return attack_damage / attack_cooldown State Machine Pattern (GDScript) extends Node class_name StateMachine ## Emitted when state changes signal state_changed(old_state: State, new_state: State) @export var initial_state: State var current_state: State var states: Dictionary = {} func _ready() -> void: for child in get_children(): if child is State: states[child.name.to_lower()] = child child.state_machine = self if initial_state: current_state = initial_state current_state.enter() func _process(delta: float) -> void: if current_state: current_state.update(delta) func _physics_process(delta: float) -> void: if current_state: current_state.physics_update(delta) func _unhandled_input(event: InputEvent) -> void: if current_state: current_state.handle_input(event) func transition_to(state_name: String) -> void: var new_state: State = states.get(state_name.to_lower()) if new_state == null: push_warning("State '%s' not found" % state_name) return if current_state: current_state.exit() var old_state := current_state current_state = new_state current_state.enter() state_changed.emit(old_state, new_state) Creating a C# Script (Godot Mono) using Godot; using System; public partial class PlayerController : CharacterBody2D { [ Export ] public float MoveSpeed { get ; set ; } = 200.0f ; [ Export ] public float JumpVelocity { get ; set ; } = -400.0f ; [ Signal ] public delegate void DamageTakenEventHandler ( int amount ) ; [ Signal ] public delegate void DiedEventHandler () ; private float _gravity = ProjectSettings.GetSetting( "physics/2d/default_gravity" ).AsSingle(); private bool _isAlive = true ; public override void _PhysicsProcess( double delta) { if (!_isAlive) return ; Vector2 velocity = Velocity; // Apply gravity if (!IsOnFloor()) { velocity.Y += _gravity * ( float )delta; } // Handle jump if (Input.IsActionJustPressed( "jump" ) && IsOnFloor()) { velocity.Y = JumpVelocity; } // Handle movement float direction = Input.GetAxis( "move_left" , "move_right" ); velocity.X = direction != 0 ? direction * MoveSpeed : Mathf.MoveToward(velocity.X, 0 , MoveSpeed); Velocity = velocity; MoveAndSlide(); } public void TakeDamage ( int amount ) { EmitSignal(SignalName.DamageTaken, amount); } public void Die () { _isAlive = false ; EmitSignal(SignalName.Died); } } Integration with Babysitter SDK Task Definition Example const godotScriptTask = defineTask ({ name : 'godot-script-generation' , description : 'Generate Godot script' , inputs : { language : { type : 'string' , required : true }, // gdscript, csharp baseClass : { type : 'string' , required : true }, className : { type : 'string' , required : true }, features : { type : 'array' , required : true }, outputPath : { type : 'string' , required : true } }, outputs : { scriptPath : { type : 'string' }, success : { type : 'boolean' } }, async run ( inputs, taskCtx ) { return { kind : 'skill' , title : `Generate Godot script: ${inputs.className} ` , skill : { name : 'godot-development' , context : { operation : 'generate_script' , language : inputs. language , baseClass : inputs. baseClass , className : inputs. className , features : inputs. features , outputPath : inputs. outputPath } }, io : { inputJsonPath : `tasks/ ${taskCtx.effectId} /input.json` , outputJsonPath : `tasks/ ${taskCtx.effectId} /result.json` } }; } }); MCP Server Integration Available MCP Tools (via godot-mcp) Tool Description godot_create_node Create node in scene godot_modify_node Modify node properties godot_create_script Generate and attach script godot_run_project Launch project in editor godot_run_scene Run specific scene godot_export Export for target platform godot_get_scene_tree Query scene structure godot_read_errors Get editor error output godot_screenshot Capture viewport screenshot Configuration { "mcpServers" : { "godot" : { "command" : "python" , "args" : [ "-m" , "godot_mcp" ] , "env" : { "GODOT_PROJECT_PATH" : "/path/to/godot/project" , "GODOT_EXECUTABLE" : "/path/to/godot" } } } } Best Practices Use Static Typing : Always use type hints for better performance and autocompletion Signals Over Direct Calls : Use signals for loose coupling between nodes Resource Preloading : Use preload() for frequently used resources Scene Inheritance : Use inherited scenes for variants Autoloads : Use sparingly, prefer dependency injection @tool Scripts : Mark scripts that need to run in editor Platform Considerations Platform Key Considerations PC/Mac/Linux Full feature support Mobile Touch input, reduced shaders, export templates Web No threading, WASM limitations Console Requires third-party publishing partners References Godot Documentation Godot-MCP (ee0pdt) godot-mcp (Coding-Solo) GDAI MCP Server GDScript Style Guide Godot Best Practices
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。