Add gum-skills/ folder with 5 consumer-facing AI skills (#2700)#3539
Merged
Conversation
Establishes a permanent home for external-facing AI skills that consumers drop into their project's .claude/skills/ to work *with* Gum (distinct from the engine-internal .claude/skills/ set for working *on* Gum). Fulfills the folder the published docs/ai/ai-skills.md already links to. Adds README.md plus five skills: gum-overview (file types, Forms vs raw visuals, the three usage modes, project wiring, the content-copy rule), gumcli (edit->validate->verify recipes), gum-file-format (enum->int tables for Units/Origins/ChildrenLayout, qualified InstanceName.Property variables, instance parenting, and the silent-failure landmines), gum-forms-controls (controls vs raw visuals, composition via AddChild, the state/category system), and gum-layout (units, Anchor/Dock, stacking). Content is grounded in source (enum values, GumService init, package IDs, Anchor/Dock/AddChild APIs) and validated by a fresh-agent dry-run whose findings drove a round of fixes; the file-format skill's example passes gumcli check and renders. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2700.
What
Adds a top-level
gum-skills/folder: external-facing AI skills a consumer drops into their project's.claude/skills/to work with Gum. This is distinct from the engine-internal.claude/skills/set (which is about working on Gum), and it fulfills the folder the published docs (docs/ai/ai-skills.md) already link to but which didn't exist yet.gum-overview— what Gum is, project file types (.gumx/.gusx/.gucx/.gutx/.behx), Forms-vs-raw-visuals, the three usage modes, project wiring (GumService,Gum.MonoGame/Gum.KNI/Gum.FNA), and the content-copy rule (<None Update="Content\**\*.*" CopyToOutputDirectory="PreserveNewest">, notContent.mgcb) — item 7 from AI Dumping ground #2197.gumcli— recipe-oriented edit → validate → verify loop (codegen,check,screenshot).gum-file-format— the original AI Dumping ground #2197 ask: enum→int tables forWidthUnits/HeightUnits(DimensionUnitType),XUnits/YUnits(PositionUnitType),XOrigin/YOrigin(HorizontalAlignment/VerticalAlignment), andChildrenLayout; qualifiedInstanceName.Propertyvariables; instance parenting via theParentvariable; and the silent-failure landmines (enum-as-int, two on-disk variable shapes, silently-dropped element names thatgumcli checkcatches).gum-forms-controls— controls vs raw visuals, composition viaAddChild, and the state/category system brief (item 8 from AI Dumping ground #2197).gum-layout— units, anchor/dock, child stacking.The
README.mdcovers the 3rd-party-vs-internal distinction, a getting-started set, and a short "how to author a new skill" section.Why these are more self-contained than the internal skills
These ship into a consumer's repo, so the reader has no Gum source tree or
docs/folder. The skills therefore state the concrete rules (enum tables, APIs) inline and link to the public docs site (docs.flatredball.com/gum/...) for depth, rather than pointing at repo source paths.Verification (DoD #3/#4)
All factual content is grounded in source (enum values,
GumServiceinit, package IDs, and theAnchor/Dock/AddChildAPIs), not from memory. Then a fresh sub-agent given only these skills attempted to build a small UI and hand-author a.gusx; its friction report surfaced a real blind spot around composition/parenting (adding a child control in code, nesting instances in XML, root-namespace boilerplate), which drove one round of fixes. The corrected file-format example now passesgumcli checkand renders viagumcli screenshot.A deeper test-run inside a full game project is left for follow-up as need is demonstrated — per the issue, this is deliberately not a long-running tracker; future skills (animation, hot reload, localization, styling, etc.) are each their own issue.
🤖 Generated with Claude Code