ss-lint
Quick automated lint — detects common design system violations in seconds
By bitjaru · 737 installs
npx skills add bitjaru/styleseed --skill ss-lint
Source repository · Upstream listing
Design Lint (Quick Check)
Registry first artifact boundary
When .styleseed/project.json and .styleseed/artifacts/index.json exist, resolve the requested artifact ID first, then read only .styleseed/bundles/<artifact id .md and .styleseed/manifests/<artifact id .json . Never fall back to the global legacy bundle for a registry project. Legacy projects may use .styleseed/effective rules.md only when no registry exists.
Canonical executable check
For a reproducible, artifact bound scan with machine readable output, use:
The checker treats only contract, containment, manifest/hash, malformed report, and required
coverage failures as hard errors. Detector findings ( SS001 – SS006 ) remain warnings and include a
stable file, line, evidence snippet, severity, and fix. Use styleseed check ... verify to recompute
the bound evidence run; do not turn a string or stale report into a pass.
Read .styleseed/effective rules.md and .styleseed/manifest.json ; invoke /ss resolve or
$ss resolve first when they are missing or stale. Lint detects deterministic drift; it must
not flag an exact grammar/recipe/profile/adapter contract as a violation or let an arbitrary lock
value create an exception.
When NOT to use
For deeper review of design judgment (composition, hierarchy, rhythm) → use /ss review
For accessibility specifically → use /ss a11y
For Nielsen UX heuristics → use /ss audit
For applying refactors — this only flags violations; use /ss review to fix
Target: $ARGUMENTS
What This Does
Fast, grep based scan for common design violations. Runs in seconds (unlike /ss review which is a deep manual audit). Run this after every file change.
Checks
1. Hardcoded Colors
Search for hex colors in className strings that should be semantic tokens:
Violation: text [ 3C3C3C] , bg [ 3182F6]
Fix: text text primary , bg brand
2. Raw Pixel Values in Tailwind
Violation: p [24px] , gap [12px]
Fix: p 6 , gap 3
3. Old Width/Height Syntax
Violation: w 4 h 4
Fix: size 4
4. Physical Properties (LTR only)
Violation: ml 2 , mr 4
Fix: ms 2 , me 4
5. Uncontracted Hard Black
Violation: Pure black without an exact structural role in the selected grammar/profile
Fix: Use the semantic ink token, or cite the maintained contract that requires hard black
6. Missing data slot
Violation: Component without data slot
Fix: Add data slot="component name"
7. Font Size CSS Variables (CRITICAL — Tailwind v4 conflict)
Violation: text [var( text sm)] or text sm: 13px in theme.css
Fix: Use explicit text [13px] . CSS variable font sizes conflict with Tailwind v4's text namespace — Tailwind reads them as color, not font size.
8. className Without cn()
Violation: Template literal className
Fix: Use cn() for all className composition
9. Universal Soft card Drift
Search for repeated rounded 2xl , shadow [var( shadow card)] , and mx 6 in pattern files.
Flag the combination when the selected recipe is not calm consumer .
Fix: use ss pattern surface , ss page gutter , and the other recipe aware helper classes.
Output Format
If errors 0, list specific fixes for each violation.