godot-input-handling — Claude Code skill for Godot input
A skill that gives your coding agent ready patterns for Godot input: InputMap actions, gamepads, rebinding, deadzones and input buffering.
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a claude-codeWhat godot-input-handling does
The skill hands your agent working patterns for Godot input across keyboard, mouse, gamepad and touch. It ships as a set of GDScript files, one per scenario. Jump and dash feel is covered by input_buffer.gd, which decays the buffer in _physics_process so the window matches CharacterBody consumption instead of render FPS. Analog sticks go through analog_deadzone_manager.gd with a radial deadzone.
Rebinding lives in safe_runtime_rebind.gd: it detects conflicts and persists the layout to user://input_rebinds.cfg via ConfigFile. Separate scripts handle touch gestures, mouse capture for FPS, button prompts that follow the last active device, and combo validation. A Do-NOT-Load table says which files to keep apart — mobile gesture work does not need mouse_capture_manager.gd.
The skill is opinionated about a few things. Gameplay input belongs in _physics_process() or _unhandled_input(), because _process() is frame-rate dependent and drops presses at low FPS. Hardcoded checks like KEY_W are out: they break rebinding and non-QWERTY layouts. Mouse capture without a release shortcut traps the player. If your controls already run on hardcoded keys, that is worth a look.
What it helps with
- wire player controls through InputMap actions instead of key checks
- add a jump buffer so a press before landing is not lost
- build a rebinding screen that saves to
user:// - support a gamepad with a radial deadzone and no stick drift
- swap button prompts between keyboard and gamepad as the device changes
Example prompts for the agent
- Set up player controls in Godot through InputMap, no hardcoded keys
- Add a 100-150 ms jump buffer using
input_buffer.gd - Build a rebinding screen that saves the layout to
user://input_rebinds.cfg
How to install godot-input-handling
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a claude-code2Manually: put the files in place
~/.claude/skills/godot-input-handling/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/godot-input-handling/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a codex2Manually: put the files in place
.agents/skills/godot-input-handling/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a cursor2Manually: put the files in place
.cursor/skills/godot-input-handling/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-input-handling2Manually: put the files in place
.github/skills/godot-input-handling/SKILL.md1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-input-handlingManually: put the files in place
.devin/skills/godot-input-handling/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about godot-input-handling
How do I install godot-input-handling in Claude?
Run npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-input-handling -a claude-code. The skill then sits at ~/.claude/skills/godot-input-handling/SKILL.md.
What does godot-input-handling do?
It gives the agent patterns for Godot input: InputMap actions, InputEvent handling, gamepads, rebinding, deadzones and buffering. The agent loads the right script based on the scenario table.
Which scripts should not be loaded together?
The skill includes a Do-NOT-Load table. Mobile gestures do not need mouse_capture_manager.gd; rebinding does not need multi_touch_gestures.gd or mouse capture; a jump buffer does not need the remapper or combo validator.