Skip to content

Add gum-skills/ folder with 5 consumer-facing AI skills (#2700)#3539

Merged
vchelaru merged 1 commit into
mainfrom
2700-gum-skills
Jul 7, 2026
Merged

Add gum-skills/ folder with 5 consumer-facing AI skills (#2700)#3539
vchelaru merged 1 commit into
mainfrom
2700-gum-skills

Conversation

@vchelaru

@vchelaru vchelaru commented Jul 7, 2026

Copy link
Copy Markdown
Owner

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-skills/
  README.md
  gum-overview/SKILL.md
  gumcli/SKILL.md
  gum-file-format/SKILL.md
  gum-forms-controls/SKILL.md
  gum-layout/SKILL.md
  • 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">, not Content.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 for WidthUnits/HeightUnits (DimensionUnitType), XUnits/YUnits (PositionUnitType), XOrigin/YOrigin (HorizontalAlignment/VerticalAlignment), and ChildrenLayout; qualified InstanceName.Property variables; instance parenting via the Parent variable; and the silent-failure landmines (enum-as-int, two on-disk variable shapes, silently-dropped element names that gumcli check catches).
  • gum-forms-controls — controls vs raw visuals, composition via AddChild, and the state/category system brief (item 8 from AI Dumping ground #2197).
  • gum-layout — units, anchor/dock, child stacking.

The README.md covers 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, GumService init, package IDs, and the Anchor/Dock/AddChild APIs), 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 passes gumcli check and renders via gumcli 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

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>
@vchelaru vchelaru linked an issue Jul 7, 2026 that may be closed by this pull request
@vchelaru vchelaru merged commit b684e57 into main Jul 7, 2026
3 checks passed
@vchelaru vchelaru deleted the 2700-gum-skills branch July 7, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add gum-skills/ folder with initial AI-facing skills

1 participant