mcpbeat Sign in

Godot Platform Desktop Agent Skill

Expert blueprint for desktop platforms (Windows/Linux/macOS) covering keyboard/mouse controls, settings menus, window management (fullscreen, resolution), keybind remapping, and Steam integration. Use when targeting PC platforms or implementing desktop-specific features. Keywords desktop, Windows, Linux, macOS, settings, keybinds, ConfigFile, DisplayServer, Steam, fullscreen.

2.9k tokens
context cost
SKILL.md, read when the skill is used
15
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
854
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-platform-desktop

What comes with it

29 210 bytes besides the instruction
references/desktop-expert-patterns.md
references/migration-notes.md
scripts/desktop_integration_manager.gd
scripts/desktop_performance_monitor.gd
scripts/desktop_settings_persistent.gd
scripts/desktop_window_manager.gd
scripts/graceful_shutdown_handler.gd
scripts/low_processor_eco_mode.gd
scripts/native_dialog_helper.gd
scripts/native_shell_executor.gd
scripts/physical_input_rebinder.gd
scripts/platform_desktop_patterns.gd
scripts/platform_sdk_wrapper.gd
scripts/secondary_window_spawner.gd

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

29 sections, as written by the author

Platform: Desktop

Settings flexibility, window management, and kb/mouse precision define desktop gaming.

NEVER Do (Expert Desktop Rules)

Window & Display

  • NEVER hardcode resolution or fullscreen modes — Always provide a settings menu with resolution + mode toggle.
  • NEVER ignore DPI scale factors — Use DisplayServer.screen_get_scale() / usable rects.
  • NEVER skip a borderless window option — Offer WINDOW_MODE_FULLSCREEN (borderless) for multi-monitor focus.

Input & Persistence

  • NEVER use keycode for movement rebinds — Use physical_keycode for AZERTY/Dvorak.
  • NEVER save settings or user data to res:// — Always user://.
  • NEVER skip NOTIFICATION_WM_CLOSE_REQUEST — Flush ConfigFile before get_tree().quit().

Performance & Integration

  • NEVER run utility tools at max framerate — Enable OS.low_processor_usage_mode for static tools.
  • NEVER call proprietary SDKs (Steam/Epic) directly — Wrap with Engine.has_singleton() guards.
  • NEVER block the main thread with massive I/O — Offload to WorkerThreadPool.

Available Scripts

> MANDATORY: Read the appropriate script before implementing the corresponding pattern. Do not paste inline settings/rebind/Steam tutorials — the scripts are the golden path.

desktop_window_manager.gd

Expert DPI-aware multi-monitor window positioning using DisplayServer.

desktop_settings_persistent.gd

Production settings persistence using ConfigFile for persistent INI data.

physical_input_rebinder.gd

Expert positional rebind system using physical_keycode for AZERTY/Dvorak.

platform_sdk_wrapper.gd

Safe PC SDK singleton wrapper (Steamworks/Epic) with crash guards.

native_dialog_helper.gd

Expert native OS file dialogs and system alerts logic.

secondary_window_spawner.gd

True multi-window management for secondary Viewports/Windows.

graceful_shutdown_handler.gd

Safe close-request interceptor for data flushing and exit guards.

low_processor_eco_mode.gd

Eco mode optimization for desktop tools and launchers.

desktop_performance_monitor.gd

OS-level hardware detection for dynamic graphics presets.

native_shell_executor.gd

Expert native shell command execution and output capture.


Desktop Golden Path (MANDATORY scripts)

  • Resolution / stretch — use the mini-tree below, then MANDATORY desktop_window_manager.gd.
  • Window / DPI — MANDATORY desktop_window_manager.gd: multi-monitor position, scale, mode restore.
  • ConfigFile settings — MANDATORY desktop_settings_persistent.gd: graphics/audio/window under user://.
  • Physical rebinds — MANDATORY physical_input_rebinder.gd: physical_keycode only.
  • Close flush — MANDATORY graceful_shutdown_handler.gd: NOTIFICATION_WM_CLOSE_REQUEST → save → quit.
  • Store SDK — MANDATORY platform_sdk_wrapper.gd before any store call: if Engine.has_singleton("Steam") → Steam API; elif Engine.has_singleton("EOS") → Epic; else no-op stub. Gate features with export feature tags (steam / epic).

Resolution / stretch mini-tree

| Player need | Window mode | Script hook |

| :--- | :--- | :--- |

| Fullscreen game, alt-tab friendly | WINDOW_MODE_FULLSCREEN (borderless) | desktop_window_manager.gd |

| Exclusive fullscreen (lowest latency) | WINDOW_MODE_EXCLUSIVE_FULLSCREEN | Same — persist choice in ConfigFile |

| Windowed / multi-monitor drag | WINDOW_MODE_WINDOWED + usable rect / DPI scale | Same + desktop_settings_persistent.gd |

CI smoke: headless --path . --quit-after 1 with settings round-trip write/read under user:// before merge (pairs with godot-export-builds).

Expert Callouts (keep short — not full tutorials)

1. Alt-Tab stuck-input guard

On NOTIFICATION_APPLICATION_FOCUS_OUT, pause and Input.action_release held movement actions so OS-swallowed key-ups do not strand velocity.

2. Desktop launcher note

Lightweight launcher projects may OS.create_process the main pack after writing user://settings.cfg; pair with low_processor_eco_mode.gd while idle in menus.

Deep dives (on demand)

  • Settings menu, rebind, Steam, alt-tab guard, launcher → desktop-expert-patterns.md

Reference

> Progressive disclosure: open Official Documentation links only when researching a specific API;

> load Related Skills when routing work to a peer domain — do not preload the whole lattice.

Official Documentation

  • DisplayServer — Window modes, screen_get_scale / usable rects, and native file-dialog features behind multi-monitor and HiDPI desktop settings.
  • Multiple resolutions — Stretch modes, aspect, and content scale so resolution dropdowns stay sharp across 1080p–4K displays.
  • Handling quit requests — NOTIFICATION_WM_CLOSE_REQUEST / set_auto_accept_quit(false) so Alt+F4 and window-close flush ConfigFile before exit.
  • ConfigFile — INI-style persistence for graphics, audio, and window state under user://.
  • File paths in Godot projects — Why settings and saves must use user:// (exported res:// is read-only).
  • InputEventKey — physical_keycode vs keycode so WASD rebinds survive AZERTY/Dvorak layouts.
  • InputMap — Runtime action_erase_events / action_add_event for desktop rebind UIs.
  • Using InputEvent — Focus-loss stuck-key pitfalls (NOTIFICATION_APPLICATION_FOCUS_OUT) when Alt-Tabbing on PC.
  • Window — Secondary/tool windows and mode/size/position restore for true multi-window desktop apps.
  • OS — low_processor_usage_mode, create_process / execute, and alert for launchers and native shell hooks.
  • Creating applications — Desktop-style app chrome, dialogs, and quit UX beyond game-only loops.
  • Engine — has_singleton / get_singleton guards so Steam/Epic GDExtensions never crash standalone builds.
Prerequisites
  • godot-project-foundations — Display stretch, feature tags (windows/linux/macos), and project defaults every desktop settings menu depends on.
  • godot-input-handling — InputEvent buffering and action design before wiring physical_keycode rebind UIs.
  • godot-ui-containers — Settings screens, dropdowns, and remapper rows that stay layout-correct across resolutions.
Complements
Downstream / consumers
  • godot-export-builds — Windows/Linux/macOS export presets, icons, and store packaging once desktop settings and SDK wrappers are stable.
  • godot-platform-mobile — Sibling platform skill for dual-target projects that must not assume desktop quit/window APIs on phones.
  • godot-platform-web — Browser constraints (no multi-window / limited shell) when shipping the same settings stack to HTML5.
Master
  • godot-master — Library router and mirrored module entry for discovering this platform skill beside sibling domains.

Other skills for the same job

different authors, same section of the catalogue
Internal Comms
by anthropics
vendor ×16

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

377 tokens
Competitive Ads Extractor
by frostant
×10

Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.

2k tokens
Lead Research Assistant
by frostant
×8

Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.

1.6k tokens
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

3.9k tokens
Google Official SEO Guide
by ZhanlinCui
×4

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

4.2k tokens
Web Performance SEO
by ZhanlinCui
×4

Fix PageSpeed Insights/Lighthouse accessibility "!" errors caused by contrast audit failures (CSS filters, OKLCH/OKLAB, low opacity, gradient text, image backgrounds). Use for accessibility-driven SEO/performance debugging and remediation.

670 tokens
App Store Optimization
by alirezarezvani
×3

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

4.1k tokens scripts
Imagegen Frontend Web
by mxyhi
×3

Elite frontend image-direction skill for generating premium, conversion-aware website design references. CRITICAL OUTPUT RULE — generate ONE separate horizontal image FOR EVERY section. A landing page with 8 sections produces 8 images. Never compress multiple sections into one image. Enforces composition variety (not always left-text / right-image), background-image freedom, varied CTAs, varied hero scales (giant / mid / mini minimalist), narrative concept spine, second-read moments, and a single consistent palette across all images. Optimized for landing pages, marketing sites, and product comps that developers or coding models can accurately recreate.

9.2k tokens

How to use it

Copy the folder

Take thedivergentai/godot-platform-desktop from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.