audit-less

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.

jhd3197/serverkit1 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
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.
license: MIT
---

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-primary` or `@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.`

More Accessibility skills

← All Accessibility skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY