About wow-api-framexml
A reference skill for WoW Retail 12.0.0 interface developers, covering FrameXML Lua functions, shared XML utilities, mixins, and object pools. It distinguishes these from the C-based Widget API and organizes references by topic.
Key features
- 01FrameXML global Lua functions
- 02Mixin and object pool systems
- 03Shared XML data and UI utilities
- 04Chat, bag, and popup functions
- 05Player, map, and game utilities
Use cases
- 01Toggling standard UI panels and dialogs
- 02Creating mixins or frame pools
- 03Formatting time, money, and numbers
- 04Handling chat messages and bag actions
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jburlison/ wowaddonapiagents --skill wow-api-framexmlAfter installing, type/wow-api-framexmlin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/CHATFRAME-CONTAINERS.mdFRAMEXML-GAME-UTILS.mdMIXINS-AND-POOLS.mdSHAREDXML-DATA-UTILS.mdSHAREDXML-UI-UTILS.mdUIPARENT.mdDetails
From the project READMEFrameXML Functions API
This skill documents the FrameXML layer of the WoW API — global Lua functions defined by Blizzard's interface code, shared XML utility modules, mixin system, object pools, and game utility modules. These are distinct from the C-based Widget API.
Source of truth: https://warcraft.wiki.gg/wiki/FrameXML_functions FrameXML source: https://github.com/Gethe/wow-ui-source/tree/live/Interface/FrameXML SharedXML source: https://github.com/Gethe/wow-ui-source/tree/live/Interface/SharedXML Current as of: Patch 12.0.0 — Retail only.
When to Use This Skill
Use this skill when you need to:
- Toggle standard UI panels (
ToggleCharacter,ShowUIPanel,ToggleSpellBook) - Use standard UI dialogs (
StaticPopup_Show) or context menus (EasyMenu) - Use the Mixin / Object Pool system (
CreateFromMixins,CreateFramePool) - Filter or extend chat messages (
ChatFrame_AddMessageEventFilter) - Format numbers, money, or time (
SecondsToTime,FormatLargeNumber,GetMoneyString) - Use table utilities (
tContains,tDeleteItem,tInvert,CopyTable) - Use math utilities (
Lerp,Clamp,Round,CalculateDistance) - Create texture/atlas markup for FontStrings (
CreateAtlasMarkup,CreateTextureMarkup) - Build tooltips with helpers (
GameTooltip_AddNormalLine,GameTooltip_SetTitle) - Handle pixel-perfect UI (
PixelUtil.SetSize,PixelUtil.SetPoint) - Use event convenience functions (
EventUtil.ContinueOnAddOnLoaded) - Register/animate frames (
UIFrameFadeIn,ScriptAnimationUtil.ShakeFrameRandom) - Manage bags (
OpenAllBags,ToggleBag,IsBagOpen) - Preview items/mounts in dressing room (
DressUpItemLink) - Query player/class/spec info (
PlayerUtil.GetCurrentSpecID,GetClassColor) - Work with quest icons, map utils, communities, transmog, or other game utilities
References
| Reference | Contents |
|---|---|
| UIPARENT.md | UI panel toggles, ShowUIPanel, CloseSpecialWindows, MouseIsOver, number abbreviation |
| MIXINS-AND-POOLS.md | Mixin system, CreateFromMixins, CreateColor, object/frame/texture pools |
| SHAREDXML-DATA-UTILS.md | TableUtil, MathUtil, TimeUtil, FormattingUtil, ColorUtil, CvarUtil, EasingUtil, EventUtil, EventRegistry, FunctionUtil, LinkUtil, Flags, AuraUtil, UnitUtil |
| SHAREDXML-UI-UTILS.md | FrameUtil, TextureUtil, PixelUtil, AnchorUtil, NineSlice, RegionUtil, ScriptAnimationUtil, GameTooltipTemplate, TooltipUtil, UIFrameFadeIn/Out |
| FRAMEXML-GAME-UTILS.md | AchievementUtil, ActionButtonUtil, AzeriteUtil, CalendarUtil, CampaignUtil, CommunitiesUtil, DifficultyUtil, ItemRef/ItemUtil, MapUtil, PlayerUtil, PVPUtil, PartyUtil, QuestUtils, TransmogUtil, and more |
| CHATFRAME-CONTAINERS.md | ChatFrame functions, bag open/close/toggle, DressUpFrames, StaticPopup_Show, EasyMenu |