godot-ui-containers — Claude Code skill: what it does, how to install
Provides blueprints and rules for responsive Godot UI using Container nodes. Useful when building adaptive menus, shop grids, or virtualized scroll lists.
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a claude-codeWhat godot-ui-containers does
The skill equips coding assistants with blueprints and GDScript patterns for Godot engine interfaces. It maps common UI needs to specific implementations: dynamic inventory grids via responsive_grid.gd, wrapping chips with HFlowContainer, and 3D item previews using SubViewportContainer. Long chat feeds and logs use a recycled control pool from virtual_list.gd to maintain stable frame rates.
The instructions enforce strict layout rules. Changing child node position or size directly inside a container breaks UI logic, because queue_sort() will instantly overwrite those transforms. The blueprint demands using custom_minimum_size and expansion flags instead. When adding elements to a ScrollContainer, the assistant waits for await get_tree().process_frame so the scroll offset does not miss the new frame.
Deep container hierarchies above 10 levels are flagged as performance hazards. For static padding and offsets, the skill swaps heavy container chains for lightweight anchor offsets via performance_anchor_layout.gd.
What it helps with
- build dynamic inventory grids that adjust columns to screen width
- recycle list items to prevent frame drops in long scroll views
- stop overlay panels from blocking clicks with proper mouse_filter modes
- fix the single-frame delay glitch during terminal autoscrolling
- reduce container nesting spikes by switching to anchor layouts
Example prompts for the agent
- Build a responsive inventory grid in Godot using responsive_grid.gd
- Optimize a long list in ScrollContainer with virtual_list.gd
- Implement terminal autoscroll in Godot handling the single-frame delay
How to install godot-ui-containers
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a claude-code2Manually: put the files in place
~/.claude/skills/godot-ui-containers/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/godot-ui-containers/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a codex2Manually: put the files in place
.agents/skills/godot-ui-containers/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a cursor2Manually: put the files in place
.cursor/skills/godot-ui-containers/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-ui-containers2Manually: put the files in place
.github/skills/godot-ui-containers/SKILL.md1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-ui-containersManually: put the files in place
.devin/skills/godot-ui-containers/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -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-ui-containers
How do I install godot-ui-containers in Claude Code?
Run npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-ui-containers -a claude-code in your terminal.
What does godot-ui-containers do?
It guides coding agents on designing responsive Godot interfaces using native Container nodes. The skill provides reference GDScript files and enforces layout practices for pooling, size flags, and nesting limits.
Why shouldn't child position be animated directly inside containers?
Containers control layout flow and overwrite child transforms during queue_sort(). Instead of modifying coordinates directly, animate custom_minimum_size via a tween to move neighboring controls smoothly.