wow-controller-support
Skill75 starsChanged 13 days agoMITView on GitHub
Design, debug, and review controller/gamepad support for addon UI, native controls, and reskinned Blizzard windows across Retail, Forever, and Classic progression. Use for windows that will not acquire focus, input capture and handoff, current-binding prompts, navigation, recycled controls, text editing, scrolling, and controller validation.
In this repository42 other files it gives its agents.
- skills/agent-file-specs/references/AGENTS.mdAGENTS.md
- agent-file-specsSkill
- analyze-agent-overlapSkill
- generate-agent-docsSkill
- validate-agent-filesSkill
- wow-addon-developmentSkill
- wow-addon-structureSkill
- wow-api-achievementsSkill
- wow-api-calendar-eventsSkill
- wow-api-collectionsSkill
- wow-api-combatSkill
- wow-api-currency-economySkill
- wow-api-encountersSkill
- wow-api-escape-sequencesSkill
- wow-api-eventsSkill
- wow-api-framexmlSkill
- wow-api-group-lfgSkill
- wow-api-guildSkill
- wow-api-housingSkill
- wow-api-indexSkill
- wow-api-items-inventorySkill
- wow-api-lua-environmentSkill
- wow-api-map-navigationSkill
- wow-api-misc-systemsSkill
- wow-api-professionsSkill
- wow-api-pvpSkill
- wow-api-questsSkill
- wow-api-reputationSkill
- wow-api-settings-systemSkill
- wow-api-social-chatSkill
- wow-api-spells-abilitiesSkill
- wow-api-talentsSkill
- wow-api-transmogSkill
- wow-api-unit-playerSkill
- wow-api-weekly-rewardsSkill
- wow-api-widgetSkill
- wow-api-xml-schemaSkill
- wow-client-targetsSkill
- wow-lua-apiSkill
- wow-macro-commandsSkill
- wow-native-uiSkill
- wow-ui-skinningSkill
The file
Files
Consider controller interaction for every UI element
Apply this skill whenever creating or changing visible addon UI, including native templates and skins. Consider decorative elements too: they must not obscure focus or intercept input. Required consideration means recording the interaction and target-specific limitation; it does not mean forcing a controller mode, adding an unrelated feature, or overriding an explicit user decision.
- Resolve client targets, pin each branch, and identify the UI owner and load path. Use the source map as dated evidence, then verify the actual API, scripts, security and loading for the task. Forever's native navigation machinery is not a portable Retail/Classic API.
- Add controller acceptance criteria to the existing requirements/design before implementation. For each element specify reachability, focus indication, primary/secondary action, back, tab/page/scroll behavior, and any disabled or unsupported state. Follow the existing design and testing choices; do not reopen accepted choices solely because this skill was selected.
- Choose a verified native integration, addon-owned ordinary-UI navigation, or controller-driven cursor interaction for each target. A cursor fallback must still reach every supported action. If no verified path exists, state the limitation explicitly rather than claiming support. Preserve the user's settings, bindings, mouse and keyboard interactions.
- Establish how an unfocused window receives its first controller action before expanding navigation. Use focus acquisition and diagnostics for an unreachable window, Game Menu-style focus shortcut, missing callbacks, or ownership conflict. A glyph is not registration, and an input catcher enabled only after focus cannot acquire focus by itself. Probe consumption, paired release, native-window handoff and combat in the selected client when available; otherwise retain those checks as not run.
- Implement focus restoration, input-mode changes, binding/glyph refresh, dynamic-control identity, and editor lifetime using the interaction guide. Register shared widgets through their existing lifecycle and add narrow adapters for exceptional controls. Never copy or replace Blizzard's secure managers or treat a callable function as permission.
- Validate the guide's per-client cases using the user's selected workflow. Separate source inspection, simulated behavior, and in-game controller results. Without a controller, compatible client, simulator, or automation access, mark the affected checks not run; static inspection cannot establish runtime compatibility.
For source lookup, use the API index, settings/input, widget contracts, FrameXML lifecycle, and secure execution. Combine this workflow with native UI construction or UI skinning, as appropriate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

