Skip to content

Comments

Add Skills#16942

Merged
damyanpetev merged 19 commits intomasterfrom
add-user-skills
Feb 23, 2026
Merged

Add Skills#16942
damyanpetev merged 19 commits intomasterfrom
add-user-skills

Conversation

@zdrawku
Copy link
Contributor

@zdrawku zdrawku commented Feb 20, 2026

Add Ignite UI for Angular skills: Components, Grids (structure), Grids (Data Operations) and Theming

  • Components
  • Introduced a comprehensive skill for Ignite UI for Angular Data Grids, covering grid types, configuration, sorting, filtering, selection, editing, and advanced features.
  • Added a skill for theming Ignite UI for Angular applications, detailing the theming architecture, pre-built themes, custom Sass themes, component-level theming, and usage of the Theming MCP server.
  • Updated the copilot-instructions.md to include detailed descriptions for the new Grid Data Operations skill.
  • Added a new skill file igniteui-angular-grid-data-operations/SKILL.md covering data manipulation patterns including sorting, filtering, grouping, paging, and remote data operations.
  • Revised the existing igniteui-angular-grids/SKILL.md to reference the new Grid Data Operations skill and clarify the focus of each skill.
  • Enhance Ignite UI Angular Grids documentation with detailed grid selection guide, feature comparisons, and improved examples for Tree Grid and Hierarchical Grid. Introduce Grid Lite specifics and clarify Pivot Grid functionality. Update key rules for grid usage and data operations.

Note:

  • Other skills that may follow:
    • Skill: Performance Optimization - Virtual scrolling configuration, change detection strategies with Ignite UI components, OnPush compatibility, lazy loading component modules, and row/column virtualization tuning. Enterprise apps hit performance walls quickly and agents tend to generate naive implementations without this guidance.
    • Skill: Form Integration & Validation - How Ignite UI components integrate with Angular Reactive Forms and Template-driven Forms — things like using IgxInput inside FormGroups, custom validators with Ignite UI form controls, masked inputs, combo/select binding to form state. This is one of the highest-frequency pain points for Angular developers day-to-day
    • Skill: Data Visualization & Charts - You already identified this one. Ignite UI has a rich charting library (category charts, financial charts, geographic maps) with complex configuration around data binding, series types, axes, and animations. Agents frequently get chart configuration wrong without guidance, making this high value.

- Updated the `copilot-instructions.md` to include detailed descriptions for the new Grid Data Operations skill.
- Added a new skill file `igniteui-angular-grid-data-operations/SKILL.md` covering data manipulation patterns including sorting, filtering, grouping, paging, and remote data operations.
- Revised the existing `igniteui-angular-grids/SKILL.md` to reference the new Grid Data Operations skill and clarify the focus of each skill.
…ction guide, feature comparisons, and improved examples for Tree Grid and Hierarchical Grid. Introduce Grid Lite specifics and clarify Pivot Grid functionality. Update key rules for grid usage and data operations.
@gedinakova
Copy link
Contributor

@zdrawku The licensed packages should also be mentioned so agents know that this guidance applies to both.

Steps to reproduce:

  1. Open an app with our licensed package

  2. Using Sonnet 4.5, make it create an app with our components (e.g. car rental app)

  3. After creating the forms, imports are missing
    [ERROR] NG8001: 'igx-column' is not a known element:

  4. If 'igx-column' is an Angular component, then verify that it is included in the '@Component.imports' of this component.

  5. If 'igx-column' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@Component.schemas' of this component to suppress this message. [plugin angular-compiler]

  6. Prompt it to fix the errors

Result: All components are imported from '@infragistics/igniteui-angular' instead of each entry point.
image

Expected result: Imports for both types of packages should be from the specific entry points.

@zdrawku
Copy link
Contributor Author

zdrawku commented Feb 23, 2026

@zdrawku The licensed packages should also be mentioned so agents know that this guidance applies to both.

Steps to reproduce:

  1. Open an app with our licensed package
  2. Using Sonnet 4.5, make it create an app with our components (e.g. car rental app)
  3. After creating the forms, imports are missing
    [ERROR] NG8001: 'igx-column' is not a known element:
  4. If 'igx-column' is an Angular component, then verify that it is included in the '@Component.imports' of this component.
  5. If 'igx-column' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@Component.schemas' of this component to suppress this message. [plugin angular-compiler]
  6. Prompt it to fix the errors

Result: All components are imported from '@infragistics/igniteui-angular' instead of each entry point. image

Expected result: Imports for both types of packages should be from the specific entry points.

thanks @gedinakova, I have addressed your comment

@gedinakova
Copy link
Contributor

@zdrawku In an application with a non-editable grid, I prompt it to make it editable (I want to be able to edit available cars (data) through the grid itself). The result was that it read through igniteui-angular-components skill again instead of igniteui-angular-grid-data-operations skill.

@igdmdimitrov
Copy link
Contributor

igdmdimitrov commented Feb 23, 2026

@zdrawku, maybe some additional instructions are needed for providers:

New app created with Ignite UI CLI - Base with home page

Copied copilot-instructions.md and skills folder

Prompt: Create an IgxDialog with a form inside
Result: provideAnimations was not imported in app.config.ts leading to an error.

@zdrawku
Copy link
Contributor Author

zdrawku commented Feb 23, 2026

@zdrawku In an application with a non-editable grid, I prompt it to make it editable (I want to be able to edit available cars (data) through the grid itself). The result was that it read through igniteui-angular-components skill again instead of igniteui-angular-grid-data-operations skill.

Addressed, It was missing the editing capabilities from the description:

description: Cell editing, row editing, batch editing, sorting, filtering, grouping, paging, remote data, and virtualization patterns for Ignite UI Angular grids

@zdrawku
Copy link
Contributor Author

zdrawku commented Feb 23, 2026

@zdrawku, maybe some additional instructions are needed for providers:

New app created with Ignite UI CLI - Base with home page

Copied copilot-instructions.md and skills folder

Prompt: Create an IgxDialog with a form inside Result: provideAnimations was not imported in app.config.ts leading to an error.

Addressed, the skill was missing application setup instructions and required providers for animated components like overlay, combo, data pciker and so on.

@zdrawku
Copy link
Contributor Author

zdrawku commented Feb 23, 2026

@damyanpetev, lets approve and merge this PR, and continue with the testing/comments resolution on a new PR. This will help us get going with the docfx PR that provides a walkthrough for how SKILLs can be used:
https://github.com/IgniteUI/igniteui-docfx/pull/6377/changes

@zdrawku zdrawku removed the 💥 status: in-test PRs currently being tested label Feb 23, 2026
Comment on lines +150 to +152
Key inputs: `[data]`, `[valueKey]`, `[displayKey]`, `[groupKey]`, `[placeholder]`, `[allowCustomValues]`, `[filterFunction]`, `[itemsMaxHeight]`, `[type]`.

Events: `(opening)`, `(opened)`, `(closing)`, `(closed)`, `(selectionChanging)`, `(addition)`, `(searchInputUpdate)`.
Copy link
Member

Choose a reason for hiding this comment

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

Bit much on the combo API listing.. and the combo alone lol. Honestly, the model two-way is probably more than enough for 80-90% of uses anyway.

Comment on lines +201 to +204
onSortingDone(event: ISortingEventArgs) {
console.log('Sorted by:', event.fieldName, event.dir);
// Good place to trigger remote data fetch
}
Copy link
Member

Choose a reason for hiding this comment

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

Nah, sortingExpressionsChange is quite good for that and that's what the doc samples use, but sure. Arguably, the only sorting event worth mentioning.

Copy link
Member

@damyanpetev damyanpetev left a comment

Choose a reason for hiding this comment

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

Plenty of things to improve, but I agree this can go in now and continue testing after

@damyanpetev damyanpetev merged commit 25d9e2e into master Feb 23, 2026
5 checks passed
@damyanpetev damyanpetev deleted the add-user-skills branch February 23, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants