What problem does it solve?
Gum source is compiled directly into FlatRedBall (FRB1) via shared .projitems files under a net6.0 target with the FRB constant defined, so a change that builds cleanly in the Gum solutions can silently break the FRB build. This Skill catches those breaks by building the correct FRB canary project before they ship.
Core Features & Use Cases
- Canary Selection: Maps the changed source directory (GumCommon/, MonoGameGum/Forms/, SkiaInGumShared) to the exact .csproj that must be built, and tells you which repo that project lives in.
- Projitems Sync Guidance: Explains which shared .projitems file must be updated when .cs files are added, renamed, moved, or deleted, including PackageReference propagation to FRB-side projects.
- Guard and Multi-Target Rules: Covers #if !FRB guard symmetry, net6.0 BCL gating with #if NET7_0_OR_GREATER, and baseline-first error attribution so pre-existing failures are not misattributed.
- Use Case: After adding a new file under MonoGameGum/Forms/Controls/, use this Skill to update FlatRedBall.Forms.Shared.projitems in the sibling FlatRedBall checkout and build FlatRedBall.Forms.DesktopGlNet6 to confirm nothing broke.
Quick Start
Check whether a FlatRedBall checkout exists as a sibling of the Gum repo, then build the canary project matching the files I just changed and report only the new errors compared to the base branch.