Skip to content

(feat): New skill for generating apps/views from image#17181

Merged
kdinev merged 17 commits intomasterfrom
feat/app-from-image-skill
Apr 21, 2026
Merged

(feat): New skill for generating apps/views from image#17181
kdinev merged 17 commits intomasterfrom
feat/app-from-image-skill

Conversation

@dkalinovInfra
Copy link
Copy Markdown
Contributor

@dkalinovInfra dkalinovInfra commented Apr 15, 2026

Add igniteui-angular-generate-from-image-design Copilot Skill

Summary

Introduces a new AI skill that enables Copilot to implement Angular application views directly from design images (screenshots, mockups, wireframes) using Ignite UI Angular components.

What's included

  • skills/igniteui-angular-from-design/SKILL.md — The main skill definition with a step-by-step workflow: analyze design → detect platform → discover components via MCP → generate theme →
    implement → iterate on visual fidelity.
  • skills/.../references/component-mapping.md — Reference table mapping common UI patterns (charts, maps, gauges, navigation, data display) to their corresponding Ignite UI components,
    including package requirements and import patterns.
  • skills/.../references/gotchas.md — Documented pitfalls and workarounds for Sass conflicts, chart/component property mismatches, DV theming limitations, map dark styling, and dark theme
    setup.

How it works

When a user provides a design image and asks Copilot to "implement this design" or "build this UI", the skill guides the agent through:

  1. Analyzing the image for layout, components, colors, and data patterns
  2. Using MCP servers (igniteui, igniteui-theming, angular-cli) for component discovery and theme generation
  3. Building the Angular view with proper standalone components, signals, and OnPush change detection
  4. Iterating on visual fidelity by comparing output against the original design

Notes

  • No existing files are modified — this is a purely additive change.
  • No production code, tests, or build configuration is affected.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Copilot skill intended to guide implementing Angular views directly from design images using Ignite UI Angular components, plus reference material for common mappings and pitfalls.

Changes:

  • Added igniteui-angular-from-design skill definition and workflow for image-to-view implementation.
  • Added component mapping reference for common UI patterns → Ignite UI components/packages.
  • Added “gotchas” reference covering theming/Sass pitfalls and DV component caveats.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 16 comments.

File Description
skills/igniteui-angular-from-design/SKILL.md New skill workflow and MCP-driven process for implementing views from design images.
skills/igniteui-angular-from-design/references/component-mapping.md Reference tables mapping UI patterns to Ignite UI components, packages, and import patterns.
skills/igniteui-angular-from-design/references/gotchas.md Reference list of known pitfalls for Sass/theming and DV component usage.

Comment thread skills/igniteui-angular-from-design/references/component-mapping.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/references/component-mapping.md Outdated
Comment thread skills/igniteui-angular-from-design/references/component-mapping.md Outdated
Comment thread skills/igniteui-angular-from-design/references/component-mapping.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/references/component-mapping.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
Comment thread skills/igniteui-angular-from-design/references/gotchas.md Outdated
@georgianastasov georgianastasov removed their request for review April 21, 2026 10:47
@georgianastasov georgianastasov self-assigned this Apr 21, 2026
@kdinev
Copy link
Copy Markdown
Member

kdinev commented Apr 21, 2026

Related to IgniteUI/igniteui-cli#1647

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comment thread skills/igniteui-angular-generate-from-image-design/SKILL.md
Comment thread skills/igniteui-angular-generate-from-image-design/SKILL.md Outdated
Comment thread skills/igniteui-angular-generate-from-image-design/references/gotchas.md Outdated
georgianastasov and others added 3 commits April 21, 2026 15:05
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…gotchas.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…component-mapping.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@kdinev kdinev requested a review from Copilot April 21, 2026 13:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

2. **Confirm package layout if needed** - this skill is Angular-only; check package layout or licensing only when imports, packages, or theming depend on it
3. **Discover components** - Call `list_components` with targeted filters to find matching components for each UI pattern
4. **Look up component docs** - Call `get_doc` for every chosen component family before coding
5. **Generate theme** - (a) To generate a theme, first extract colors and create a color palette using `create_palette` or `create_custom_palette` depending on the scenario. Then extract elevations and call `create_elevations`. Then extract typography and call `create_typography`. Then call `create_theme` with the palette, elevations, and typography. (b) After a theme exists, prefer using design tokens or scoped semantic CSS variables over raw literals. (c) For every Ignite UI component, call `get_component_design_tokens`, map extracted image tokens to token roles, then call `create_component_theme` with the tokens differing from the global theme for the specific component.
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Workflow step 5 references create_elevations and create_typography, but those tools don’t appear anywhere else in this repo (and the theming skill documents create_theme as the tool that generates palette/typography/elevations together). Update this step to match the actual Ignite UI theming MCP toolchain, otherwise agents following this skill will call non-existent tools.

Suggested change
5. **Generate theme** - (a) To generate a theme, first extract colors and create a color palette using `create_palette` or `create_custom_palette` depending on the scenario. Then extract elevations and call `create_elevations`. Then extract typography and call `create_typography`. Then call `create_theme` with the palette, elevations, and typography. (b) After a theme exists, prefer using design tokens or scoped semantic CSS variables over raw literals. (c) For every Ignite UI component, call `get_component_design_tokens`, map extracted image tokens to token roles, then call `create_component_theme` with the tokens differing from the global theme for the specific component.
5. **Generate theme** - (a) Extract the design's colors, typography, and elevation intent from the image. Create a color palette using `create_palette` or `create_custom_palette` when needed, then call `create_theme` using the extracted design inputs and palette so the global Ignite UI theme is generated with palette, typography, and elevations together. (b) After a theme exists, prefer using design tokens or scoped semantic CSS variables over raw literals. (c) For every Ignite UI component, call `get_component_design_tokens`, map extracted image tokens to token roles, then call `create_component_theme` with the tokens differing from the global theme for the specific component.

Copilot uses AI. Check for mistakes.
Comment thread skills/igniteui-angular-generate-from-image-design/SKILL.md Outdated
Comment on lines 57 to 61

### Chart Type Selection
- **Category Chart**: `chartType` property (Auto, Area, Column, Line, Point, etc.)
- **Financial Chart**: `chartType` property (Line, Candlestick, OHLC Bar)
- **Financial Chart**: `chartType` property (Auto, Candle, Line, Bar, Column)
- **Data Chart**: Configure explicit series (IgxAreaSeriesComponent, IgxBarSeriesComponent, IgxBarSeries, etc.)
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description states “No existing files are modified”, but this PR updates the existing charts reference file under skills/igniteui-angular-components/. Please update the PR description (or move this change into a separate PR) so the description matches what’s actually being changed.

Copilot uses AI. Check for mistakes.
Comment on lines +102 to +103
[brushes]="'<resolved-series-brush>'"
[outlines]="'<resolved-series-outline>'"
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the DV theming example, [brushes] / [outlines] are shown as binding to a single string (wrapped in quotes), but elsewhere in this repo they’re documented as string[] inputs (skills/igniteui-angular-components/references/charts.md:246-247). Update the example to bind an array/collection (e.g., a 1+ element array) so it matches the actual API shape and doesn’t mislead readers into passing a string.

Suggested change
[brushes]="'<resolved-series-brush>'"
[outlines]="'<resolved-series-outline>'"
[brushes]="['<resolved-series-brush>']"
[outlines]="['<resolved-series-outline>']"

Copilot uses AI. Check for mistakes.
| Tabbed content | `IgxBottomNavComponent` or `IgxTabsComponent` | Panel-based or router-based |
| Accordion sections | `IgxAccordionComponent` | `IgxExpansionPanelComponent` children |
| Split layouts | `IgxSplitterComponent` | Horizontal/vertical panes |
| Tile dashboard | `IgxTileManagerComponent` | Drag/resize tiles (Premium) |
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “Tile dashboard” row references IgxTileManagerComponent, but this repo’s established guidance treats Tile Manager as the igc-tile-manager web component shipped via igniteui-webcomponents (see skills/igniteui-angular-components/references/layout-manager.md:417+). To avoid misleading imports/component choices, update this mapping row to match the existing Tile Manager guidance (web component + package), or remove it if out of scope for this skill.

Suggested change
| Tile dashboard | `IgxTileManagerComponent` | Drag/resize tiles (Premium) |
| Tile dashboard | `igc-tile-manager` | Drag/resize tiles via the `igniteui-webcomponents` web component (Premium) |

Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@kdinev kdinev merged commit 1f0264e into master Apr 21, 2026
6 checks passed
@kdinev kdinev deleted the feat/app-from-image-skill branch April 21, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants