Igniteui Angular Figma To App
IgniteUI/igniteui-angular
Builds Angular views from Figma designs with Ignite UI for Angular, supporting Indigo.Design kits, third-party kits, and plain frames.
Builds Ignite UI Web Components views from Figma designs, supporting Indigo.Design kits, third-party kits (Material 3, Fluent 2, shadcn/ui, Untitled UI, in-house), and plain frames.
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-app --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .claude/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .claude/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-appType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-app --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .agents/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .agents/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-app --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .cursor/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .cursor/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/IgniteUI/igniteui-webcomponents.git --path skills/igniteui-wc-figma-to-app--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-app --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .gemini/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .gemini/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-appInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .github/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .github/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install IgniteUI/igniteui-webcomponents igniteui-wc-figma-to-app --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/IgniteUI/igniteui-webcomponents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/igniteui-wc-figma-to-app .opencode/skills/igniteui-wc-figma-to-app && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "igniteui-wc-figma-to-app" agent skill from https://github.com/IgniteUI/igniteui-webcomponents/tree/master/skills/igniteui-wc-figma-to-app into .opencode/skills/igniteui-wc-figma-to-app/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "igniteui-wc-figma-to-app", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
igniteui-wc-figma-to-appBuilds Ignite UI Web Components views from Figma designs, supporting Indigo.Design kits, third-party kits (Material 3, Fluent 2, shadcn/ui, Untitled UI, in-house), and plain frames.
Igniteui Wc Figma To App is an agent skill from IgniteUI/igniteui-webcomponents. Builds Ignite UI Web Components views from Figma designs, supporting Indigo.Design kits, third-party kits (Material 3, Fluent 2, shadcn/ui, Untitled UI, in-house), and plain frames. Uses the Figma, Ignite UI CLI, Ignite UI Theming, and Playwright MCP servers. WHEN TO USE: implementing a Figma design, artboard, or Figma URL with Ignite UI Web Components, including inside React, Angular, or Vue apps. WHEN NOT TO USE: screenshots or mockups without a Figma file (use igniteui-wc-generate-from-image-design), component…
Its SKILL.md is about 7.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `references/asset-extraction.md`, `references/design-provenance.md` and `references/design-token-bridge.md`).
It sits in Frontend & Design, covering Theming and dark mode, MCP servers and Browser testing. It works with Figma, Angular, Model Context Protocol and shadcn/ui. The repository describes itself as: Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 834666d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Igniteui Wc Figma To App loads about 7.2k tokens when it runs, and up to ~55k if it reads all its reference files. Until then it costs about 177 tokens; SKILL.md has 3,504 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from IgniteUI/igniteui-webcomponents at commit 834666d, republished under its MIT licence (© IgniteUI). 3,504 words, ~7,243 tokens.
.claude/skills/igniteui-wc-figma-to-app/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Translate Figma app screens into production Web Components applications built with Ignite UI. The skill accepts designs from three kinds of source. A single file often mixes them, so every component is classified individually (Phase 1f):
| Tier | Source | How it maps to Ignite UI |
|---|---|---|
| A | The Infragistics Indigo.Design UI Kits (Material, Fluent, Bootstrap, Indigo variants, light and dark) | Directly, by kit layer name. The kit variant is the Ignite UI design system. |
| B | Any other component library: public kits such as Material 3, Fluent 2, Bootstrap, shadcn/ui, Untitled UI, or Ant, and in-house design systems | Variant properties are normalized to a canonical role, then mapped. The theme is fitted to a closest baseline design system. |
| C | Plain frames, groups, and detached instances | The role is inferred from structure and visuals, with lower confidence, and the user confirms it. |
Tier A gives the highest fidelity for the least effort. Tiers B and C reach high fidelity through token overrides, and record the remaining anatomy deltas (structural differences between the design's components and Ignite UI's) for the user to approve instead of hiding them.
Web Components ≠ Angular. The kits are shared across frameworks, but the implementation is not: tags are
igc-*, components must be registered withdefineComponents(...), theming is CSS-custom-property-first (Sass optional), and every component renders in shadow DOM — which changes how you style and how you measure. These differences are called out in each phase.
Complete all phases in order — do not skip phases or generate component code from memory. Every tag name, attribute, slot, and import path must come from get_doc / get_api_reference results, or from the reference files of the sibling igniteui-wc-choose-components skill — never guessed.
Read references/project-setup.md before Phase 0b (and its layout section in Phase 4). Read references/figma-exploration.md before Phase 1. Read references/design-provenance.md before Phase 1f. Read references/asset-extraction.md before Phase 1h. Read references/figma-component-map.md before Phase 2. Read references/theme-generation.md before Phase 3. Read references/design-token-bridge.md before Phase 3. Read references/validation-patterns.md before Phase 5.
Tool naming: this skill writes MCP tool names as
<server>_<tool>(e.g.figma_get_metadata,theming_create_theme). The exact name depends on the client — Claude Code exposes them asmcp__<server>__<tool>(e.g.mcp__figma__get_metadata). Match by the tool's base name on whatever server is connected.
Run these checks silently in parallel. Each verification call is a no-op if the server is not connected; do not surface raw errors to the user at this point.
| Server | Verification call | Success signal |
|---|---|---|
| Figma | Inspect the Figma tools (no call — quotas are small) | Tools listed. The configured server URL (or fileKey in the tool schema) tells remote from desktop |
| Ignite UI CLI | list_components with framework: "webcomponents" | Returns component list |
| Ignite UI Theming | theming_detect_platform | Returns webcomponents platform |
| Playwright | playwright_browser_navigate to about:blank | Navigates without error |
If any server fails, fix setup for that server only before continuing. For igniteui-cli and igniteui-theming, configure them yourself — run npx -y igniteui-cli ai-config (or ig ai-config) from the project root, which configures both. Add a missing Playwright entry yourself as well. The Figma servers need the user's action — the desktop server is enabled in the Figma desktop app, and the remote server signs in through Figma OAuth — so guide the user through the Figma setup. Full setup instructions for all servers are in references/mcp-setup.md. Newly configured MCP servers require an editor/session reload before their tools appear — ask the user to reload, then stop.
Check whether the working directory contains a package.json that lists igniteui-webcomponents, and a src/ entry module.
igniteui-webcomponents is MIT; grids, charts, and dock manager come as trial or @infragistics licensed packages), the host setup (plain Lit/vanilla, or a React/Angular/Vue wrapper), and whether Sass is configured (it decides the Phase 3 output format). Confirm the MCP configuration has all four server entries.npx -y igniteui-cli new, or to use an existing project directory, and wait for the user's choice.Read references/project-setup.md for the detection checklist, the exact messages to show the user, template selection, and the scaffolding steps.
Goal: understand the full design structure and capture all data needed for implementation and validation before writing any code.
Read references/figma-exploration.md in full before the first Figma MCP call. It has the call budget, how to tell the two Figma servers apart, exact tool arguments, extraction checklists, and table templates for each step:
| Step | What to do |
|---|---|
| 1a | Discover pages and artboards with figma_get_metadata. Record each target artboard's width and height — Phase 5 resizes the browser to them |
| 1b | List the artboards and wait for the user to choose which to implement |
| 1c | Capture one reference screenshot per artboard — the ground truth for Phase 5 |
| 1d | Extract design context per artboard: layers and variant props, layout, typography, surfaces, input variants, chart colors, color census, control heights, action controls, provenance signals |
| 1e | Extract design tokens with figma_get_variable_defs, once per target page |
| 1f | Classify every component's provenance (Tier A Indigo.Design kit / B other library / C plain frames) and normalize it to a canonical role; check Code Connect mappings |
| 1g | Build Table A (Ignite UI components, with tier, confidence, token work, and suspected anatomy deltas) and Table B (layout surfaces), then present both for review — low-confidence mappings first |
| 1h | Extract every image asset to the project's assets directory — zero-placeholder policy |
Key constraints:
figma_get_metadata first.mcp.figma.com) takes fileKey and nodeId, so you can move between artboards yourself. The desktop server (127.0.0.1:3845) works only on the file open in the Figma desktop app. Pass the node ID from a frame link and check the response, or ask the user to select each artboard and do not batch those calls.figma_get_design_context returns React + Tailwind code. Read it for information only — never copy it into the project, and never use its asset URLs as final assets.Goal: look up exact tags, attributes, slots, events, and registration requirements for every component identified in Phase 1. Never generate component code from memory.
Read references/figma-component-map.md in full. For each row of the Phase 1g Table A:
That row gives you the tag, the component class, the package, a get_doc starting point, and the key attributes and slots most often configured from Figma variants.
Doc names are not tag names (
navigation-drawer,text-area,data-grid,overviewfor combo). Never guess one — seefigma-component-map.md § Doc-name rules you will hit immediately.
Call list_components({ framework: "webcomponents" }) once to get the live catalog, then:
name from that list, and call get_doc({ framework: "webcomponents", name: "<doc-name>" }) — all in a single parallel batch, never sequentially. get_doc gives usage patterns, HTML examples, and slot names.get_api_reference({ platform: "webcomponents", component: "<ClassName>" }). Use search_api({ platform: "webcomponents", query: "<keyword>" }) first when the exact class name is unknown, and use the section or member parameters to keep responses small.get_project_setup_guide({ framework: "webcomponents" }) confirms registration, theme import, and package wiring when needed.Do not write any component markup until you have read its doc or API entry.
Use search_docs for feature-level questions raised by the artboard, for example:
search_docs({ framework: "webcomponents", query: "grid row editing" })
search_docs({ framework: "webcomponents", query: "grid virtualization" })
search_docs({ framework: "webcomponents", query: "column pinning" })Feature docs are mandatory when the artboard shows grid editing, filtering, sorting, pinning, or other advanced feature states.
After reading all docs, confirm or revise the Phase 1g table with:
<igc-grid>, <igc-navbar>) and component classes@infragistics licensed onefigma-component-map.md (defineComponents(...), IgcXxxComponent.register(), IgcGridLite.register(), ModuleManager.register(...), and defineComponents from igniteui-dockmanager)Anatomy delta ledger (Tier B and C). For every mapped component whose anatomy differs from the design in a way that tokens, ::part(...), or slotted content cannot close, add a ledger entry:
| Component | Design shows | Ignite UI renders | Options | Decision |
|---|---|---|---|---|
| e.g. Text fields (shadcn) | Label above the field | Label above (baseline bootstrap) | — | none needed |
| e.g. M3 segmented button | Check icon on the selected segment | igc-toggle-button, no check icon | Slot an igc-icon in the selected item / accept | ask |
| e.g. Bottom sheet | Sheet sliding from the bottom | No sheet component | igc-dialog styled / custom markup | ask |
Do not ledger differences that tokens can close: color, radius, border, casing, height, and spacing are implementation work, not deltas. For every interactive control, prefer the Ignite UI component with a recorded delta over hand-built markup. The component's keyboard, focus, ARIA, and form behavior are worth more than a pixel-exact but inert copy. Approved entries are classified Accepted in Phase 5.
If new packages are required (including an icon package for a third-party kit), identify exact packages and versions, then ask for approval before installing. Present this updated plan, with the ledger, to the user and wait for confirmation before Phase 3.
Goal: produce theming code that matches the Figma design's visual language, using the kit variables from Phase 1e (Path A) or the color census and measurements from Phase 1d (Path B).
Read references/theme-generation.md and references/design-token-bridge.md in full before running any theming tool. The steps are:
| Step | What to do |
|---|---|
| 3a | Inspect the entry point and global stylesheet. The CLI scaffold's starter theme counts as no theme. Reuse an app's own theme only if its variant, design system, and primary color all match the design; otherwise ask before changing it |
| 3b | Choose the path from the dominant Phase 1f tier. Path A (Indigo.Design kits): resolve the design system with the strict precedence order. Path B (other kits or none): pick the closest baseline — the user's request, then the kit's direct counterpart, then input label placement, then control heights. In a mixed file, count only rows that map to a component |
| 3c | CSS path: import the pre-built theme for the design system and variant, then add theming_create_palette overrides. Sass path: one theming_create_theme call (plus theming_create_palette for gray or status colors). Path B: seed from the color census, then override the type styles that differ (including button casing) with --ig-<style>-<property> CSS variables. Do not rely on customScale: theming_create_typography accepts it, but its generators ignore it |
| 3d | Map per-component tokens for every Ignite UI component in the plan, always passing designSystem and variant. Path B also sets radius, border, shadow, and state tokens, and picks --ig-size per component family from measured heights |
| 3e | Validate chart series colors with theming_get_chart_series_colors and assign them to the chart's brush properties (brushes/outlines; brush on sparkline, fillBrushes on treemap, the ring series on doughnut) |
Key constraints:
core() / theme() mixins.theming_create_palette takes primary/secondary/surface/gray/success/warn/error/info and variant, while theming_create_theme takes primaryColor/secondaryColor/surfaceColor (no gray).theming_create_elevations takes designSystem (material or indigo); there is no preset parameter.theming_set_spacing or theming_set_roundness multipliers. --ig-size is different: it is a size step (small / medium / large), not a multiplier. Path A keeps the default; Path B picks the nearest step per component family (3d).…/500. On a material baseline, buttons, checkboxes, and switches use secondary, so seed it with the button color.Goal: build the view(s) that match the artboard decomposition from Phase 2.
get_doc result, or the skill reference file when the catalog has no doc (Phase 2b).import { defineComponents, IgcNavbarComponent, IgcCardComponent } from 'igniteui-webcomponents';
defineComponents(IgcNavbarComponent, IgcCardComponent);IgcGridComponent.register(), Grid Lite IgcGridLite.register(), charts and gauges ModuleManager.register(IgcCategoryChartModule, …) from igniteui-webcomponents-core, and the dock manager defineComponents(IgcDockManagerComponent) from igniteui-dockmanager (trial) or @infragistics/igniteui-dockmanager (licensed). In a framework-wrapped app, follow igniteui-wc-integrate-with-framework instead. Registering components you do not use inflates the bundle — see igniteui-wc-optimize-bundle-size.::part(...) selectors → slotted content you style yourself. Never target internal class names. CSS custom properties do inherit through shadow roots, which is why all color work goes through palette variables.igc-list-item uses start / title / subtitle / end; igc-navbar uses start / end; igc-card composes igc-card-header, igc-card-content, igc-card-actions, igc-card-media. Confirm the slot names from get_doc before writing markup.data, chart dataSource, combo data) must be assigned on the element (.data=${rows} in Lit, el.dataSource = rows in plain JS). A serialized attribute silently fails. Assign chart brushes as properties too.igc*-prefixed (igcChange, igcInput, igcClosing, …) — take the exact names from get_api_reference, and remember there is no two-way binding.static styles) — not inline styles.line / box / border input types; Web Components expose a single boolean outlined attribute on igc-input, igc-textarea, igc-select, igc-combo, igc-date-picker, igc-date-range-picker, and the other input-base components. Map _Input/Border → outlined; map _Input/Line and _Input/Box → default (no outlined). For other kits, map the normalized style: outlined → outlined; filled / underlined → default. Label placement comes from the baseline design system (3b), not from an attribute. There is no global injection token equivalent — set the attribute on each control, and close any remaining gap with input-group component tokens rather than internal CSS.background, border-radius, padding, border, and box-shadow. Never leave a section transparent if the Figma surface has a background; never add a background to a section that floats on the page background in the design.Translate Figma frame dimensions into CSS Grid first, matching desktop proportions before adding breakpoints, and place each view where the project expects it. The grid pattern, the Lit host-display pitfall, and the per-view file layout are in references/project-setup.md § Implementation Layout.
Goal: measure and compare the running app against the Figma reference screenshots from Phase 1c. Use the measurement-driven loop — compare numbers, not impressions.
Read references/validation-patterns.md in full before running any Playwright tool.
Ask the user for the local dev URL if not already known (Vite default: http://localhost:5173).
playwright_browser_navigate({ url: "http://localhost:5173" })
playwright_browser_console_messages() // check for startup errorsUnregistered custom elements are a silent failure mode: the element renders as an empty inline box with no console error. If a section is missing, check defineComponents first.
playwright_browser_resize({ width: <artboard.width>, height: <artboard.height> })
playwright_browser_navigate({ url: "<target route>" }) // re-navigate after resizeAlways re-navigate after resize. The browser may reset to
about:blankon viewport change. This is a known Playwright MCP pitfall.
For each target artboard (run the full 5c–5f loop once per page):
playwright_browser_take_screenshot({ type: "png" })For each section with visible differences — and mandatorily for every entry in the Phase 1g Table B — use playwright_browser_evaluate to extract exact values. Pass code as a plain JavaScript function string using the function parameter.
Shadow DOM changes every measurement.
document.querySelector('igc-card .title')returnsnull— the inner nodes live in a shadow root. Measure the host element for box metrics, and pierce withel.shadowRoot.querySelector(...)(or::parttargets) for internals.references/validation-patterns.mdprovides a reusable deep-query helper — use it instead of writing ad-hoc selectors.
Run the three mandatory audits from validation-patterns.md on every page, and compare all returned values against the Figma spec from Phase 1d:
igc-* tag on the page is a defined custom element.| Severity | Category | Example | Action |
|---|---|---|---|
| Critical | Missing element | Button in Figma, absent in code | Fix |
| Major | Wrong component | Figma shows dropdown, code has text input | Fix |
| Major | Token-fixable | Wrong color shade, radius, border, casing, or height > 4px | Fix |
| Minor | Spacing off | 24px gap in Figma, 16px in code | Fix |
| Cosmetic | Rounding only | rgb(51, 51, 51) vs #333333; ≤ 4px size | Report only |
| Accepted | Approved delta | A ledger entry the user approved | Report only; not a retry |
The full table and the definitions are in validation-patterns.md § Mismatch Severity Classification. A visibly different color is Major, not Cosmetic. Accepted needs the user's approval of a ledger entry, from Phase 2d or added during Phase 5.
For each mismatch, produce:
ISSUE: <description>
LOCATION: <section or component>
FIGMA: <spec value>
RENDERED: <measured value>
SEVERITY: <Critical / Major / Minor / Cosmetic / Accepted>
FIX: <specific code change>Fix Critical, Major, and Minor issues. After applying fixes, re-navigate and take a fresh screenshot to confirm:
playwright_browser_navigate({ url: "<target route>" })
playwright_browser_take_screenshot({ type: "png" })Repeat the measure → fix → re-verify loop until only Cosmetic and Accepted items remain.
playwright_browser_snapshot()Check that:
aria-label)…/500. On a material baseline, controls use secondary.figma_get_metadata for discovery, then targeted figma_get_design_context per artboard, and figma_get_variable_defs once per target page. On the desktop server, check that each response describes the requested artboard. When you rely on the selection, ask the user to select each artboard first and do not batch those calls.igniteui-wc-choose-components — component catalogue, package routing, doc lookup patternsigniteui-wc-customize-component-theme — source of truth for palette behavior, global theme rules, and the theming systemigniteui-wc-integrate-with-framework — registration and binding in React, Angular, Vue, or vanilla JS hostsigniteui-wc-generate-from-image-design — fallback when no Figma file is available (static image input)igniteui-wc-optimize-bundle-size — keeping registrations and package imports lean© IgniteUI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (references) in skills/igniteui-wc-figma-to-app of IgniteUI/igniteui-webcomponents.
Open the folder on GitHubat commit 834666d
Igniteui Wc Figma To App next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Igniteui Wc Figma To App this skillIgniteUI/igniteui-webcomponents | 170 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Igniteui Angular Figma To AppIgniteUI/igniteui-angular | 599 | — | ~6.4k | Automated safety check: Pass | MIT | |
| Igniteui Angular Generate From Image DesignIgniteUI/igniteui-angular | 599 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Loora Design Guidelassejlv/loora | 140 | — | ~2.4k | Automated safety check: Pass | AGPL-3.0 | |
| Igniteui Angular ThemingIgniteUI/igniteui-angular | 599 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Mirroir Onboardjfarcand/mirroir-mcp | 247 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 |
IgniteUI/igniteui-angular
Builds Angular views from Figma designs with Ignite UI for Angular, supporting Indigo.Design kits, third-party kits, and plain frames.
IgniteUI/igniteui-angular
Implements Angular application views from design images using Ignite UI Angular components.
lassejlv/loora
Build, edit, refine, troubleshoot, and review polished responsive product interfaces through the Loora MCP server and its structured Canvas schemas.
IgniteUI/igniteui-angular
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.
jfarcand/mirroir-mcp
Onboard a consumer web app to mirroir's .mirroir/ dotfile by EXPLORING the running app (chrome-devtools-mcp) — derive real selectors from the accessibility tree, exercise each surface's primary…
BuilderIO/agent-native
Project-aware shadcn/ui components, registry MCP, theming, and design-system lint feedback.
IgniteUI/igniteui-webcomponents
Theme and style Ignite UI Web Components (and igniteui-react) apps using CSS custom properties, optional Sass, and the igniteui-theming MCP server.
IgniteUI/igniteui-webcomponents
Implement application views from design images (screenshots, mockups, wireframes) using Ignite UI Web Components, with the igniteui-cli and igniteui-theming MCP servers for component discovery…
IgniteUI/igniteui-webcomponents
Install and integrate Ignite UI Web Components packages into React, Angular, Vue 3, LitElement, or vanilla JS/HTML apps, detecting the framework and applying framework-specific setup (package…
IgniteUI/igniteui-webcomponents
Add a reactive property to an existing Lit web component with proper decorators, types, tests, specification updates, and documentation
IgniteUI/igniteui-webcomponents
Create a new Lit web component following project conventions, including specification, component class, styles, tests, Storybook story, and exports
IgniteUI/igniteui-webcomponents
Identify the right Ignite UI Web Components (igniteui-webcomponents, grids, charts, dock manager, React wrappers) for a UI requirement and point to official docs, examples, and API references.
Builds Ignite UI Web Components views from Figma designs, supporting Indigo.Design kits, third-party kits (Material 3, Fluent 2, shadcn/ui, Untitled UI, in-house), and plain frames. Igniteui Wc Figma To App is an agent skill from IgniteUI/igniteui-webcomponents.Design kits, third-party kits (Material 3, Fluent 2, shadcn/ui, Untitled UI, in-house), and plain frames.
Igniteui Wc Figma To App fits situations like: tasks that involve Theming and dark mode; tasks that involve MCP servers; tasks that involve Browser testing.
Run `npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a claude-code`. Or copy the skill folder (skills/igniteui-wc-figma-to-app in IgniteUI/igniteui-webcomponents) into .claude/skills/igniteui-wc-figma-to-app in your project. Claude Code loads it when a task matches its description.
Run `npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a codex`. Or copy the skill folder (skills/igniteui-wc-figma-to-app in IgniteUI/igniteui-webcomponents) into .agents/skills/igniteui-wc-figma-to-app in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add IgniteUI/igniteui-webcomponents --skill igniteui-wc-figma-to-app -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/igniteui-wc-figma-to-app, .gemini/skills/igniteui-wc-figma-to-app, .github/skills/igniteui-wc-figma-to-app and .opencode/skills/igniteui-wc-figma-to-app in your project.
Going by SKILL.md and its folder, Igniteui Wc Figma To App needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Igniteui Wc Figma To App is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.2k tokens (SKILL.md is roughly 29k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 48k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Igniteui Wc Figma To App: Igniteui Angular Figma To App (IgniteUI/igniteui-angular, 599 stars), Igniteui Angular Generate From Image Design (IgniteUI/igniteui-angular, 599 stars), Loora Design Guide (lassejlv/loora, 140 stars) and Igniteui Angular Theming (IgniteUI/igniteui-angular, 599 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
IgniteUI (a GitHub organization) maintains it in IgniteUI/igniteui-webcomponents, which has 170 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 9, 2026.
Source: IgniteUI/igniteui-webcomponents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.