s-lint
Tools and workflow for maintaining quality and style in World of Warcraft addon development.
Install
mkdir -p .claude/skills/s-lint && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9625" && unzip -o skill.zip -d .claude/skills/s-lint && rm skill.zipInstalls to .claude/skills/s-lint
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Ensure code quality using Luacheck linting and StyLua formatting. Covers common warnings, style rules, and auto-formatting. Use when checking code quality, fixing style issues, or preparing code for review. Triggers: lint, format, style, luacheck, stylua, code quality, warnings.Key capabilities
- →Lint Lua code
- →Format code with StyLua
- →Perform security analysis
- →Analyze code complexity
How it works
It uses Luacheck for syntax and style linting and StyLua for consistent formatting.
Inputs & outputs
When to use s-lint
- →Formatting Lua code for WoW
- →Detecting undefined globals in addons
- →Performing complexity analysis on functions
About this skill
Linting WoW Addons
Guidance for code quality and formatting. Call the MCP tools directly (using-mechanic).
Related Commands
- c-lint - Lint and format workflow
- c-review - Full code review (includes lint)
- c-audit - Security, complexity, deprecation and dead-code analysis (not part of lint)
MCP Tools
| Task | MCP Tool |
|---|---|
| Lint | addon.lint(addon="MyAddon") (read-only) |
| Check formatting only | addon.format(addon="MyAddon", check=true) (read-only in effect) |
| Format (rewrites files) | addon.format(addon="MyAddon") |
addon.lint and addon.format run in the addon folder, so the addon's .luacheckrc / stylua.toml apply. If the tools are missing, tools.status reports it (mech setup installs them for the user). Security, complexity and dead-code analysis live in the analyzers: s-audit, s-clean.
Workflow
addon.format(check=true)to see what would change; thenaddon.formatif the diff is only style.addon.lint; fix real problems (undefined globals are usually typos or missingread_globals).- Re-run
addon.lintto confirm. Do not reformat whole files you are not otherwise changing.
Common Luacheck warnings
| Code | Meaning | Fix |
|---|---|---|
| W111 | Setting undefined global | Fix the typo or declare it in globals |
| W112 | Mutating undefined global | Same as W111 |
| W113 | Accessing undefined global | Check the API exists; add to read_globals |
| W211 | Unused local variable | Remove it or prefix with _ |
| W212 | Unused argument | Prefix with _ (for example _event) |
| W213 | Unused loop variable | Prefix with _ |
| W311 | Value assigned but never used | Remove the assignment or use the value |
| W431 | Shadowing upvalue | Rename the local |
Configuration in this repository
- The root
.luacheckrcis the central config:std = "lua51",max_line_length = 120,codes = true, plus the WoW, Ace3 and FenUI globals. CI runsluacheck "!Mechanic/" "Mechanic/" --config .luacheckrc. _TemplateAddon/TemplateAddon/.luacheckrcis a standalone per-addon starting point (std = "lua51",max_line_length = 160, ignores W212/W213,Libs/excluded). Per-addon configs list their ownglobals(addon table, SavedVariables) andread_globals(WoW API, libraries).std = "lua51"is required: addon Lua is 5.1, sogoto,bit32and//are errors.- There is no
stylua.tomlin this repository, so StyLua uses its defaults, which match this code style: tabs, 4-wide, 120 columns,AutoPreferDoublequotes,call_parentheses = "Always", Unix line endings. Add astylua.tomlto an addon only to deviate from them. Libs/(third-party and vendored libraries) must stay excluded from both tools.
Best practices
- Lint before commit.
- Keep
read_globalshonest: add only APIs you actually call, and prefer modernC_APIs (api-patterns). - Prefix intentionally unused variables with
_. - Treat lint as necessary, not sufficient: it proves nothing about in-game behaviour.
When not to use it
- →When not developing WoW addons
- →When the code is not Lua
Prerequisites
Limitations
- →Requires WoW-specific configuration
How it compares
It provides WoW-specific linting rules and security analysis for combat lockdown violations.
Compared to similar skills
s-lint side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| s-lint (this skill) | 0 | 9mo | Review | Beginner |
| pr-review | 6 | 3mo | Review | Intermediate |
| django-verification | 5 | 6mo | Review | Intermediate |
| lint-and-validate | 6 | 8mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Falkicon
View all by Falkicon →You might also like
pr-review
pytorch
Review PyTorch pull requests for code quality, test coverage, security, and backward compatibility. Use when reviewing PRs, when asked to review code changes, or when the user mentions "review PR", "code review", or "check this PR".
django-verification
affaan-m
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
lint-and-validate
davila7
Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, validate, types, static analysis.
moai-foundation-quality
modu-ai
Enterprise code quality orchestrator with TRUST 5 validation, proactive analysis, and automated best practices enforcement
code-quality-enforcer
T-rav
>
verification-loop
tom237ttkk
A comprehensive verification system for Codex work sessions.