s-audit

Comprehensive quality analysis for WoW addons. Combines security, complexity, deprecation, and dead code analysis into a single audit workflow. Triggers: audit, quality, analysis, review, check, scan.

$ 설치

git clone https://github.com/Falkicon/Mechanic /tmp/Mechanic && cp -r /tmp/Mechanic/.claude/skills/s-audit ~/.claude/skills/Mechanic

// tip: Run this command in your terminal to install the skill


name: s-audit description: > Comprehensive quality analysis for WoW addons. Combines security, complexity, deprecation, and dead code analysis into a single audit workflow. Triggers: audit, quality, analysis, review, check, scan.

Auditing WoW Addons

Expert guidance for comprehensive addon quality analysis.

Related Commands

MCP Tools

TaskMCP Tool
Security Analysisaddon.security(addon="MyAddon")
Complexity Analysisaddon.complexity(addon="MyAddon")
Deprecation Scanaddon.deprecations(addon="MyAddon")
Dead Code Detectionaddon.deadcode(addon="MyAddon")

Capabilities

  1. Security Analysis — Combat lockdown, secret values, taint, unsafe eval
  2. Complexity Analysis — Deep nesting, long functions, magic numbers, duplicates
  3. Deprecation Scanning — 100+ deprecated APIs with migration paths
  4. Dead Code Detection — Unused functions, orphaned files, dead exports

Analysis Categories

Security (addon.security)

CategoryDescriptionSeverity
combat_violationProtected API without InCombatLockdown() guardError
secret_leakLogging/storing secret values (12.0+)Error
taint_riskUnsafe global modificationsWarning
unsafe_evalloadstring/RunScript with variable inputWarning
addon_commUnvalidated message parsingInfo

Complexity (addon.complexity)

CategoryThresholdDescription
deep_nesting> 5 levelsExcessive if/for/while nesting
long_function> 100 linesFunctions too long to understand
long_file> 500 linesFiles that should be split
magic_numberpattern-basedUnexplained numeric literals
duplicate_code> 10 linesNear-identical code blocks

Deprecations (addon.deprecations)

CategoryExample APIsSince
addonsGetAddOnInfo → C_AddOns.GetAddOnInfo11.0
spellsGetSpellInfo → C_Spell.GetSpellInfo11.0
itemsGetItemInfo → C_Item.GetItemInfo11.0
containersGetContainerItemInfo → C_Container10.0
unitUnitHealth (returns secret for enemies)12.0

Dead Code (addon.deadcode)

CategoryDescription
unused_functionFunctions defined but never called
orphaned_fileLua files not in TOC
dead_exportExported values never used
unused_libraryLibraries in Libs/ never used

Workflow

Quick Audit

1. addon.security   → Critical issues (combat, secrets)
2. addon.deprecations (min_severity=error) → Breaking changes
3. Report critical findings

Full Audit

1. addon.security   → All security issues
2. addon.complexity → All maintainability issues
3. addon.deprecations → All deprecated APIs
4. addon.deadcode   → All dead code
5. Comprehensive report with priority order

Interpreting Results

Priority Order

  1. Critical (Fix immediately):

    • Combat lockdown violations (will cause bugs)
    • Secret value leaks (12.0+ breaking)
    • Deprecated APIs with severity: error
  2. High (Fix before release):

    • Taint risks
    • Deprecated APIs with severity: warning
    • Orphaned files
  3. Medium (Fix when convenient):

    • Deep nesting (maintainability)
    • Long functions
    • Magic numbers
  4. Low (Consider fixing):

    • Code duplicates
    • Suspicious dead code

Best Practices

  1. Run before release — Catch breaking changes early
  2. Start with critical — Security and deprecations first
  3. Filter by severity — Use include_suspicious=false for focused results
  4. Check 12.0 readiness — Secret value APIs are breaking changes
  5. Review complexity — High complexity = high bug risk