angular-styling

Applies Angular CSS and SCSS conventions for component scoping, tokens, and responsive styling.

1|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/envoydev/claude-stack --skill angular-styling-envoydev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: angular-styling
Source: https://github.com/envoydev/claude-stack/tree/main/stack/skills/angular-styling
Command: npx skills add https://github.com/envoydev/claude-stack --skill angular-styling-envoydev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Angular teams often struggle with style leaks, broken encapsulation, deprecated ::ng-deep overrides, and inconsistent theming across components. This Skill encodes settled house conventions for writing CSS and SCSS in Angular workspaces so styles stay scoped, accessible, and maintainable. ## Core Features & Use Cases - Encapsulation guidance: Enforces ViewEncapsulation.Emulated, correct :host and :host-context usage, and three sanctioned alternatives to the deprecated ::ng-deep. - Design tokens and theming: Defines design tokens as CSS custom properties on :root with light/dark re-binding, plus Ionic shadow-DOM styling rules for ion-* components. - Responsive and accessible styling: Covers mobile-first layout, container queries, fluid type with clamp(), focus-visible, prefers-reduced-motion, and WCAG 2.2 AA contrast requirements. - Use Case: When styling a new Angular card component that must adapt to its container and support dark mode, load this Skill to get the correct scoped stylesheet structure, token-based theming, and container query pattern without reaching for ::ng-deep. ## Quick Start Load the angular-styling skill and review the SCSS for my Angular component to fix any encapsulation or theming violations.

Frequently Asked Questions about angular-styling

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

FAQPage Schema
How do I style child components in Angular without ::ng-deep?▼

Use a CSS custom property as a theming contract: the child exposes a variable like --card-padding and the parent sets it, since custom properties pierce encapsulation by design. Alternatives are a global stylesheet rule targeting a stable class, or ViewEncapsulation.None on a small leaf component.

What ViewEncapsulation mode should Angular components use?▼

Use the default ViewEncapsulation.Emulated everywhere unless a specific reason says otherwise. None makes all selectors global and suits only deliberate global leaf components, while ShadowDom breaks :host-context and blocks global themes, fitting only self-contained distributable widgets.

Why do global styles not work on Ionic ion-* components?▼

Ionic components use real shadow DOM, which blocks inbound global styles silently. Style them only through their published CSS custom properties like --background and --ion-* theme variables, or their ::part() selectors, both of which cross the shadow boundary by design.

Should I use Tailwind or scoped SCSS in an Angular project?▼

The house default is scoped component SCSS with a CSS custom property token system, keeping styles beside components and leveraging Angular encapsulation. Adopt Tailwind only on explicit team opt-in for design-system-driven apps, installed via ng add tailwindcss, and never mix both ad hoc.

How do I make Angular component styles accessible?▼

Style focus with :focus-visible instead of removing outlines, wrap non-essential animations in a prefers-reduced-motion media query, and meet WCAG AA contrast of 4.5:1 for text and 3:1 for large text and non-text UI. Verify by measuring computed contrast ratios and running stylelint.

When should I use container queries vs media queries in Angular?▼

Use container queries with container-type: inline-size when a component must adapt to the space it is dropped into, such as a card in a variable-width sidebar. Reserve viewport media queries for page-level layout, and write all styles mobile-first with min-width overrides.