Skip to content
Back to skills

Css Architecture

ASecurity

Organize stylesheets with scoping, co-location, and layer order so CSS stays deletable as the codebase grows. Use when structuring styles for a growing app or auditing a stylesheet nobody dares touch.

  • 7 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 5, 2026
ai-agents

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add Amey-Thakur/AI-SKILLS --skill css-architecture --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Css Architecture?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Css Architecture
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/amey-thakur-css-architecture/badge)](https://www.skillsdirectory.com/skills/amey-thakur-css-architecture)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: css-architecture
description: Organize stylesheets with scoping, co-location, and layer order so CSS stays deletable as the codebase grows. Use when structuring styles for a growing app or auditing a stylesheet nobody dares touch.
---

# CSS architecture

The health metric for CSS is deletability: when a component dies, its
styles must die with it, provably. Every practice here serves that.

## Method

1. **Co-locate styles with components.** One style unit per component,
   living next to it (CSS Modules, scoped SFC styles, utility classes in
   markup, or a `.css` imported by the component). Global stylesheets
   accumulate; co-located ones get deleted with their component.
2. **Pick one scoping mechanism and hold it.** CSS Modules or scoped
   styles for build-time isolation; utility classes for token-constrained
   markup styling; Shadow DOM only for embeddable widgets. Mixing idioms
   per-feature multiplies the knowledge needed to touch anything.
3. **Define the global layer order once.**
   `@layer reset, tokens, base, components, utilities;` in the entry
   stylesheet. Globals are exactly: reset, token definitions, element
   defaults (`base`), and shared utilities. Anything else claiming global
   status needs an argument.
4. **Style through stable interfaces.** Components expose modifiers
   (`data-variant`, props) and semantic tokens; parents size and position
   children (`grid-area`, width on the slot), never reach inside them
   (`.parent .child-internal` is the coupling that makes CSS undeletable).
5. **Keep specificity flat inside a scope.** One class or attribute
   selector deep (see css-cascade); state via `data-*` or aria attributes
   (`[aria-expanded="true"]`), which doubles as an accessibility
   contract.
6. **Delete with tooling, not archaeology.** Scoped styles make unused
   CSS visible (unimported file, unreferenced local class); CI can run
   coverage or lint for orphaned modules. A quarterly "grep the class
   name, delete the rule" pass keeps the base honest even without
   tooling.

## Boundaries

- Naming conventions (BEM) solved scoping before build tools did; adopt
  them only where no build-time scoping exists (CMS themes, legacy
  server-rendered apps).
- Print styles, email HTML, and rendered user content are separate
  stylesheets with their own rules; do not fold them into the app system.
- Architecture cannot fix an undesigned system; without tokens and
  components, organizing files is rearranging the pile.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…