Agent skill

Scenario Godot Performance Export

by scenario-labs in scenario-labs/skills

A skill your agent uses when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls…

MITAuto-check: notesGame Development

Install Scenario Godot Performance Export

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-godot-performance-export -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-godot-performance-export --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-performance-export .claude/skills/scenario-godot-performance-export && rm -rf skills-src

Use ~/.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/

Facts

Skill name
scenario-godot-performance-export
GitHub stars
946
Token cost
~5.1k tokens
SKILL.md length
2,093 words
Files
15 (incl. scripts, references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls…

  • Works in 9 steps: Classify before fixing. Frame time is… → Nodes cost before pixels do. Per-node… → Spread periodic work. Random phase per… → …
  • A Godot game stutters
  • SKILL.md covers Stance (the expert delta), Establish first, Workflow and Engine-only frame logger (no…, plus 6 more sections
  • Runs Python scripts from its folder; calls npx, adb and xcodebuild

What it does

Scenario Godot Performance Export is an agent skill from scenario-labs/skills. Use when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls, MultiMesh, occlusion culling, LOD, shader compilation hitches, export to macOS, Windows, Linux, Steam, Android (APK, AAB, keystore), iOS (Xcode), web (itch.io, COOP/COEP headers, SharedArrayBuffer, JavaScript interop), build size budgets, demo and DLC builds, signing and notarization.

Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).

It sits in Game Development, covering Game development. It works with Godot, macOS, Xcode and JavaScript. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • A Godot game stutters
  • Hitches when entering new areas
  • Overheats a phone
  • Must ship: profiling and Performance monitors

Example prompts

  • “/scenario-godot-performance-export”

Requirements

  • Python 3
  • Node.js

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Classify before fixing. Frame time is the slower of CPU and GPU, so a fix on the other side gains nothing (general optimization doc)…
  2. Nodes cost before pixels do. Per-node _process, thousands of nodes and redundant physics objects are the usual Godot CPU cost (Firebelley…
  3. Spread periodic work. Random phase per poller, force_raycast_update() on a disabled RayCast (Dan Does Dev, s2C2RO_WMh0 [00:05:34]). Live…
  4. Hand-sized occluders, judged by objects drawn. Box occluders per big wall beat a whole-scene bake (Zenva, VBiBZBVxu1s: about 300 to 80 FPS…
  5. Hitches are loading, pipelines and runtime bakes. Load AND instantiate off the main thread, ship a warm pipeline cache (Shader Baker…
  6. Test on the real target, long enough. Export With Debug does not slow the game; throttling shows only on long runs (Ian Bolton, Arm…
  7. Exports fail on environment and credentials, not on Godot. Templates per exact version, JDK and SDK paths, ETC2/ASTC import, bundle ids…
  8. Web is Compatibility only and single-threaded by default. Threads need COOP same-origin plus COEP require-corp over HTTPS (web doc). Live…
  9. A written plan must run without this toolkit. Next to every gd_perf call, give the engine code or CLI it wraps: the logger below, godot…

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 9 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • npx
    • adb
    • xcodebuild

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Godot Performance Export loads about 5.1k tokens when it runs, and up to ~21k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 2,093 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~5.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~21k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:49
    ime, no simulator for Vulkan renderers, `sudo xcode-select -s /Applications/Xcode.app/Contents/Developer` when export sa

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.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,093 words, ~5,132 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-godot-performance-export/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
scenario-godot-performance-export
description
Use when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls, MultiMesh, occlusion culling, LOD, shader compilation hitches, export to macOS, Windows, Linux, Steam, Android (APK, AAB, keystore), iOS (Xcode), web (itch.io, COOP/COEP headers, SharedArrayBuffer, JavaScript interop), build size budgets, demo and DLC builds, signing and notarization.
license
MIT

Godot performance and release

Target: Godot 4.7.2.stable, macOS Apple Silicon.

Expert level here means every claim about speed comes with a before and after number from the same harness, every build is verified as a file before anyone calls it shipped, and the agent knows which numbers Godot reports wrongly. The stance: measure, classify the bound, fix the biggest cost, re-measure, compare pictures, then ship builds you have opened, run and listed. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

REQUIRED BACKGROUND: scenario-godot-expert (channels, the review loop, toolkit, 4.7 traps).

Stance (the expert delta)

  1. Classify before fixing. Frame time is the slower of CPU and GPU, so a fix on the other side gains nothing (general optimization doc). Live: cutting draw calls from 2,501 to 2 dropped CPU from 2.7 to 0.35 ms and left the GPU at 6.2 ms; only the shadow budget moved the GPU (to 1.7 ms). Run a half-resolution pass: when GPU time does not fall, resolution is not the problem [added]. First log RenderingServer.get_video_adapter_name(): a hybrid laptop may run on its integrated GPU; --gpu-index N picks another [added].
  2. Nodes cost before pixels do. Per-node _process, thousands of nodes and redundant physics objects are the usual Godot CPU cost (Firebelley 1PnG3r1rKcs: 115 ms to about 8 ms with RenderingServer items; DwMoEdAhtYQ, O5a4AKemkiQ). Replace repeats with MultiMesh and a shader, and centralize ticking. Live: 2,000 MeshInstance3D created in 2.3 ms, 0.6 ms through RenderingServer.instance_create2.
  3. Spread periodic work. Random phase per poller, force_raycast_update() on a disabled RayCast (Dan Does Dev, s2C2RO_WMh0 [00:05:34]). Live: 600 agents, worst tick 1.93 to 0.64 ms, spike frames 62 to 16.
  4. Hand-sized occluders, judged by objects drawn. Box occluders per big wall beat a whole-scene bake (Zenva, VBiBZBVxu1s: about 300 to 80 FPS baked versus 350 with boxes). Occlusion is a CPU raster: judge by objects drawn from several camera spots.
  5. Hitches are loading, pipelines and runtime bakes. Load AND instantiate off the main thread, ship a warm pipeline cache (Shader Baker export option, 4.5), and log the PIPELINE_COMPILATIONS_* deltas per frame so each hitch is classed as load or compile. Navmesh bakes and ReflectionProbes on Always at area boundaries are the other suspects [added]. Live worst frame: synchronous 453 ms cold, threaded load plus instantiate 230 ms cold, 9.6 ms warm.
  6. Test on the real target, long enough. Export With Debug does not slow the game; throttling shows only on long runs (Ian Bolton, Arm, WrjaUNAXYqk [00:05:20, 00:09:35]). Soak a phone 30 minutes in the heaviest area and gate on minutes 20 to 30 [added duration]. Clean build for every perf report: a stale cache hid a perf bug for weeks (Claire Blackshaw, grdqHJOL5F4 [00:16:15]).
  7. Exports fail on environment and credentials, not on Godot. Templates per exact version, JDK and SDK paths, ETC2/ASTC import, bundle ids, signing identities, server headers. Credentials go in GODOT_* env vars, never in export_presets.cfg (export docs; Nihamkin _n9l15CANag [00:25:38]).
  8. Web is Compatibility only and single-threaded by default. Threads need COOP same-origin plus COEP require-corp over HTTPS (web doc). Live: the threaded build without headers does not start.
  9. A written plan must run without this toolkit. Next to every gd_perf call, give the engine code or CLI it wraps: the logger below, godot --headless --export-release, the env vars, bundletool, xcodebuild. Round-1 blind grading docked plans a reader could not run.

Establish first

InputWhy it changes the planDefault if unknown
Target hardware and frame budget16.67 ms at 60 fps, 33.33 at 30, 11.11 at 90 (VR), 8.33 at 12060 fps on the lowest named device
Renderer per platformauto-instancing, occlusion, features differ; web forces CompatibilityForward+ desktop, Mobile on phones, Compatibility on web
Where it is slowsteady low fps versus hitches when loading or turningprofile both
Platforms and storessigning, ids, size limits, AAB versus APKask; each store needs account steps
Download budgetwasm, pck, APK sizesthe bytes the host really serves
Who holds credentialskeystores, Apple team, Steam builderthe agent never invents or stores secrets

Workflow

  1. Baseline on a clean project copy. Clone with gd_env.base_project, gd_perf.install(P), rename application/config/name (Base3D clones otherwise share one user:// and shader cache). Read project.godot back: Jolt for 3D, the renderer you mean. gd_perf.scene_audit on the heavy scene. GATE: audit JSON saved, physics engine and renderer confirmed.
  2. Measure windowed, per variable. gd_perf.profile_variant(P, scene, size=(1280, 720), driver="vulkan"): per-frame CSV, visible and shadow draw calls, scene _process time from sentinel nodes; it compares settings, toggles or rendering_method variants after gd_perf.install(P), while a single verdict on an unchanged scene needs only the lead's gd_run.profile_scene(driver="vulkan"). Never use Performance.TIME_PROCESS per frame: it holds one value for about a second. Metal reports GPU 0 on macOS; use Vulkan. Windowed frame time is capped at the refresh; judge gpu_ms and cpu_ms. Deeper: --gpu-profile, the Visual Profiler, the script Profiler (read Self, not Inclusive; it does not cover C#), RenderDoc or the vendor tool for one frame. GATE: two runs within 10 % [added].
  3. Classify. gd_perf.classify(full, half_res). GATE: a written verdict (CPU scripts, CPU render, GPU fill, GPU geometry or shadows) backed by numbers.
  4. Fix one thing, re-measure, look. gd_perf.apply_fix(P, scene, out, fix) writes a new scene: share_materials, multimesh, shadow_budget, box_occluders, visibility_range, strip_process (lab only: drops _process scripts once a shader does their work). gd_perf.compare(before, after) applies a 5 % and 0.1 ms noise floor. Capture before and after, contact sheet, open it. Resolution scale below an agreed floor (0.67) needs sign-off [added]. GATE: metric improved beyond noise, nothing regressed, mean luma difference under 0.02 or the change approved.
  5. Hitch pass. perf_bench.gd:hitch with a fresh private HOME for a cold shader cache. GATE: worst frame under 2x the budget on warm cache, pipeline compilations off gameplay frames.
  6. Ship builds. Presets through gd_run.ensure_preset plus gd_perf.preset_fields; exports under gd_perf.export_env(HOME=private_home). Plain CLI: godot --headless --path . --export-release "<preset>" <out>. Verify each artifact: verify_macos, verify_apk, verify_xcode_project, pck_listing, size_report, web_smoke. GATE: per platform below.
  7. Run what you exported. gd_perf.run_exported(exe, ["--headless", "--", "--perf-log", "--perf-quit"]) with perf_logger.gd; web through headless Chrome. GATE: SHIP_BOOT shows the expected tags and renderer, PERF_SUMMARY p95 within budget, no errors.
  8. Release audit and handover. gd_perf.release_audit(P); write signing, notarization and upload steps for the human holding the accounts (notarize_plan, steam_vdf). GATE: no high flag; account steps listed as "not run" with the reason.

Phones. Mobile renderer, or Compatibility for the widest low-end reach (Ray Hayes, KWhVVMpihsc [00:06:03]); fallback_to_opengl3 is on by default and changes the look, so capture the fallback too [00:05:12]. Low tier: scaling_3d_scale 0.67 to 0.8, Engine.max_fps = 30, physics tick 30 with interpolation on (O5a4AKemkiQ [00:03:43]). Apply the safe area on Android too: 4.7.2 APKs target SDK 36 (measured), so Android 15+ draws edge to edge [added]. Android build: --install-android-build-template only together with an export command (with --quit it installs nothing, measured), keystore in GODOT_ANDROID_KEYSTORE_RELEASE_{PATH,USER,PASSWORD}, size with bundletool build-apks --connected-device then get-size total [not run]. Thermal soak: log adb shell dumpsys thermalservice every 10 s; Streamline region markers and Performance Advisor in CI (WrjaUNAXYqk [00:14:43]); Performance.add_custom_monitor for on-device game metrics. Wire a crash reporter and test the next OS beta before launch (8zqjiRuhQLE [00:03:40, 00:09:11]). iOS: export writes an Xcode project, then xcodebuild archive and -exportArchive; create the App Store Connect record before the first upload, raise the build number each time, no simulator for Vulkan renderers, sudo xcode-select -s /Applications/Xcode.app/Contents/Developer when export says "xcodebuild requires Xcode" (x_ZFAV2id3I [00:14:41, 00:17:04, 00:40:34]). IAP: store plugins and accounts, never faked.

Web. Single-threaded unless threads were measured to matter. itch.io serves files as uploaded (no on-the-fly compression), so budget the bytes it sends. Background tabs pause _process and drop networked games; HTTPRequest has no chunked responses and one progress step per frame; a stale service worker can show another project (web doc). Once isolated, cross-origin fetches need CORS or CORP [added]. C# projects cannot export to web (version deltas 16). Leaderboard read-only in the browser.

Show full SKILL.md (757 more words)Show less

Engine-only frame logger (no toolkit, run 2026-10-02)

gdscript
extends Node   # autoload "Bench"; run the game with: -- --bench
var ai_ms := 0.0
var _vp: RID
var _rows := PackedStringArray(["frame_ms,render_cpu_ms,gpu_ms,draw_calls,pipelines_total"])
func _ready() -> void:
	if not "--bench" in OS.get_cmdline_user_args():
		set_process(false)
		return
	_vp = get_viewport().get_viewport_rid()
	RenderingServer.viewport_set_measure_render_time(_vp, true)
	Performance.add_custom_monitor("game/ai_ms", _get_ai_ms)   # a method, never a lambda
	print("BENCH adapter=", RenderingServer.get_video_adapter_name())
func _get_ai_ms() -> float:
	return ai_ms
func _process(delta: float) -> void:
	var pipes := Performance.get_monitor(Performance.PIPELINE_COMPILATIONS_SURFACE) \
		+ Performance.get_monitor(Performance.PIPELINE_COMPILATIONS_SPECIALIZATION)
	_rows.append("%.2f,%.3f,%.3f,%d,%d" % [delta * 1000.0,
		RenderingServer.viewport_get_measured_render_time_cpu(_vp),
		RenderingServer.viewport_get_measured_render_time_gpu(_vp),
		Performance.get_monitor(Performance.RENDER_TOTAL_DRAW_CALLS_IN_FRAME), pipes])
func _exit_tree() -> void:
	if is_processing():
		Performance.remove_custom_monitor("game/ai_ms")
		FileAccess.open("user://bench.csv", FileAccess.WRITE).store_string("\n".join(_rows))

Pipeline counters are cumulative: a hitch row whose total rose is a compile. GPU time reads 0 for the first frames.

Numbers

ValueRelative toSource
hitch = frame over 2x the medianper runtoolkit [added]
2,501 to 33 draw calls2,500 cubes, 8 shared materials, Forward+live, auto-instancing
2,501 to 2,501same on Mobilelive: no auto-instancing
400 transparent cubes: 1 draw, 2 alternating materials: 117 (opaque: 2)Forward+live: depth sorting breaks batches
400 Label3D: 800 draws; one shared TextMesh: 1Forward+live: outline plus text, never instanced
omni shadow: Cube (default) 19 draws, Dual Paraboloid 2Forward+, 400 casterslive; Mobile reversed (124 vs 220)
6.6 to 1.7 ms GPU16 to 4 shadowed omni lightslive
1,260 to 90 objectsone box occluderlive, all three renderers
38.1 MB raw, 9.7 gzip, 7.8 brotli4.7.2 web export, small 3D scenelive; wasm dominates
26.5 to 28.3 MBAndroid arm64 APK, release / debuglive; engine library 24 MB

Quality gates

  • Measured: p95 frame or GPU time within budget on the target class; worst frame on area load; compare shows the intended metric moved and none regressed; scene_audit has no high flag.
  • Visual: before and after contact sheet (1600 px max) opened; occluder debug capture; web canvas screenshot.
  • macOS: codesign --verify --deep --strict OK, Debugging entitlement off, both archs; Gatekeeper accepts only after notarization.
  • Android: apksigner verifies, signer SHA-256 equals the keystore, versionCode raised, release not debuggable, planned ABIs, no password in presets.
  • iOS: Xcode project with scheme, bundle id and team; unsigned xcodebuild passes once the iOS platform is installed.
  • Web: boots in headless Chrome as served; crossOriginIsolated true if threaded; no page errors; served size within budget.
  • Packs: base pck holds no excluded content; DLC loads with replace_files=false; demo tag only in the demo.

Common mistakes

MistakeWhat it looks likeFix
process_ms p95 from the monitor CSVthe same value on 120 rowssentinel timing
GPU numbers on Metalgpu_ms 0--rendering-driver vulkan
Headless frame times"60 fps" with nothing drawnwindowed runs
MultiMesh built in a headless jobsaved scene has no instanceswrite MultiMesh.buffer
Shared materials on Mobiledraw calls unchangedMultiMesh
Mixed transparent materials in one areadraw calls climb with object countfewer transparent materials; split mixed opaque and alpha surfaces (3D doc)
Label3D for nameplates or damage numbers2 draws per labelshared TextMesh or one text node (grdqHJOL5F4 [00:09:33])
Lights left Dynamic beside LightmapGIdynamic light cost on baked areasStatic bake mode, DirectionalLight3D stays Dynamic (3D doc)
Custom monitor as a lambdastays at its first value; crashed 4.7.2 at exit (signal 11)bind a method; remove_custom_monitor on exit
Occlusion on, no occludersobjects drawn unchangedOccluderInstance3D boxes
Threaded web build on itch without headers"Cross-Origin Isolation missing"single-threaded, headers, or PWA workaround
Android paths seeded once"A valid Java SDK path is required"set paths in a private editor settings file
DLC mounted with replace_files trueold scripts override new onesload_resource_pack(path, false)
Passwords in export_presets.cfgsecrets in gitGODOT_ANDROID_KEYSTORE_*, GODOT_MACOS_* env vars

Handoffs

scenario-godot-rendering-lighting (shadow budgets, bake modes, quality tiers), scenario-godot-shaders (MultiMesh vertex animation, Shader Baker), scenario-godot-3d-world (LOD, visibility ranges, occluders, Jolt, Large World Coordinates or origin shifting for big maps), scenario-godot-gameplay and scenario-godot-architecture (managers, pooling, staggered timers, threaded loading), scenario-godot-ui (touch layout, safe areas), scenario-godot-multiplayer (web transport, dedicated server, trusted leaderboard writes), scenario-godot-pipeline-automation (CI exports, clean builds), scenario-godot-audio (Sample playback on web). Humans: Apple Developer ID, App Store Connect, Play Console, Steamworks, consoles, IAP products. Audit flags carry the owner (perf_audit.gd).

Godot 4.7 notes

  • OS.get_thermal_state does not exist in 4.7.2: log frame times over the soak, and OS thermal status from adb or Instruments.
  • Defaults checked: rendering_method.mobile="mobile", rendering_method.web="gl_compatibility", occlusion culling off, import_etc2_astc false in a hand-written project, physics interpolation off, physics 60 Hz, fallback_to_opengl3 true, OmniLight3D.omni_shadow_mode Cube, light_bake_mode Dynamic, web audio Sample.
  • Pck format 4 (pck_listing reads it). Jolt is default for new 3D projects since 4.6; a hand-written project.godot needs the setting.
  • Android: JDK 17; Godot seeds JDK and SDK paths from JAVA_HOME and ANDROID_HOME only when it creates its editor settings; permissions are not auto-requested since 4.3.
  • iOS export needs application/export_project_only without a signing team; gd_run.export reports failure because no .ipa exists.
  • Physics interpolation (2D 4.3, 3D 4.4) makes a lower physics tick viable.

References

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files (scripts, references) in skills/game-engines/godot/scenario-godot-performance-export of scenario-labs/skills.

  • SKILL.md
  • references/critique.md
  • references/expert-notes.md
  • references/gui-paths.md
  • references/procedures.md
  • references/sources.md
  • scripts/agentkit/perf/mobile_touch.gd
  • scripts/agentkit/perf/perf_audit.gd
  • scripts/agentkit/perf/perf_bench.gd
  • scripts/agentkit/perf/perf_fixes.gd
  • scripts/agentkit/perf/perf_logger.gd
  • scripts/agentkit/perf/perf_stress.gd
  • scripts/agentkit/perf/ship_boot.gd
  • scripts/agentkit/perf/web_bridge.gd
  • scripts/gd_perf.py

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Godot Performance Export 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.

Scenario Godot Performance Export compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Godot Performance Export this skillscenario-labs/skills946—~5.1kAutomated safety check: NotesMIT
Gamedev Shippingericrisco/rsc-harness180—~3.5kAutomated safety check: PassMIT
Godot Export Buildsthedivergentai/GD-Agentic-Skills821—~3kAutomated safety check: PassLGPL-3.0
Godot Admob Mediationpoingstudios/godot-admob-plugin632—~364Automated safety check: PassMIT
Godot Platform Mobilethedivergentai/GD-Agentic-Skills821—~3.2kAutomated safety check: PassLGPL-3.0
Godot Admob Migratepoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT

Similar skills

  • Gamedev Shipping

    ericrisco/rsc-harness

    A skill your agent uses when exporting, packaging, signing, or publishing a game — export presets per engine, macOS notarization, cross-origin isolation for threaded web builds, Android…

    180 GitHub stars~3.5k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Export Builds

    thedivergentai/GD-Agentic-Skills

    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…

    821 GitHub stars~3k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Godot Admob Mediation

    poingstudios/godot-admob-plugin

    Provides instructions to configure, integrate, and verify third-party mediation networks (AppLovin, Meta Audience Network, Unity Ads, etc.) in GDScript and C.

    632 GitHub stars~364 tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Godot Platform Mobile

    thedivergentai/GD-Agentic-Skills

    Expert blueprint for mobile platforms (Android/iOS) covering touch controls, virtual joysticks, responsive UI, safe areas (notches), battery optimization, and app store guidelines.

    821 GitHub stars~3.2k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Admob Migrate

    poingstudios/godot-admob-plugin

    Provides instructions to migrate your Godot AdMob project between different plugin versions (e.g.

    632 GitHub stars~1k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Mediation

    poingstudios/godot-admob-plugin

    Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C, Android, and iOS.

    632 GitHub stars~2k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    946 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Questions about Scenario Godot Performance Export

What does Scenario Godot Performance Export do?

A skill your agent uses when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls…. Scenario Godot Performance Export is an agent skill from scenario-labs/skills.io, COOP/COEP headers, SharedArrayBuffer, JavaScript interop), build size budgets, demo and DLC builds, signing and notarization.

When should I use Scenario Godot Performance Export?

Scenario Godot Performance Export fits situations like: A Godot game stutters; hitches when entering new areas; overheats a phone; must ship: profiling and Performance monitors.

How do I install Scenario Godot Performance Export in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-godot-performance-export -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-performance-export in scenario-labs/skills) into .claude/skills/scenario-godot-performance-export in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Godot Performance Export in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-godot-performance-export -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-performance-export in scenario-labs/skills) into .agents/skills/scenario-godot-performance-export in your project. Codex loads it when a task matches its description.

Can I use Scenario Godot Performance Export in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-godot-performance-export -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-godot-performance-export, .gemini/skills/scenario-godot-performance-export, .github/skills/scenario-godot-performance-export and .opencode/skills/scenario-godot-performance-export in your project.

What does Scenario Godot Performance Export need to run?

Going by SKILL.md and its folder, Scenario Godot Performance Export needs Python for the scripts in its folder and the command-line tools its instructions call (npx, adb and xcodebuild). Our summary lists: Python 3; Node.js.

Does Scenario Godot Performance Export access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Godot Performance Export safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. 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.

What licence does Scenario Godot Performance Export use?

Scenario Godot Performance Export is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Godot Performance Export use?

About 5.1k tokens (SKILL.md is roughly 21k 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 16k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Godot Performance Export?

Skills that share tags, products or a category with Scenario Godot Performance Export: Gamedev Shipping (ericrisco/rsc-harness, 180 stars), Godot Export Builds (thedivergentai/GD-Agentic-Skills, 821 stars), Godot Admob Mediation (poingstudios/godot-admob-plugin, 632 stars) and Godot Platform Mobile (thedivergentai/GD-Agentic-Skills, 821 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Godot Performance Export?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.