mcpField
W
wow-api-framexml

wow-api-framexml

github.com/jburlisonDevelopment4643 installsUpdated 37w ago
Repository

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

  1. 01FrameXML global Lua functions
  2. 02Mixin and object pool systems
  3. 03Shared XML data and UI utilities
  4. 04Chat, bag, and popup functions
  5. 05Player, map, and game utilities

Use cases

  1. 01Toggling standard UI panels and dialogs
  2. 02Creating mixins or frame pools
  3. 03Formatting time, money, and numbers
  4. 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-framexml

After installing, type/wow-api-framexmlin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
CHATFRAME-CONTAINERS.md
FRAMEXML-GAME-UTILS.md
MIXINS-AND-POOLS.md
SHAREDXML-DATA-UTILS.md
SHAREDXML-UI-UTILS.md
UIPARENT.md

Details

From the project README

FrameXML 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

ReferenceContents
UIPARENT.mdUI panel toggles, ShowUIPanel, CloseSpecialWindows, MouseIsOver, number abbreviation
MIXINS-AND-POOLS.mdMixin system, CreateFromMixins, CreateColor, object/frame/texture pools
SHAREDXML-DATA-UTILS.mdTableUtil, MathUtil, TimeUtil, FormattingUtil, ColorUtil, CvarUtil, EasingUtil, EventUtil, EventRegistry, FunctionUtil, LinkUtil, Flags, AuraUtil, UnitUtil
SHAREDXML-UI-UTILS.mdFrameUtil, TextureUtil, PixelUtil, AnchorUtil, NineSlice, RegionUtil, ScriptAnimationUtil, GameTooltipTemplate, TooltipUtil, UIFrameFadeIn/Out
FRAMEXML-GAME-UTILS.mdAchievementUtil, ActionButtonUtil, AzeriteUtil, CalendarUtil, CampaignUtil, CommunitiesUtil, DifficultyUtil, ItemRef/ItemUtil, MapUtil, PlayerUtil, PVPUtil, PartyUtil, QuestUtils, TransmogUtil, and more
CHATFRAME-CONTAINERS.mdChatFrame functions, bag open/close/toggle, DressUpFrames, StaticPopup_Show, EasyMenu

Comments

Markdown supported