css-standards

Enforces warm editorial CSS architecture and token-based styling conventions in web components.

Updated Feb 25, 2026
One-click install
npx skills add https://github.com/werlang/event-hub --skill css-standards-werlang
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: css-standards
Source: https://github.com/werlang/event-hub/tree/main/.agents/skills/css-standards
Command: npx skills add https://github.com/werlang/event-hub --skill css-standards-werlang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Maintaining a consistent visual identity across a growing Express/Mustache web app is hard: styles drift, colors get hardcoded, and page entry files bloat with component rules. This Skill codifies the repository's CSS architecture so every style change follows the same warm editorial theme and structural conventions. ## Core Features & Use Cases - Token Enforcement: Ensures colors, fonts, radii, shadows, and spacing come from tokens.css variables instead of hardcoded values, with color-mix(...) for state variants. - Structural Class Discipline: Separates shared shells (.surface-host, .surface-card) from semantic component classes, keeping page entry files as slim composition layers. - Component File Ownership: Maps each UI component to a dedicated file under web/src/css/components/ with nested selectors and colocated responsive rules. - Use Case: When adding a new dashboard card, the Skill guides you to reuse the event-card.css base treatment, add structural classes in markup, and put only page-specific overrides in the dashboard stylesheet. ## Quick Start Review my new dashboard component styles against the project's CSS standards and fix any violations.

Frequently Asked Questions about css-standards

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add styles for a new component in this web app?▼

Create a dedicated file under web/src/css/components/ for the component, style its semantic class with nested selectors, and import it from the page entry file. Reuse shared shells like .surface-host or .surface-card in markup instead of re-encoding border, radius, and shadow rules.

How should I handle color variants for hover and active states in CSS?▼

Use color-mix(...) with existing tokens from tokens.css rather than hardcoding new palette values. This keeps hover, focus, active, and muted variations consistent with the warm editorial theme across all components.

Can I add a new font family or icon library to a component stylesheet?▼

No. Typography is fixed to Roboto, Raleway, and Source Code Pro defined in base.css and tokens.css, and icons must use the shared Font Awesome setup. Global typography changes belong in base.css and tokens.css together, never in component files.

Why should JS components toggle CSS classes instead of inline styles?▼

Toggling classes like alert--error or card--past keeps visual state definitions in the component stylesheet where tokens and theme rules apply. Inline styles bypass the token system and fragment the design language.

What are the limitations of using data-* attributes for styling hooks?▼

Data attributes are reserved for framework selectors and DOM behavior hooks only; they must not store domain data like IDs or lookup mappings. Domain data belongs in JavaScript structures resolved at interaction time.