Blazor Toolkit open source component configuration skill file included. - #1088
Blazor Toolkit open source component configuration skill file included.#1088Indhumathy-Loganathan wants to merge 75 commits into
Conversation
Toolkit skills
Compatibility changes included.
Skills files for Chart component included.
|
@Indhumathy-Loganathan : Thank you for your contribution. Would you mind adding evals for the skills you've proposed based on the guidance here: https://github.com/dotnet/skills/blob/main/CONTRIBUTING.md#testing-and-validation? Without evals it's hard for us to assess the usefulness of skills. |
Address PR review feedback: fix grader regexes (DateTime?, Theme, OpensOn), tighten Disabled and Label graders, enforce fully-qualified ChartSeriesType, correct output-not-contains to output-not-matches, add async void guards, tighten namespace checks, and shorten stimulus names. Aligns the commit message with the PR title.
@dotnet-policy-service agree company="Syncfusion" |
@AbhitejJohn , We have included the evals as suggested. Please check. |
There was a problem hiding this comment.
🟡 Changes recommended
There are eval/doc issues that are internally inconsistent or overly broad (causing false failures or misleading guidance) and should be corrected before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR introduces the initial Syncfusion Blazor Toolkit skill pack (skills + reference docs) and adds Vally eval coverage to validate the new skills’ expected outputs and guidance.
Changes:
- Added new Syncfusion Blazor Toolkit skills (Popups router + Dialog, Notifications/Spinner, Inputs, Calendars, Buttons) with supporting reference documentation.
- Added a new Charts reference documentation set to guide correct Toolkit usage patterns (enums, events, axes, styling, accessibility).
- Added Vally eval specs under
tests/dotnet-blazor-toolkit/to validate correct component selection and key anti-pattern avoidance.
File summaries
| File | Description |
|---|---|
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-popups/eval.yaml | New eval coverage for dialog-vs-tooltip component choice. |
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-notifications/eval.yaml | New eval coverage for SfSpinner binding, accessibility label, and async render timing. |
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-inputs/eval.yaml | New eval coverage for Toolkit input components (binding + validation patterns). |
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-charts/eval.yaml | New eval coverage for Toolkit charts setup, enums, theming, and package naming. |
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-calendars/eval.yaml | New eval coverage for calendar/date/time pickers (TValue, UTC, binding patterns). |
| tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-buttons/eval.yaml | New eval coverage for Toolkit button patterns (async handlers, accessibility, anti-patterns). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-popups/SKILL.md | Popups router skill defining decision matrix and routing to sub-skills. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-popups/router/dialog-vs-tooltip-decision-matrix.md | Supporting decision-matrix reference for dialog vs tooltip usage. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-popups/dialog/SKILL.md | Dialog sub-skill guidance, patterns, and anti-pattern workflows. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-popups/dialog/references/dialog-properties.md | Dialog API reference (properties/events/methods). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-notifications/SKILL.md | Spinner-focused notifications/loading skill guidance. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-notifications/references/spinner-template.md | Spinner templating + customization reference. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-notifications/references/spinner-overlay.md | Overlay composition patterns for spinners (page/region/modal). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-notifications/references/accessibility-best-practices.md | Accessibility guidance for spinner usage. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-inputs/SKILL.md | Inputs skill guidance (binding, validation, SSR constraints). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-inputs/references/getting-started-inputs.md | Inputs “getting started” reference and examples. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/interactive-features.md | Charts interactivity reference (tooltip/crosshair/zoom/selection). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/events.md | Charts event wiring reference (<ChartEvents> surface). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/data-handling.md | Charts data-source guidance (lists, managers, live updates). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/chart-types-specialized.md | Specialized chart types reference (stacked/scatter/bubble/etc.). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/axes-and-scales.md | Axes/value types, ranges, striplines, and multi-axis patterns. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/appearance-styling.md | Charts styling/themes/palettes guidance. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/advanced-features.md | Advanced chart patterns (panes, trendlines, editing, RTL). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/accessibility-internationalization.md | Charts accessibility + i18n/RTL reference. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/SKILL.md | Calendars skill guidance (TValue selection, UTC, min/max). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/getting-started.md | Calendars getting-started reference. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/features.md | Calendars features overview reference. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/events-binding.md | Calendars events/binding/validation reference. |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/critical-gotchas.md | Calendars critical gotchas reference (key pitfalls). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-buttons/SKILL.md | Buttons skill guidance (async click patterns, anti-patterns). |
| plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-buttons/references/getting-started.md | Buttons getting-started reference. |
Review details
Suppressed comments (2)
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/critical-gotchas.md:38
- The example marks
TValue="TimeOnly?"as a binding error, which contradicts the rest of this PR (including theSfTimePickereval rubric). Update the snippet so agents don’t learn the wrong API surface.
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-calendars/references/critical-gotchas.md:191 - The "When in doubt" guidance still says to avoid
TimeOnly?, which conflicts with the rest of this PR’s calendar guidance. Align this summary with the correctedSfTimePickersupport statement.
- Files reviewed: 42/62 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Corrections included. |
There was a problem hiding this comment.
🔵 Needs a closer look
The added skill documentation contains a few concrete correctness issues (contradictory guidance and inaccurate enum compilation wording) that could mislead agents and/or cause eval failures.
Review details
Suppressed comments (3)
Previously missed (3) — in code that hasn't changed since the last review.
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/accessibility-internationalization.md:89
- This note says using a non-existent
Theme.*enum value "compiles to silence". SinceThemeis an enum, invalid members won’t compile; updating the wording will avoid spreading incorrect guidance.
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-charts/references/appearance-styling.md:131 - This note says using a non-existent
Theme.*enum value "compiles to silence". SinceThemeis an enum, invalid members won’t compile; updating the wording will avoid spreading incorrect guidance.
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-notifications/SKILL.md:40 - The guidance for
Label+<Template>is internally inconsistent: this section says "Never both", butreferences/spinner-template.mdlater shows usingLabeltogether with a<Template>that isaria-hidden. Consider rewording to forbid only duplicate visible text, while still allowingLabelfor screen readers alongside an aria-hidden visual template.
- Files reviewed: 42/62 changed files
- Comments generated: 0 new
- Review effort level: Lite
There was a problem hiding this comment.
🟡 Changes recommended
The new eval contains a grader that will incorrectly fail valid answers by forbidding the phrase “license key” even when stating “no license key required.”
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 12/12 changed files
- Comments generated: 1
- Review effort level: Lite
There was a problem hiding this comment.
🔵 Needs a closer look
The skill documentation contains a misleading “Blazor Server only” label for a .NET 8 Blazor Web App configuration section that should be clarified to avoid incorrect setup guidance.
Review details
Suppressed comments (1)
Previously missed (1) — in code that hasn't changed since the last review.
plugins/dotnet-blazor-toolkit/skills/syncfusion-blazor-toolkit-install/SKILL.md:76
- The section labeled "For Blazor Server only" uses the .NET 8+ Blazor Web App hosting model (
AddRazorComponents+MapRazorComponents+ render modes), not the legacy Blazor Server template (which typically uses_Host.cshtmlandAddServerSideBlazor). This label is likely to mislead users who are actually on a Blazor Server template and can cause them to apply the wrong setup guidance.
- Files reviewed: 12/12 changed files
- Comments generated: 0 new
- Review effort level: Lite
Modified Skill file.
There was a problem hiding this comment.
🔵 Needs a closer look
The new capability eval includes a rubric requirement that isn’t enforced by graders, reducing the evaluation’s ability to catch incorrect WASM host-file guidance.
Review details
Suppressed comments (1)
Previously missed (1) — in code that hasn't changed since the last review.
tests/dotnet-blazor-toolkit/syncfusion-blazor-toolkit-install/eval.yaml:61
- The WebAssembly installation stimulus rubric says to avoid suggesting App.razor as the WASM host file, but the graders don’t currently assert this. As written, an answer could mention both index.html and App.razor and still pass the automated checks, weakening the evaluation.
- Files reviewed: 12/12 changed files
- Comments generated: 0 new
- Review effort level: Lite
Eval file modified.
Skill corrections included.
Eval and skill files modified.
Remaining review concerns addressed.
Summary
Introduces the initial
dotnet-blazor-toolkitplugin and thesyncfusion-blazor-toolkit-installskill so AI agents can correctly install and configure the open-source Syncfusion Blazor Toolkit (Syncfusion.Blazor.Toolkit). The skill covers package identity,AddSyncfusionBlazorToolkit()registration,_Imports.razornamespaces, Fluent theme CSS, interactive render modes, and split Blazor Web App setup, with progressive-disclosure references for package identity, themes/hosts, render modes, split registration, and troubleshooting. The plugin is also registered in the skills marketplace so agents can discover it alongside existing Blazor skills.Key Changes
dotnet-blazor-toolkitplugin (plugin.json,.claude-plugin/plugin.json,.codex-plugin/plugin.json) pointing at./skills/.dotnet-blazor-toolkitin.github/plugin/marketplace.jsonwith an install/configure-focused description.syncfusion-blazor-toolkit-install/SKILL.mdwith core rules, don’ts, a host/topology decision table, and minimal setup steps (package,Program.cs, imports, CSS, render modes).references/package-identity.md— Toolkit vs commercialSyncfusion.Blazor*packages; no license key for Toolkit.references/theme-and-host-files.md— Fluent CSS path and correct host file per app type.references/render-modes.md— when interactive render modes are required.references/split-webapp-registration.md— Server/Client registration for split Web Apps.references/troubleshooting.md— common failure symptoms and fixes.Validation
name,description,license,compatibility,metadata) and that the skill name matches the directory.SKILL.mdplus one-levelreferences/.SKILL.mdto reference files and marketplace entry rendering.