s-develop_skill

This skill helps you design World of Warcraft addons with event-driven patterns, SavedVariables, and resilient APIs using Ace3.

10

GitHub Stars

1

Bundled Files

3 weeks ago

Catalog Refreshed

2 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstart where the catalogue uses aiagentskills.

npx veilstart add skill falkicon/mechanic --skill s-develop

  • SKILL.md2.8 KB

Overview

This skill teaches core World of Warcraft addon development patterns using Ace3 and Blizzard UI APIs. It focuses on maintainable, testable architecture, event-driven design, SavedVariables management, and resilient API usage. Use it to build robust addons that behave safely in combat and under changing game APIs.

How this skill works

I guide you through a three-layer frame architecture (Core/Bridge/View), event registration patterns, and AceDB-backed SavedVariables. The skill shows defensive techniques for calling Blizzard C_ namespaces, avoiding taint, and designing secure handlers for combat lockdown. It also centralizes debugging, error capture, and performance monitoring practices for in-game testing.

When to use it

  • Starting a new addon or refactoring an existing one
  • Designing frame layouts and UI templates with layer separation
  • Implementing event-driven features and reducing polling
  • Integrating Ace3 libraries and AceDB for SavedVariables
  • Hardening code against API changes and combat lockdown

Best practices

  • Keep logic in a headless core (pure Lua) and separate UI code into bridge/view layers
  • Prefer event registration and bucket patterns over OnUpdate polling
  • Use AceDB for SavedVariables with explicit defaults and version upgrade paths
  • Wrap uncertain API calls with pcall and validate C_ namespace returns before use
  • Avoid modifying protected frames while in combat; use secure handlers and attribute-driven updates
  • Centralize error capture and lightweight profiling for reproducible bug reports

Example use cases

  • Build a buff/debuff tracker using events and a view layer for frames
  • Create a settings panel backed by AceDB with migration logic between versions
  • Instrument addon startup and runtime with lightweight performance hooks for slow-path detection
  • Integrate a third-party library safely by validating library versions and syncing junctions
  • Implement secure click handlers and attribute templates that survive combat lockdown

FAQ

Use AceDB with a clearly versioned defaults table, run a migration step on load that checks db.version and applies transformations before use.

When should I use pcall versus explicit nil checks?

Use explicit checks for expected nils and structural validation; reserve pcall for calls to APIs that may throw or for optional libraries where failures are acceptable.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational