-
Notifications
You must be signed in to change notification settings - Fork 160
(feat): New skill for generating apps/views from image #17181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 16 commits
5efeacd
8baaa90
d6d3f64
1be560f
aa08763
f2c4c1c
06b8a98
0035f12
fcede66
5b789de
137b788
9b4304d
8d2b9ad
09f441d
1ceca02
cce0521
1f72b1f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,226 @@ | ||||||
| --- | ||||||
| name: igniteui-angular-generate-from-image-design | ||||||
| description: Implement Angular application views from design images using Ignite UI Angular components. Uses MCP servers (igniteui-cli, igniteui-theming, angular-cli) to discover components, generate themes, and follow best practices. Triggers when the user provides a design image (screenshot, mockup, wireframe) and wants it built as a working Angular view with igniteui-angular components. Also triggers when the user asks to "implement this design", "build this UI", "convert this mockup", or "create a page from this image" in an Ignite UI Angular project. | ||||||
| user-invocable: true | ||||||
|
georgianastasov marked this conversation as resolved.
|
||||||
| --- | ||||||
|
|
||||||
| # Implementing Ignite UI Angular Views from Design Images | ||||||
|
|
||||||
| ## MANDATORY AGENT PROTOCOL | ||||||
|
|
||||||
| Before writing any implementation code, you must complete these steps in order: | ||||||
|
|
||||||
| 1. Analyze the image and identify all visible regions and UI patterns. | ||||||
| 2. Read [references/component-mapping.md](references/component-mapping.md) and [references/gotchas.md](references/gotchas.md). | ||||||
| 3. This skill is Angular-only. Check package layout or licensing only when imports, packages, or theming depend on it. | ||||||
| 4. To apply a theme, use the theming workflow from this skill and the dedicated `igniteui-angular-theming` skill; use the `igniteui-theming` MCP tools instead of styling from memory. | ||||||
| 5. Call `get_doc` for every chosen component family before using it. | ||||||
| 6. Only then start coding. | ||||||
|
|
||||||
| ## Workflow | ||||||
|
|
||||||
| 1. **Analyze the design image** - Read the image, identify every UI section, component, layout structure. | ||||||
| 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. | ||||||
|
||||||
| 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. |
There was a problem hiding this comment.
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.