Add Ignite UI Blazor skill - #994
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request introduces a new dotnet-blazor skill that guides developers through integrating Ignite UI (including GridLite) into Blazor apps—especially split Blazor Web Apps—and adds a capability eval to validate that the skill produces concrete, file-oriented setup steps.
Changes:
- Added a new skill document (
SKILL.md) describing NuGet packages, service registration,_Imports.razor, host-page assets, and render-mode guidance for Ignite UI in Blazor. - Added a new evaluation spec (
eval.yaml) to test that responses include the required packages,AddIgniteUIBlazor()registration,_Imports.razorusage, and asset linking details.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tests/dotnet-blazor/use-igniteui-blazor/eval.yaml | Adds a capability eval that checks for key Ignite UI integration details in the model output. |
| plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md | Adds the new skill guidance for installing/configuring Ignite UI (Lite + GridLite) across Blazor project types. |
Suppressed comments (2)
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md:84
- The fingerprinted asset example also uses the
_content/IgniteUI.Blazor/...root; if the intent is to document the Lite package setup, this should reference the Lite asset root for consistency with the rest of the setup steps.
<link rel="stylesheet" href="@Assets["_content/IgniteUI.Blazor/themes/light/bootstrap.css"]" />
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md:79
- The theme path description still points to
_content/IgniteUI.Blazor/themes/, which doesn’t match the recommendedIgniteUI.Blazor.Litepackage in this skill. Aligning the documented_contentroot avoids confusion about which static asset base path to use.
Theme files under `_content/IgniteUI.Blazor/themes/` are `{light|dark}/{bootstrap|material|fluent|indigo}.css` — link exactly one.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - type: output-contains | ||
| config: | ||
| substring: server and client Program.cs | ||
| - type: prompt |
|
Tagging @danroth27 and @javiercn to help review. |
| license: MIT | ||
| name: use-igniteui-blazor | ||
| description: > | ||
| Add, configure, or review Ignite UI component support in Blazor applications. |
There was a problem hiding this comment.
I think maximum of 1024 chars, please check if it fits
There was a problem hiding this comment.
The eval infra should flag if it exceeds.
| builder.Services.AddIgniteUIBlazor(); // all modules available | ||
| ``` | ||
|
|
||
| Pass `typeof(Igb<Name>Module)` values to eagerly pre-load a specific set instead: |
There was a problem hiding this comment.
Do you want to provide an example?
| defaults: | ||
| timeout: 10m | ||
| runs: 5 | ||
| stimuli: |
There was a problem hiding this comment.
This eval runs the same scenario five times, so it does not test the other supported setups, for example single project blazor server, MAUI blazor hybrid, GridLite only setup
|
/evaluate |
There was a problem hiding this comment.
Review details
Suppressed comments (4)
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md:74
- The static web asset paths in this example point at
_content/IgniteUI.Blazor/..., which corresponds to the non-Lite package. Since this skill instructs installingIgniteUI.Blazor.Lite, the CSS/JS URLs should use_content/IgniteUI.Blazor.Lite/...or users will get 404s and the components won’t load.
<link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />
...
<script src="_content/IgniteUI.Blazor/app.bundle.js"></script>
<script src="_framework/blazor.web.js"></script> <!-- or blazor.server.js / blazor.webassembly.js / blazor.webview.js -->
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md:79
- This path should also use the
IgniteUI.Blazor.Litestatic asset root to match the package name used elsewhere in the skill; otherwise the guidance is inconsistent and likely wrong for OSS Lite installs.
Theme files under `_content/IgniteUI.Blazor/themes/` are `{light|dark}/{bootstrap|material|fluent|indigo}.css` — link exactly one.
tests/dotnet-blazor/use-igniteui-blazor/eval.yaml:46
- This grader is very brittle: the skill text says “both the server and the client
Program.cs”, which won’t match the exact substringserver and client Program.cs. Using a case-insensitive regex makes the check resilient while still enforcing that both sides are mentioned.
- type: output-contains
config:
substring: server and client Program.cs
- type: prompt
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md:84
- This fingerprinted asset example should use the
IgniteUI.Blazor.Litestatic asset root to match the package name used elsewhere in the skill; otherwise it won’t resolve for OSS Lite installs.
<link rel="stylesheet" href="@Assets["_content/IgniteUI.Blazor/themes/light/bootstrap.css"]" />
- Files reviewed: 2/2 changed files
- Comments generated: 0 new
- Review effort level: Lite
|
|
@kdinev , @kotlarmilos : Would you mind moving these changes to a branch against this repo please? That would help get PR evaluations going. They do not run against branches in forks. |
Summary
This pull request adds a new skill for integrating Ignite UI components into Blazor applications, along with an evaluation test for the skill. The main focus is to provide clear, file-oriented guidance for adding and configuring Ignite UI in various Blazor project types, especially split Blazor Web Apps.
Related issue
Validation
Introduced a new evaluation YAML (
eval.yaml) that tests the skill’s ability to provide concrete, file-specific integration steps for using Ignite UI in a split Blazor Web App. The evaluation checks for explicit package references, service registration in both server and client, correct_Imports.razorusage, proper asset linking, and file-oriented instructions.Checklist
eng/known-domains.txtfor any new external domains referenced by skill content.