Implement compendium content for DMHub -- monsters, items, ongoing effects, abilities, and other game data. Use when asked to "implement a monster", "create a creature", "build an item", "add a compendium entry", or generate any Draw Steel game content as YAML data.
Evidence-before-edit debugging procedure for the draw-steel-codex Lua mod AND its C# engine repo (dmhubclient). Use this EVERY time you are diagnosing a malfunction -- a bug, error, crash, console error, build/compiler error, UI glitch, wrong value, panel not updating, audible/visual defect, or any "why is this happening" / "work out what's going on" / "investigate" request -- before proposing or making any code change. Also use it when a fix you just made did not work. Trigger even on casually-described symptoms ("the panel is blank", "it errors when I click") and even if the cause seems obvious. Do NOT use for pure understand/explain questions, design work, diff review, copy edits, or feature additions where nothing is malfunctioning.
The house design loop for draw-steel-codex / DMHub features: frame the problem, gather evidence (current-state audit, community asks, competitor precedent, engine capability check), map every decision the feature needs, work through options with the person driving the design ONE CATEGORY AT A TIME under the Celia Hodent lens, and assemble a DECIDED design brief. Use this EVERY time you start designing or reworking a surface -- "lets design X", "start thinking about X", "what should X look like", "how should we approach X", a new panel/system/feature, a standalone Hodent-pillar or current-state audit of an existing surface, or a design-check on one open question. Do NOT use for: executing an already-signed-off design, diagnosing a malfunction (debug-discipline), pure understand/explain questions, or single-value tweaks.
Author, edit, and publish custom 3D dice with the DMHub Dice Studio, driving a live connected instance over the MCP bridge. Use when the user asks to change the dice they are editing -- swap the surface material, set textures/colors/parameters, tune the built-in shader, font, border, or player-facing icon colors; add particle effects to dice lifecycle events; write or attach a custom dice Lua script; configure teleport/portal movement; or load/save/upload a dice set. Also use to put dice live on the shop (set keywords="dice", mark on-sale) and to upload/size featured-dice banner art. Trigger on "/dice", "dice studio", "edit my dice", "change the dice material/texture/color", "make the dice glow", "add a particle effect to the dice", "write a dice script", "upload/publish my dice", "put my dice on the store", or "make a dice banner".
Use when authoring or adjusting Draw Steel Codex themed UI — applying the new ThemeEngine, picking selectors, deciding inline-vs-class. For whole-file re-theming / migrating an existing file off legacy or ad-hoc styling, use theme-engine-retheme instead. Keeps me from drifting back into ad-hoc inline styling and from polluting DefaultStyles with component-specific rules.
Use when re-theming / migrating an EXISTING Draw Steel Codex source file onto ThemeEngine -- taking a legacy or partially-themed file to full GetStyles() compliance: removing custom colors, custom button styles, deprecated controls, and legacy classes wholesale. For authoring NEW themed UI or picking selectors, use theme-engine-discipline instead. Triggers on "re-theme this file", "migrate X to ThemeEngine", "convert this panel/dialog to the theme engine", "get rid of the custom styling in X".
Build, edit, or debug ActivatedAbility objects for monsters, heroes, or items. Use when asked to "create an ability", "add a strike", "implement a monster ability", "build an activated ability", or work with ability behaviors.
Help users create, debug, and understand mods for DMHub — the virtual tabletop platform used by the Draw Steel Codex project. DMHub mods are written in Lua and use a custom GUI framework, a domain-specific expression language called GoblinScript, and a registration-based extension system. Use this skill whenever the user mentions DMHub, Draw Steel modding, GoblinScript formulas, DMHub Lua scripting, virtual tabletop modding, creating chat commands for DMHub, building DMHub UI panels, or working with DMHub's data tables and token system. Also trigger when the user references specific DMHub APIs like `RegisterGameType`, `ActivatedAbility.RegisterType`, `DockablePanel.Register`, `TokenUI`, or any of the `dmhub.*` / `gui.*` / `chat.*` namespaces. Even if they just say "I'm making a mod" in the context of a tabletop RPG tool, this skill is likely relevant.