igniteui-angular-theming
Generates and customizes Ignite UI for Angular themes including color palettes, typography, elevations, and component-level styles using the Sass theming system and the igniteui-theming MCP server. Use when users ask to theme, restyle, or style Ignite UI components, change colors or the color palette, switch between light and dark themes, create or apply a global theme, customize typography or elevation shadows, adjust spacing, sizing, or roundness, or configure per-component design tokens.
Install
mkdir -p .claude/skills/igniteui-angular-theming && curl -L -o skill.zip "https://mcp.directory/api/skills/download/7981" && unzip -o skill.zip -d .claude/skills/igniteui-angular-theming && rm skill.zipInstalls to .claude/skills/igniteui-angular-theming
About this skill
Ignite UI for Angular — Theming Skill
Description
This skill teaches AI agents how to theme Ignite UI for Angular applications using the Sass-based theming system and the Ignite UI Theming MCP server. It covers global themes, palettes, typography, elevations, component-level theming, layout controls (spacing, sizing, roundness), and how to use the MCP tools for code generation.
Prerequisites
- An Angular project with
igniteui-angularinstalled, or@infragistics/igniteui-angularfor licensed users - Sass support enabled in the project (default for Angular CLI projects)
- The Ignite UI Theming MCP server (
igniteui-theming) available as a tool provider
AGENT INSTRUCTION — MCP Server Setup (REQUIRED)
Before using any theming tools, you MUST verify the MCP server is available by calling
detect_platform. If the tool is not available or the call fails, you MUST automatically configure it by following the setup process steps described below.After writing the file, inform the user that the MCP server has been configured and they may need to reload the editor for the tools to activate. Start the MCP server and wait for that MCP server to start before continuing the theming related work. Do NOT skip this step or ask the user to do it manually.
Setting Up the Theming MCP Server
Full setup instructions for VS Code, Cursor, Claude Desktop, and JetBrains IDEs are in
references/mcp-setup.md. Read that file for editor-specific configuration steps and verification.
Theming Architecture
Docs: Theming Overview · Palette · Typography · Elevations
The Ignite UI theming system is built on four pillars:
| Concept | Purpose |
|---|---|
| Palette | Color system with primary, secondary, surface, gray, info, success, warn, error families, each with shades 50–900 + accents A100–A700 |
| Typography | Font family, type scale (h1–h6, subtitle, body, button, caption, overline) |
| Elevations | Box-shadow levels 0–24 for visual depth |
| Schema | Per-component recipes mapping palette colors to component tokens |
Design Systems
Four built-in design systems are available:
- Material (default) — Material Design 3
- Bootstrap — Bootstrap-inspired
- Fluent — Microsoft Fluent Design
- Indigo — Infragistics Indigo Design
Each has light and dark variants (e.g., $light-material-schema, $dark-fluent-schema).
Pre-built Themes
The quickest way to theme an app is to include a pre-built CSS file in angular.json:
"styles": ["node_modules/igniteui-angular/styles/igniteui-angular.css"]
Licensed package users: replace
igniteui-angularwith@infragistics/igniteui-angularin the path:"styles": ["node_modules/@infragistics/igniteui-angular/styles/igniteui-angular.css"]
Available pre-built CSS files:
| File | Theme |
|---|---|
igniteui-angular.css | Material Light |
igniteui-angular-dark.css | Material Dark |
igniteui-fluent-light.css | Fluent Light |
igniteui-fluent-dark.css | Fluent Dark |
igniteui-bootstrap-light.css | Bootstrap Light |
igniteui-bootstrap-dark.css | Bootstrap Dark |
igniteui-indigo-light.css | Indigo Light |
igniteui-indigo-dark.css | Indigo Dark |
All files are located under node_modules/igniteui-angular/styles/ (or node_modules/@infragistics/igniteui-angular/styles/ for the licensed package).
Custom Sass Theme (Manual)
AGENT INSTRUCTION — Sass Theming Docs: If the user explicitly asks to build a Sass-based theme or configure Sass, refer to the dedicated Sass documentation:
Create a styles.scss file and include it in angular.json:
// Open-source package
@use 'igniteui-angular/theming' as *;
// Licensed package — same Sass API, different import path
// @use '@infragistics/igniteui-angular/theming' as *;
$my-palette: palette(
$primary: #1976d2,
$secondary: #ff9800,
$surface: #fafafa,
);
// 2. Typography (optional)
@include typography($font-family: $material-typeface, $type-scale: $material-type-scale);
// 3. Core reset & base styles
@include core();
// 4. Apply theme
@include theme($palette: $my-palette, $schema: $light-material-schema);
For dark themes, use a dark surface color and a dark schema:
$dark-palette: palette(
$primary: #90caf9,
$secondary: #ffb74d,
$surface: #121212,
);
@include theme($palette: $dark-palette, $schema: $dark-material-schema);
Component-Level Theming
Docs: Component Themes
Override individual component appearance using component theme functions and the tokens mixin.
AGENT INSTRUCTION — No Hardcoded Colors (CRITICAL)
Once a palette has been generated (via
palette()in Sass orcreate_palette/create_themevia MCP), every color reference MUST come from the generated palette tokens — never hardcode hex/RGB/HSL values.Use
var(--ig-primary-500),var(--ig-secondary-300),var(--ig-surface-500), etc. in CSS, or theget_colorMCP tool to obtain the correct token reference.WRONG (hardcoded hex — breaks theme switching, ignores the palette):
$custom-avatar: avatar-theme( $background: #e91e63, $color: #ffffff, );RIGHT (palette token — stays in sync with the theme):
$custom-avatar: avatar-theme( $schema: $light-material-schema, $background: var(--ig-primary-500), $color: var(--ig-primary-500-contrast), );This applies to all style code: component themes, custom CSS rules, Sass variables used for borders/backgrounds/text, Angular
hostbindings, and inline styles. The only place raw hex values belong is the initialpalette()call that seeds the color system. Everything downstream must reference the palette.
@use 'igniteui-angular/theming' as *;
$custom-avatar: avatar-theme(
$schema: $light-material-schema,
$background: var(--ig-primary-500),
$color: var(--ig-primary-500-contrast),
);
igx-avatar {
@include tokens($custom-avatar);
}
Discovering Available Tokens
Each component has its own set of design tokens (themeable CSS custom properties). Before theming a component, you must know which tokens exist. Use the MCP tool get_component_design_tokens to discover them.
Compound Components
Some components (e.g., combo, grid, date-picker, select) are compound — they contain internal child components, each requiring their own theme. For example, date-picker uses calendar, flat-button, and input-group internally.
Workflow for compound components:
- Call
get_component_design_tokensfor the parent (e.g.,date-picker) - The response lists related themes and scope selectors
- Call
create_component_themefor each child, using the parent's selector as the wrapper
Layout Controls
Sizing
Docs: Display Density / Sizing
Controls the size of components via --ig-size (values: 1 = small, 2 = medium, 3 = large):
/* Global */
:root {
--ig-size: 2;
}
/* Component-scoped */
igx-grid {
--ig-size: 1;
}
Spacing
Docs: Spacing
Controls internal padding via --ig-spacing (1 = default, 0.5 = compact, 2 = spacious):
:root {
--ig-spacing: 1;
}
.compact-section {
--ig-spacing: 0.75;
}
Roundness
Controls border-radius via --ig-radius-factor (0 = square, 1 = maximum radius):
:root {
--ig-radius-factor: 1;
}
igx-avatar {
--ig-radius-factor: 0.5;
}
Using the Theming MCP Server
The Ignite UI Theming MCP server provides tools for AI-assisted theme code generation.
IMPORTANT — File Safety Rule: When generating or updating theme code, never overwrite existing style files directly. Instead, always propose the changes as an update and let the user review and approve before writing to disk. If a
styles.scss(or any target file) already exists, show the generated code as a diff or suggestion rather than replacing the file contents. This prevents accidental loss of custom styles the user has already written.
Always follow this workflow:
Step 1 — Detect Platform
Tool: detect
---
*Content truncated.*
More by igniteui
View all skills by igniteui →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversMermaid Diagram Generator converts Mermaid diagrams to crisp PNGs with customizable themes and backgrounds for perfect v
Quickly rp prototype web apps with Scaffold Generator: create consistent scaffolding using templates, variable substitut
Create interactive visualizations and charts with VChart, a powerful data analysis tool and pie chart maker for flexible
APIWeaver converts any REST API into MCP tools at runtime, supporting multiple auth methods and auto-generating MCP-comp
Easily manage WP sites: posts, pages, users, plugins, themes, comments & more. Reliable wp manage tools integrated with
Dual-Cycle Reasoner enables agents to detect repetitive behavior, diagnose failure causes, and recover with advanced met
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.