name: audit-less description: Scan LESS stylesheets for variable errors — undefined variables, CSS custom properties passed to compile-time functions (fade, darken, lighten, etc.), and incorrect variable name patterns. Reports issues with file, line, and fix. argument-hint: "[file-or-directory]"
Audit LESS stylesheets in ServerKit for recurring build-breaking patterns. Scope: ${ARGUMENTS:-frontend/src/styles/}
What to Scan For
Pattern 1: CSS custom properties in LESS compile-time functions
LESS functions like fade(), darken(), lighten(), saturate(), spin(), mix() require real color values at compile time. Variables defined as var(--something) will fail.
Search for calls to these functions and check if any argument is a variable that resolves to a CSS custom property.
Broken — these variables use var(--...) and cannot be evaluated by LESS:
@bg-body,@bg-sidebar,@bg-card,@bg-hover,@bg-elevated,@bg-secondary,@bg-tertiary@border-default,@border-subtle,@border-active,@border-hover@text-primary,@text-secondary,@text-tertiary@accent-primary,@accent-hover,@accent-glow,@accent-shadow@shadow-sm,@shadow-md,@shadow-lg@color-primary
Fix: Use the corresponding *-raw variant instead (e.g., @bg-hover → @bg-hover-raw, @text-tertiary → @text-tertiary-raw, @accent-primary → @accent-primary-raw).
Pattern 2: Undefined or misspelled variables
Check for variables that don't exist in _variables.less. Common mistakes:
@card-bg→ should be@bg-card@accent-success→ should be@success@accent-danger→ should be@danger@accent-info→ should be@info@accent-warning→ should be@warning@primary-color→ should be@accent-primaryor@accent-primary-raw@spacing-*→ should be@space-*
Pattern 3: Non-raw variables in theme-sensitive contexts
For any LESS function that manipulates color values (fade, darken, lighten, contrast, saturate, desaturate, spin, mix, tint, shade), the argument MUST be a raw hex/rgb value or a *-raw variable.
Reference: Valid Variable Names
Read frontend/src/styles/_variables.less to get the authoritative list of defined variables. Any @variable used in a .less file that is not in _variables.less (and is not a local variable or LESS built-in) is a bug.
Output Format
For each issue found, report:
[FILE]:[LINE] — [ISSUE]
Found: [problematic code]
Fix: [corrected code]
At the end, provide a summary count: X issues found across Y files.
If no issues are found, report: No LESS variable issues found.