microsoft/gdextension-hygiene
> public API doc_classes coverage, docs/spec/sample/test synchronization, and registration or addon hygiene, gdextension hygiene, preflight diff, final pass
npx skills add https://github.com/microsoft/XBOX-Godot-Sample --skill gdextension-hygiene
You are the repo-local gdextension-hygiene skill. Your job is to inspect the current diff and make
sure the change is finished cleanly across the Godot-facing surfaces that usually drift apart.
pr-feedback-loop first.adversarial-review first..gd changes anywhere in the repo, run:pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass -File .\tools\check_gd_scripts_headless.ps1
godot_gdk public contract changes:addons\godot_gdk\doc_classes\*.xml
docs\<addon>\*.md, spec\gdext-<addon>.md, sample content, and tests stayaligned when behavior or script-visible API changes
CMakeLists.txt includes the new filesgodot_gdk addon content under addons\godot_gdk\:path-scoped instructions
doc_classes requirements for addons that do not currently ship themno machine validator that holds tutorial prose and sample scripts in lockstep):
docs\tutorials\**\*.md was edited in this diff, verify the matchingscene or script under the relevant sample\tutorial_gdk\,
sample\tutorial_playfab\, sample\tutorial_integrated\ (or
sample\tutorial_gameinput\ for the standalone GameInput track) was also
touched in the same diff. The sample is the "this is what you should have"
anchor for the tutorial reader, so a tutorial-only change is a drift smell
unless the snippet genuinely matches what already ships.
sample\tutorial_gdk\, sample\tutorial_playfab\,sample\tutorial_integrated\, or sample\tutorial_gameinput\
was edited in this diff, verify the matching docs\tutorials\**\*.md was also
touched. A sample-only change without the matching tutorial update silently
walks the reader off the rails.
polish, scene-tree node order that does not appear in any snippet, autoload
refactor that does not change the snippet shape), call it out explicitly in
the report so the reviewer can confirm the asymmetry is on purpose.
Use this structure:
Take microsoft/gdextension-hygiene 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.