gum-forms-theme-import

Ports Gum Forms code-only themes into importable tool-content theme projects.

614|78|Updated Mar 11, 2015
One-click install
npx skills add https://github.com/vchelaru/Gum --skill gum-forms-theme-import
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gum-forms-theme-import
Source: https://github.com/vchelaru/Gum/tree/main/.claude/skills/gum-forms-theme-import
Command: npx skills add https://github.com/vchelaru/Gum --skill gum-forms-theme-import

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Porting a Gum Forms theme from its code-only C# implementation into a self-contained Gum project that the Add Forms dialog can import is full of silent failure modes: unnamespaced components that overwrite each other, stale staged build output, fonts that silently fall back, and recolors that pass every structural check while rendering wrong. This Skill encodes the correct sequencing and verification steps to avoid those landmines.

Core Features & Use Cases

  • Theme Porting Workflow: A step-ordered process for cloning an existing theme tree, building the Styles component, recoloring, and wiring every state to Styles swatches.
  • Namespacing Rules: Explains how to prefix qualified names across .gumx references, BaseType attributes, VariableReferences, and behavior DefaultImplementation so multiple themes can coexist in one project.
  • Verification Guidance: Distinguishes structural checks (gumcli check, check-references, diff-standards) from real behavioral verification via GumProjectFontGenerator, gumcli screenshot, and diffing staged build output.
  • Use Case: When adding a new Forms theme (e.g. porting a code-only theme like DarkPro into Templates/FormsThemes), follow this Skill to avoid duplicate-import bugs, stale FontCache entries, and silently skipped postbuild copies.

Quick Start

Use the gum-forms-theme-import skill to port a new code-only Forms theme into a tool-content theme under Templates/FormsThemes and verify it imports correctly through Add Forms.

Frequently Asked Questions about gum-forms-theme-import

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new Forms theme to the Gum tool?

Clone an existing theme's tree under Templates/FormsThemes/<Name>/, prefix every qualified component and screen name with the theme name, build a Styles.gucx matching the code-only theme's color class names, then add a per-theme postbuild xcopy block in GumFormsPlugin.csproj so FormsFileService can discover it.

Why does importing a second Gum theme overwrite the first one?

GetSourceDestinations maps every theme file to an unnamespaced destination with overwrite enabled. Without prefixing the theme name into each component's qualified Name (e.g. Bubblegum/Controls/Button), both themes land at identical paths and the second import silently replaces the first.

Why does my Gum theme font fall back to the default font?

Setting Font to a family name triggers a Windows system-font lookup that fails for bundled fonts. Set Font to the literal path including the Fonts/ folder segment, such as Fonts/SairaCondensed-Regular.ttf, and regenerate the FontCache with GumProjectFontGenerator.

Does gumcli check verify that a Gum theme actually works?

No. gumcli check, check-references, and diff-standards only validate XML structure and reference resolution. Real verification requires running GumProjectFontGenerator for fonts, gumcli screenshot for rendering each state, and diffing the staged build output under Gum/bin.

Why didn't my theme content changes appear after rebuilding?

GumFormsPlugin's postbuild xcopy only runs when MSBuild re-executes that project, and theme content files are not tracked inputs, so an incremental IDE build can skip it. Run a full dotnet build and diff a file directly from the staged Content/FormsThemes output.