thedivergentai/godot-export-builds
Expert patterns for multi-platform exports including export templates (Windows/Linux/macOS/Android/iOS/Web), command-line exports (headless mode), platform-specific settings (codesign, notarization, Android SDK), feature flags (OS.has_feature), CI/CD pipelines (GitHub Actions), and build optimization (size reduction, debug stripping). Use for release preparation or automated deployment. Trigger keywords: export_preset, export_template, headless_export, platform_specific, feature_flag, CI_CD, build_optimization, codesign, Android_SDK.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-export-builds
Headless / CI / platform release plumbing — not Editor → Export click-path tutorials.
res:// paths in builds — Saves/logs go to user://.--export-release..md / .psd / docs out of presets.OS.has_feature("release").EditorSceneFormatImporter constants moved to ImportFlags enum — update importer scripts.| Target | MANDATORY scripts / actions | Do NOT Load |
|--------|----------------------------|-------------|
| Desktop smoke (Win/Linux) | export_headless_pipeline.ps1 or headless_build.sh | Manual Export UI tutorials |
| Web smoke | Headless web preset + size report | Desktop-only compression assumptions |
| Android release | export_android_signing_env.ps1 | Committed keystores |
| macOS direct distribute | export_macos_notarize_cmd.ps1 | Skipping notarize "because Steam exists" when not on Steam |
| Dedicated server | Headless server preset, baker off | Client shader baker / UI feature packs |
| CI multi-platform | export_ci_github_actions.yml (Godot 4.7 images) | Stale 4.2.x container pins |
| Steam depot upload | export_steam_upload.ps1 | — if not shipping on Steam |
| PCK / DLC patches | export_pck_patch_loader.gd | — if no DLC |
| One-click all presets | export_universal_manager.gd | — |
| Version sync | export_version_sync.gd / version_manager.gd | Hardcoded version labels in UI only |
| Feature stripping | export_feature_flag_manager.gd | — |
| Size audit | export_build_size_report.gd | — |
| Custom engine strip | export_custom_build_stripper.py | — unless custom builds |
| Post-export zip/manifest | export_post_process_hook.gd | — |
Editor Export UI / template download prose: use Official Documentation links in Reference — or export-setup-guide.md for INI/CLI/platform checklists.
> MANDATORY: Read the script that matches the platform decision above before implementing.
steamcmd + VDFWorkflows must pull Godot 4.7 editor + export templates (not 4.2.x). Prefer the checked-in export_ci_github_actions.yml over pasted legacy YAML. Artifacts upload with actions/upload-artifact@v4.
Mount external PCKs with ProjectSettings.load_resource_pack(path, true) — same-path resources override base. See export_pck_patch_loader.gd.
Build locally/CI → export_steam_upload.ps1 with STEAM_USER / STEAM_PASS / STEAMCMD_PATH env vars and an app_build.vdf.
Iterate presets from export_presets.cfg via export_universal_manager.gd for one-click multi-platform consistency.
> 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.
OS.has_feature / custom tags that drive runtime stripping of debug tools and platform forks.--headless, --export-release, --export-debug, and --export-pack for CI and scripted pipelines.ProjectSettings.load_resource_pack for delta updates.res:// vs user:// so exported builds do not write into read-only packed paths.project.godot version/icon settings, and import defaults must be sane before export presets and filters.EditorScript / plugin typing and OS.execute patterns used by version sync, universal export, and post-process hooks.user://; export filters must not strip save schemas players need after install..gdignore hygiene that directly shrinks export footprint.Take thedivergentai/godot-export-builds from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.