css-engineer
Writes new modern native CSS: decision engine for layout, responsive, color, and animation choices, cascade layers, tokens, logical properties, and a self-review checklist.
View sourceThree deterministic rule systems: css-engineer, css-reviewer, and css-refactor, that route into one shared knowledge base, so AI coding agents generate, audit, and modernize CSS the same way every time.
Each skill is a lean core that resolves rules from the same shared references, so the rules can't drift between generating, reviewing, and refactoring.
Writes new modern native CSS: decision engine for layout, responsive, color, and animation choices, cascade layers, tokens, logical properties, and a self-review checklist.
View sourceReviews existing CSS and reports structured findings (Issue, Severity, Location, Problem, Why, Fix, Example) across architecture, modern CSS, accessibility, forms, and performance.
View sourceRefactors CSS without changing rendering: literals to tokens, physical to logical properties, Sass to native, unlayered to layered, with a risk-rated change list.
View sourceEvery rule the skills generate lands in exactly one of these layers, declared once, in this order.
Every task resolves a profile before generating CSS: explicit instruction → project config → default evergreen.
| Profile | Fallbacks | Behavior |
|---|---|---|
| modern | none | Latest engines; ship all Stable features directly, no @supports. |
| evergreen | minimal | Auto-updating browsers; @supports reserved for Emerging features. |
| enterprise | progressive | Slow-updating fleets; working baseline first, then enhance. |
| legacy | extensive | Every non-universal feature needs a working fallback. |
Twenty-four of the rules are enforced by a zero-dependency linter, so they are executable
rather than advisory. This site's own stylesheet, and every example inside the skill
files, is gated by it on every push. The
judgment rules, whether a token is semantic or whether @scope is warranted,
stay with css-reviewer: a clean run is a floor, not a pass.
$ ./tests/run.sh
== linter self-test ==
pass compliant.css produced no findings
pass violations.css matched all 38 expected findings
pass examples.md extraction matched expectations
pass all 24 rules covered by fixtures
== repo stylesheets ==
No findings across 1 file(s).
== reference examples ==
No findings across 12 file(s).
All checks passed.
Symlink the skills into Claude Code so they stay in sync with this repo.
ln -s "$PWD"/skills/css-engineer "$PWD"/skills/css-reviewer \
"$PWD"/skills/css-refactor "$PWD"/skills/shared ~/.claude/skills/