css — Claude Code skill: CSS rules for your project
This skill hands the agent a set of CSS rules: Flexbox, Grid, custom properties, BEM and specificity control. Useful when AI writes your styles.
npx skills add Mindrally/skills --skill css -a claude-codeWhat css does
The css skill is a set of instructions the agent reads before touching stylesheets. It covers layout, units, custom properties, class naming and specificity management. No scripts, no dependencies — just a text file of guidelines.
For layout it points to Flexbox for one-dimensional cases and Grid for two-dimensional ones, with gap preferred over margins. Typography should use rem and em; px is reserved for borders and fixed elements. Design tokens belong in variables on :root, and theming works by overriding those same variables. Naming follows BEM, selectors stay as single classes, specificity stays low, and !important is off the table.
Other sections cover mobile-first media queries, performance, modern features like aspect-ratio and logical properties, browser compatibility, and accessibility. On accessibility specifically: WCAG AA contrast, visible focus styles for keyboard users, and prefers-reduced-motion for animations. If your project already uses a different naming scheme or CSS-in-JS, the BEM and external-stylesheet advice will fight your existing code — worth checking before you install the whole thing rather than a few sections.
What it helps with
- pick Flexbox or Grid for a specific block
- move font sizes to rem without breaking the layout
- pull colors and spacing into variables on
:root - lower selector specificity without rewriting existing styles
- add a dark theme by overriding variables
Example prompts for the agent
- build the product card following the css skill guidelines
- check my stylesheet for specificity and BEM naming
- rewrite the typography in rem and add fluid sizes with clamp()
How to install css
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill css -a claude-code2Manually: put the files in place
~/.claude/skills/css/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/css/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill css -a codex2Manually: put the files in place
.agents/skills/css/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill css -a cursor2Manually: put the files in place
.cursor/skills/css/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills css2Manually: put the files in place
.github/skills/css/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill css -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path cssManually: put the files in place
.devin/skills/css/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill css -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about css
How do I install css in Claude?
Run npx skills add Mindrally/skills --skill css -a claude-code. The skill file lands at ~/.claude/skills/css/SKILL.md.
What does the css skill do?
It gives the agent CSS guidelines: Flexbox and Grid layout, units, custom properties, BEM, specificity, responsive design and accessibility.
Does the skill force BEM?
Yes, the naming section describes BEM: block, element with __, modifier with --. If your project uses another class system, those recommendations will clash with your code.
Source text
SKILL.md · Apache-2.0
--- name: css description: Best practices for CSS development including modern layout techniques, naming conventions, theming, and maintainable stylesheet architecture metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # CSS Development Guidelines ## Core Principles - Write semantic HTML to improve accessibility and SEO - Use CSS for styling, avoiding inline styles - Ensure responsive design using media queries and flexible layouts - Prioritize external stylesheets over inline or embedded styles ## Layout Techniques ### Flexbox - Use Flexbox for one-dimensional layouts (rows or columns) - Leverage `justify-content` and `align-items` for alignment - Use `flex-wrap` for responsive wrapping behavior - Prefer `gap` property over margins for consistent spacing ### Grid - Use CSS Grid for two-dimensional layouts - Define grid templates with `grid-template-columns` and `grid-template-rows` - Use `grid-area` for named template areas - Leverage `auto-fit` and `auto-fill` for responsive grids ## Units and Typography - Use `rem` units for typography to respect user preferences - Use `em` units for component-relative sizing - Avoid `px` for font sizes; reserve for borders and fixed elements - Implement fluid typography with `clamp()` when appropriate - Use viewport units (`vw`, `vh`) thoughtfully for full-screen layouts ## CSS Variables (Custom Properties) - Define design tokens as CSS variables on `:root` - Use variables for colors, spacing, typography, and shadows - Implement theming by overriding variables in different contexts - Name variables semantically (e.g., `--color-primary`, `--spacing-md`) ## Naming Conventions ### BEM Methodology - Block: Standalone component (e.g., `.card`) - Element: Part of a block (e.g., `.card__title`) - Modifier: Variation of block or element (e.g., `.card--featured`) ### Best Practices - Use lowercase with hyphens for class names - Avoid IDs for styling; reserve for JavaScript hooks - Keep specificity low by using single class selectors - Scope styles to components to prevent conflicts ## Specificity Management - Maintain specificity at 0-1-0 (single class) when possible - Avoid `!important` declarations - Use cascading intentionally, not accidentally - Consider CSS Layers (`@layer`) for specificity control ## Responsive Design - Implement mobile-first media queries - Use relative units for flexible layouts - Test across multiple viewport sizes - Consider container queries for component-level responsiveness ## Performance - Minimize selector complexity - Avoid deeply nested selectors - Use efficient selectors (class over element) - Leverage CSS containment for isolated components - Consider critical CSS for above-the-fold content ## Modern CSS Features - Use `aspect-ratio` for maintaining proportions - Leverage `gap` in Flexbox and Grid - Use logical properties (`margin-inline`, `padding-block`) - Implement smooth transitions with `transition` property - Use `@supports` for feature detection ## Organization - Structure stylesheets logically (base, layout, components, utilities) - Keep files modular and focused - Document complex styles with comments - Use a consistent property order within declarations ## Browser Compatibility - Use vendor prefixes when necessary (consider Autoprefixer) - Test across target browsers - Provide fallbacks for newer features - Use progressive enhancement approach ## Accessibility - Ensure sufficient color contrast (WCAG AA minimum) - Provide visible focus styles for keyboard navigation - Avoid hiding content in ways that affect screen readers - Use `prefers-reduced-motion` media query for animations
© Mindrally · Apache-2.0 · Mindrally/skills