UI Theme QA
hashgraph-online/awesome-codex-plugins
A skill your agent uses to find and fix undisciplined Control-node UI in a Godot project — spacing that follows no ladder, font sizes with no modular scale, near-duplicate colours, and text that…
Expert patterns for input handling covering InputMap actions, InputEvent processing, controller support, rebinding, deadzones, and input buffering.
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot-input-handling .claude/skills/godot-input-handling && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .claude/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handlingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/godot-input-handling .agents/skills/godot-input-handling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .agents/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/godot-input-handling .cursor/skills/godot-input-handling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .cursor/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/thedivergentai/GD-Agentic-Skills.git --path skills/godot-input-handling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/godot-input-handling .gemini/skills/godot-input-handling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .gemini/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handlingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/godot-input-handling .github/skills/godot-input-handling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .github/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install thedivergentai/GD-Agentic-Skills godot-input-handling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/godot-input-handling .opencode/skills/godot-input-handling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "godot-input-handling" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-input-handling into .opencode/skills/godot-input-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-input-handling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
godot-input-handlingExpert patterns for input handling covering InputMap actions, InputEvent processing, controller support, rebinding, deadzones, and input buffering.
Godot Input Handling is an agent skill from thedivergentai/GD-Agentic-Skills. Expert patterns for input handling covering InputMap actions, InputEvent processing, controller support, rebinding, deadzones, and input buffering. Use when setting up player controls, implementing input systems, or adding gamepad/accessibility features. Keywords InputMap, InputEvent, gamepad, controller, rebinding, deadzone, input buffer.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 24 other files, including scripts and reference files (for example `references/expert-input-extensions.md`, `references/godot-47-input-device-ids.md` and `references/input-event-processing.md`).
It sits in Game Development, covering Game development and Accessibility. It works with Godot. The repository describes itself as: The official "Long-Term Memory" for Godot 4.7+ AI Agents. A high-density library of 99 expert skills and 27 genre blueprints, providing audited, strictly typed GDScript patterns… The licence is LGPL-3.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4c4d0ff. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 12 files in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.godotengine.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Godot Input Handling loads about 4k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 1,257 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from thedivergentai/GD-Agentic-Skills at commit 4c4d0ff, republished under its LGPL-3.0 licence (© thedivergentai). 1,257 words, ~3,987 tokens.
.claude/skills/godot-input-handling/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.Handle keyboard, mouse, gamepad, and touch input with proper buffering and accessibility support.
| Scenario | Load before coding |
|---|---|
| Jump/dash/coyote feel | input_buffer.gd (physics-tied decay) + advanced_input_buffer.gd for multi-action priority |
| Settings remapping UI | safe_runtime_rebind.gd (ConfigFile persist to user://) |
| Analog stick movement | analog_deadzone_manager.gd — never raw axis without radial deadzone |
| "Press X / Press E" prompts | glyph_prompt_manager.gd |
| UI nav vs gameplay confirm | input_echo_filter.gd — echoes move menus, not Confirm/Back |
| Gameplay vs menu clicks | unhandled_input_priority.gd |
| Scenario | Load | Do NOT load |
|---|---|---|
| Settings remapping UI | safe_runtime_rebind.gd | multi_touch_gestures.gd, mouse_capture_manager.gd, combo/replay injectors |
| Mobile / touch gestures | multi_touch_gestures.gd | mouse_capture_manager.gd, desktop remapper persistence |
| Jump/dash buffer only | input_buffer.gd / advanced_input_buffer.gd | Remapper, multi-touch, replay, combo validator |
| FPS mouse look | mouse_capture_manager.gd + deadzone/glyph as needed | multi_touch_gestures.gd, combo/replay |
| Combo / fighting sequences | combo_validator.gd + buffers | Touch gestures, mouse capture |
| Replay / virtual injection tests | input_replay_buffer.gd / virtual_input_injector.gd | Remapper UI, multi-touch |
Frame-perfect input buffering system for responsive jumps, dashes, and combo chains.
Timed action buffer with _physics_process decay so windows match CharacterBody consumption, not render FPS.
Dynamic input rebinding with conflict detection and user://input_rebinds.cfg persistence.
Radial deadzone management for analog sticks to eliminate drift while maintaining natural follow-through.
Handling touch, drags, and pinch-to-zoom gestures for mobile and touchscreen compatibility.
Filtering echo events to distinguish between hold-to-navigate (UI) and one-time gameplay actions.
Robust mouse capture and sensitivity scaling logic for FPS and mouse-intensive systems.
Software-side support for user-defined 'Hold' vs 'Toggle' accessibility preferences.
Real-time switching between Keyboard and Gamepad UI prompts based on the last active device.
Tracking the lifecycle of an action ('Just Pressed', 'Held', 'Released') for complex state logic.
Demonstrating the correct use of _unhandled_input to prevent gameplay logic from leaking into UI.
Input.parse_input_event injection for CI tutorials / AI assistance — not physical hardware.
Rolling timed sequence buffer for special-move validation (fighting / action RPG).
Frame-tagged capture + deterministic replay via parse_input_event.
_process() for gameplay actions — Use _physics_process() or _unhandled_input(). _process() is frame-rate dependent, causing dropped inputs at low FPS [22].KEY_W) — Always use InputMap actions. Hardcoded keys prevent rebinding and break compatibility with non-QWERTY layouts [23].Input.joy_connection_changed to update UI prompts dynamically [25]._input() for gameplay actions — _input() fires for ALL events (including UI). Use _unhandled_input() so gameplay logic doesn't trigger while clicking menus [26].Input.is_action_pressed() for one-time triggers — It returns true every frame the key is held. Use _just_pressed for jumps, attacks, and toggles to avoid logic spam.InputEvent.is_echo() in UI navigation — Echo events (keyboard repeat) should move menus but rarely should they trigger "Confirm" or "Back" actions.ui_cancel, the user is trapped. Always provide a fallback escape for mouse capture.Godot propagates input events in a specific order. Understanding this is key to isolating UI from gameplay.
_input(event): High-priority global intercept. Use for dev consoles or debug overlays._gui_input(event): Handled by Control nodes (UI). If a UI element consumes the event (e.g., clicking a button), it calls accept_event(), stopping further propagation._unhandled_input(event): Reached ONLY if no UI element consumed the event. Expert Pattern: Put all gameplay logic (jump, shoot) here to prevent accidental triggers while interacting with menus.Avoid physical key checks. Define semantic actions (e.g., move_left, interact) in Project Settings > Input Map.
Analog sticks suffer from drift. MANDATORY: analog_deadzone_manager.gd. Prefer Input.get_vector() for circular deadzones — never subtract axes into a square deadzone.
Gameplay samples actions in _physics_process / _unhandled_input — never KEY_* / MOUSE_BUTTON_* branches. Pause/cancel must be InputMap actions (e.g. ui_cancel) so rebinds and non-QWERTY layouts work. See unhandled_input_priority.gd.
Modern games must handle simultaneous Controller and Keyboard/Mouse input smoothly.
InputEventMouseMotion in _unhandled_input() for relative movement (mouse_capture_manager.gd)._physics_process() after analog_deadzone_manager.gd.MANDATORY: glyph_prompt_manager.gd for last-device prompt swaps. Do not hand-roll event is InputEventJoypadButton detectors in every HUD widget.
frame_perfect_coyote_time.gd) and godot-genre-platformer. Pair with buffers from this skill; do not re-implement coyote here.sync_input here. Route to godot-multiplayer-networking for authoritative action snapshots / get_remote_sender_id validation.Input.parse_input_event).godot-genre-fighting.| Topic | Reference / script |
|---|---|
| Buffering / coyote / MP sync | input-event-processing.md |
| Virtual injection / combos / replay | expert-input-extensions.md |
| InputMap & device IDs | inputmap-best-practices.md |
Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
_input → GUI → _unhandled_input) and why gameplay belongs after UI consumes events.InputMap action polling, mouse buttons, and keyboard patterns this skill builds on.Input.mouse_mode capture/release flows.is_action_*, get_vector, mouse_mode, parse_input_event, and joy connection signals.action_add_event / erase / conflict checks for safe rebinding.is_echo(), is_action_pressed(), and device IDs._physics_process, not frame-tied _process._gui_input / accept_event so menus stop events before _unhandled_input gameplay.InputEvent branches, StringName actions, and safe signal/await patterns used in buffers and device routers._gui_input ownership so menus consume clicks before gameplay _unhandled_input.device_changed and rebind events should signal up to HUD/prompt listeners without hard UI refs.get_vector movement inside physics steps.InputMap rebinds and hold/toggle accessibility prefs to user:// config.© thedivergentai, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (scripts, references) in skills/godot-input-handling of thedivergentai/GD-Agentic-Skills.
Open the folder on GitHubat commit 4c4d0ff
Godot Input Handling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Godot Input Handling this skillthedivergentai/GD-Agentic-Skills | 821 | — | ~4k | Automated safety check: Pass | LGPL-3.0 | |
| UI Theme QAhashgraph-online/awesome-codex-plugins | 1.3k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Scenario Godot UIscenario-labs/skills | 946 | — | ~5.5k | Automated safety check: Pass | MIT | |
| Input Systemsukanwat/overtime | 387 | 1 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| UI KitRandallLiuXin/GodotMaker | 550 | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Godot Data Driven Configinfometa/workbuddyskills | 348 | — | ~2.2k | Automated safety check: Pass | None |
hashgraph-online/awesome-codex-plugins
A skill your agent uses to find and fix undisciplined Control-node UI in a Godot project — spacing that follows no ladder, font sizes with no modular scale, near-duplicate colours, and text that…
scenario-labs/skills
A skill your agent uses when building or fixing game UI in Godot 4.7: main menu, settings screen, HUD (health bar, ammo, minimap frame), Control layout, containers, anchors, themes in code, 'UI…
ukanwat/overtime
Architect game input — action mapping (abstracting keys into named actions), rebinding with conflict detection and persistence, multi-device support (keyboard, gamepad, touch), analog deadzones, and…
RandallLiuXin/GodotMaker
Produce a complete reusable flat-first Godot UI Theme from a binding visual reference, with two provider-generated source sheets, fixed square nine-slice patches, stable AtlasTexture icons, and…
infometa/workbuddyskills
Create or extend data-driven config tables (WeaponData, EnemyData, LevelData, etc.) in a Godot 4 project so that designers can tweak numbers in .tres files via natural language.
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
thedivergentai/GD-Agentic-Skills
Expert patterns for 2D animation in Godot using AnimatedSprite2D and skeletal cutout rigs.
thedivergentai/GD-Agentic-Skills
Expert patterns for 3D level design using GridMap with MeshLibrary, CSG constructive solid geometry, occlusion, and runtime GridMap builders.
thedivergentai/GD-Agentic-Skills
Expert patterns for migrating 2D games to 3D including node type conversions, camera systems (third-person, first-person, orbit), physics layer migration, sprite-to-model art pipeline, and control…
thedivergentai/GD-Agentic-Skills
Expert patterns for simplifying 3D games to 2D including dimension reduction strategies, 2.5D fake-depth, isometric ports, camera flattening, physics conversion, 3D-to-sprite art pipeline, and…
thedivergentai/GD-Agentic-Skills
Agentic eyes for Godot work: cross-platform screenshot CLI (asset/region/window/screen) to budgeted WebP, TEMP editor viewport bridge under .gdskills/, and Taste Receptor Atlas v2 (~237…
thedivergentai/GD-Agentic-Skills
Expert patterns for AnimationTree including StateMachine transitions, BlendSpace2D for directional movement, BlendTree for layered animations, root motion, transition conditions, advance…
Works with
Categories
Expert patterns for input handling covering InputMap actions, InputEvent processing, controller support, rebinding, deadzones, and input buffering. Godot Input Handling is an agent skill from thedivergentai/GD-Agentic-Skills. Expert patterns for input handling covering InputMap actions, InputEvent processing, controller support, rebinding, deadzones, and input buffering.
Godot Input Handling fits situations like: setting up player controls; implementing input systems; adding gamepad/accessibility features.
Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a claude-code`. Or copy the skill folder (skills/godot-input-handling in thedivergentai/GD-Agentic-Skills) into .claude/skills/godot-input-handling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a codex`. Or copy the skill folder (skills/godot-input-handling in thedivergentai/GD-Agentic-Skills) into .agents/skills/godot-input-handling in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-input-handling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-input-handling, .gemini/skills/godot-input-handling, .github/skills/godot-input-handling and .opencode/skills/godot-input-handling in your project.
SKILL.md names no scripts, command-line tools or credentials: Godot Input Handling is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: docs.godotengine.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Godot Input Handling is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Godot Input Handling: UI Theme QA (hashgraph-online/awesome-codex-plugins, 1.3k stars), Scenario Godot UI (scenario-labs/skills, 946 stars), Input Systems (ukanwat/overtime, 387 stars) and UI Kit (RandallLiuXin/GodotMaker, 550 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
thedivergentai (a GitHub user) maintains it in thedivergentai/GD-Agentic-Skills, which has 821 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 9, 2026.
Source: thedivergentai/GD-Agentic-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.