ziyuefan/eventalertmodremake/wow-api-widget

Claude Code and agent skill by ziyuefan/eventalertmodremake

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Curated guide to the WoW Widget API (Retail). Focuses on core widget types, common methods, and patterns for CreateFrame, anchoring, scripts, textures, fonts, animations, and UI controls.

Install

npx vskill@latest install ziyuefan/eventalertmodremake/wow-api-widget

SKILL.md

WoW Widget API (Curated)

This skill documents the Widget API for World of Warcraft Retail. It is curated: it highlights the core types, methods, and patterns you use most. For exhaustive lists, follow the source links.

Source of truth: https://warcraft.wiki.gg/wiki/Widget_API
Script handlers: https://warcraft.wiki.gg/wiki/Widget_script_handlers
XML schema: https://warcraft.wiki.gg/wiki/XML_schema
Current as of: Patch 12.0.0 (Retail)

When to Use This Skill

Use this skill when you need to:

  • Create or manipulate UI frames (CreateFrame, Frame:SetPoint, Frame:Show)
  • Work with textures and visual regions (Texture:SetTexture, TextureBase:SetAtlas)
  • Handle font strings and text display (FontString:SetText, FontInstance:SetFont)
  • Build animations (AnimationGroup:Play, Animation:SetDuration)
  • Manage tooltips (GameTooltip:SetOwner, GameTooltip:AddLine)
  • Handle buttons and interactive controls (Button:SetText, EditBox:SetText, Slider:SetValue)
  • Work with status bars and cooldowns (StatusBar:SetValue, Cooldown:SetCooldown)
  • Use model frames for 3D displays (Model:SetModel, ModelScene:CreateActor)
  • Anchor, size, show or hide, and parent UI elements
  • Register frames for events (Frame:RegisterEvent, Frame:RegisterUnitEvent)
  • Set up script handlers (ScriptObject:SetScript, ScriptObject:HookScript)

Widget Hierarchy (Short)

FrameScriptObject
Object
ScriptObject
ScriptRegion (+ ScriptRegionResizing + AnimatableObject)
Region
TextureBase -> Texture, MaskTexture, Line
FontString (+ FontInstance)
Frame (+ FontInstance)
Button -> CheckButton
EditBox, MessageFrame, ScrollFrame, Slider, StatusBar, Cooldown
GameTooltip, SimpleHTML, ColorSelect, MovieFrame
Model -> PlayerModel -> CinematicModel, DressUpModel -> TabardModel
ModelScene -> ModelSceneActor
AnimationGroup -> Animation -> Alpha, Rotation, Scale, Translation, Path, FlipBook
Font (FrameScriptObject + FontInstance)

How to Use This Skill

  1. Identify the widget type you are working with (for example: Frame, Texture, Button).
  2. Check the hierarchy above to find base types it inherits from.
  3. Open the relevant reference file for core methods and examples.
  4. Use the source links for exhaustive method lists.

Reference Files

ReferenceContents
BASE-WIDGETS.mdBase types, anchoring, input, scripts, visibility
TEXTURE-WIDGETS.mdTextureBase, Texture, MaskTexture, Line
FONT-WIDGETS.mdFontInstance, Font, FontString
ANIMATION-WIDGETS.mdAnimationGroup, Animation, Alpha, Rotation, Scale, Translation, Path
FRAME-WIDGETS.mdFrame core behavior, events, layering, movement
FRAME-CONTROLS.mdButton, CheckButton, EditBox, ScrollFrame, Slider, StatusBar, Cooldown, MessageFrame, SimpleHTML
ADVANCED-WIDGETS.mdGameTooltip, Model/PlayerModel, ModelScene, ColorSelect, MovieFrame

Core Patterns

Create and Anchor
lua
local frame = CreateFrame("Frame", "MyFrame", UIParent, "BackdropTemplate")
frame:SetSize(240, 120)
frame:SetPoint("CENTER")
local title = frame:CreateFontString(nil, "OVERLAY", "GameFontNormal")
title:SetPoint("TOP", 0, -12)
title:SetText("Hello")
Events and Scripts
lua
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_LOGIN")
f:SetScript("OnEvent", function(self, event)
print("Ready", event)
end)
Buttons
lua
local btn = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate")
btn:SetSize(120, 32)
btn:SetPoint("CENTER")
btn:SetText("Click")
btn:RegisterForClicks("AnyUp")
btn:SetScript("OnClick", function(self, button)
print("Clicked", button)
end)
Animations
lua
local ag = frame:CreateAnimationGroup()
local fade = ag:CreateAnimation("Alpha")
fade:SetFromAlpha(0)
fade:SetToAlpha(1)
fade:SetDuration(0.25)
ag:Play()

XML Schema Quickstart

xml
<Ui>
<Frame name="MyXmlFrame" parent="UIParent" hidden="true">
<Size x="240" y="120"/>
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
<Scripts>
<OnLoad>
self:RegisterEvent("PLAYER_LOGIN")
</OnLoad>
<OnEvent>
print(event)
</OnEvent>
</Scripts>
</Frame>
</Ui>

Script Handlers Quick Map

  • ScriptRegion: OnShow, OnHide, OnEnter, OnLeave, OnMouseDown, OnMouseUp, OnMouseWheel
  • Frame: OnEvent, OnUpdate, OnSizeChanged, OnDragStart, OnDragStop, OnKeyDown, OnKeyUp
  • Button: OnClick, OnDoubleClick, PreClick, PostClick
  • EditBox: OnTextChanged, OnEnterPressed, OnEscapePressed, OnTabPressed
  • Slider/StatusBar: OnValueChanged, OnMinMaxChanged
  • AnimationGroup/Animation: OnPlay, OnStop, OnFinished, OnUpdate

For the full handler list by widget type, see https://warcraft.wiki.gg/wiki/Widget_script_handlers.

Specialized Widgets (Summary)

For advanced widgets (GameTooltip, Model, ModelScene, ColorSelect, MovieFrame), see ADVANCED-WIDGETS.md. Use the Widget API page for full method lists and specialized widget details.

Security Annotations

Methods tagged in the API reference have usage restrictions:

  • #protected - Blizzard secure code only.
  • #secureframe - Not callable on protected frames during combat.
  • #nocombat - Not callable during combat lockdown.
  • #restrictedframe - Returns nil for protected frames from insecure code in combat.
  • #anchorfamily - Anchor family restrictions apply.

Sources

  • https://warcraft.wiki.gg/wiki/Widget_API
  • https://warcraft.wiki.gg/wiki/Widget_script_handlers
  • https://warcraft.wiki.gg/wiki/XML_schema

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ziyuefan/eventalertmodremake/wow-api-widget/badge)](https://verified-skill.com/skills/ziyuefan/eventalertmodremake/wow-api-widget)

Something wrong with this skill or its page? Tell us.