Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: gumcli description: Driving the gumcli command-line tool to scaffold, generate code, validate, and screenshot a Gum project. Triggers: gumcli, codegen, gumcli check, screenshot, verifying generated UI, edit-validate-verify loop.
gumcli
gumcli is a cross-platform .NET tool for working with Gum projects without the editor. It is the primary way an AI assistant acts on a Gum project and verifies its own work: machine-readable output on stdout, meaningful exit codes, fully headless. Full reference: <https://docs.flatredball.com/gum/cli>.
Install
dotnet tool install -g GumCli
The edit → validate → verify loop
After any change to a Gum project (by hand, by tool, or by an assistant), run this loop. Skipping validation is the most common way agent-authored UI breaks silently.
1. Generate code (project + codegen mode only)
gumcli codegen-init MyProject.gumx # once: writes code-gen settingsgumcli codegen MyProject.gumx # after any element edit: emits typed C#
Regenerate after editing elements so the generated classes match the XML. If you rename or delete an element, delete its stale generated .cs file before regenerating.
2. Validate — always
gumcli check MyProject.gumx # human-readablegumcli check MyProject.gumx --json # machine-readable
check catches the mistakes that are easy to make and invisible otherwise — most importantly misspelled XML element names that Gum drops without error (see gum-file-format). Exit code 0 = clean, 1 = errors found, 2 = project could not be loaded / bad arguments. Branch on the exit code; do not parse prose. Run check after every hand edit before trusting the file.
3. Verify visually
Compiling is not proof the UI looks right. Render it and inspect:
gumcli screenshot MyProject.gumx ScreenOrComponentName --output out.pnggumcli svg MyProject.gumx ScreenOrComponentName --output out.svg
Open the image to confirm layout matches intent. With a multimodal model, the assistant can look at the PNG directly.
Other commands
| Command | Purpose | ||
|---|---|---|---|
| `gumcli new <path> [--template forms\ | empty]` | Scaffold a new project. forms (default) includes the built-in Forms controls. | |
gumcli fonts <project.gumx> | Generate missing bitmap font files (.fnt+.png). Windows-only. | ||
gumcli pack <project.gumx> | Bundle a project into a single file. |
Notes
- stdout is data, stderr is chatter. Consume results (
--json, paths) from
stdout; banners and progress go to stderr.
- Pair
gumcliwith the MCP documentation server so the assistant can look up a
property while it drives the project. See <https://docs.flatredball.com/gum/ai/gumcli-for-agents>.