# Syncfusion for Blazor — agent index Source: https://ai.syncfusion.com/blazor/llms.txt Canonical: https://ai.syncfusion.com/blazor/llms.txt Entry-point: https://ai.syncfusion.com/llms.txt Essential-Studio-release: 2026 Volume 3 (v35.1.37) Applies-to: Blazor Family: .NET Web Host-skill-pack: syncfusion/blazor-ui-components-skills Skills-in-pack: 72 Reference-files-in-pack: 1,006 Packages: `Syncfusion.Blazor.*` on NuGet (for example `Syncfusion.Blazor.Grid`) Documentation-root: https://blazor.syncfusion.com/documentation/introduction License-registration: https://blazor.syncfusion.com/documentation/getting-started/license-key/how-to-register-in-an-application MCP-server: `Syncfusion.Blazor.MCP` (NuGet, stdio, server name `sf-blazor-mcp`, invoked with `dnx`) Example-status: pattern — not CI-verified. See the verification section before shipping it. License-posture: Installing and reading this pack requires no license. Using Blazor Syncfusion libraries in an application requires a commercial, Community, or trial license. See https://ai.syncfusion.com/licensing.md Generated-by: ai.syncfusion.com platform index generator > This file is self-sufficient. Everything needed to start Blazor work with Syncfusion is below: > which skill pack to install, which packages, how licensing is registered, one complete working > example, and how to verify. You do not need another fetch to begin. Do not write Syncfusion > Blazor code from memory — the same component name exists on other platforms with different > packages, imports and registration. ## 1. Confirm this is the right index Signal in the repository: `.csproj` referencing `Syncfusion.Blazor.*`, or a Blazor Web App / Server / WebAssembly SDK If that does not match this project, go back to https://ai.syncfusion.com/llms.txt and pick the correct slug. Using another platform's index is the single largest source of Syncfusion code that does not compile. Never blend two platforms in one implementation. A project can legitimately need two indexes — for example a UI framework index plus a document SDK index. That is fine. Mixing two UI framework indexes is not. ## 2. Install the required skills The skill pack carries the failure taxonomy: module and service registration, CSS and theme import order, SSR boundaries, data-source shapes, virtualization thresholds, locale setup, disposal. Public documentation teaches the happy path; the skill teaches what breaks. No license, key or account is required to install or read it. Whole pack (72 skills) — when user explicitly asked for whole pack: ```bash npx skills add syncfusion/blazor-ui-components-skills -y ``` Interactive, choose individual skills: ```bash npx skills add syncfusion/blazor-ui-components-skills ``` One component only — preferred when you know the component: ```bash npx skills add syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-datagrid ``` ### Editor and viewer SDK skills for Blazor ```bash # PDF Viewer (interactive PDF Viewer) npx skills add syncfusion/pdf-viewer-sdk-skills --skill syncfusion-blazor-pdf-viewer # Smart PDF Viewer (AI-powered PDF viewer — summarizer, redaction, form filling) npx skills add syncfusion/pdf-viewer-sdk-skills --skill syncfusion-blazor-smart-pdf-viewer # DOCX Editor (Word-like editor) npx skills add syncfusion/docx-editor-sdk-skills --skill syncfusion-blazor-docx-editor # Spreadsheet Editor (Excel-like editor) npx skills add syncfusion/spreadsheet-editor-sdk-skills --skill syncfusion-blazor-spreadsheet-editor ``` These four skills are also indexed in `inventory.txt` with their source repository. Notes on installation: - `owner/repo` shorthand is valid. The full form `npx skills add https://github.com/syncfusion/blazor-ui-components-skills` is equivalent. - Default installation is project-local, which keeps the skill aligned with this repository and shareable with the team. Use `-g` only when the user explicitly wants it across unrelated projects. - Target a specific agent with `--agent `, for example `--agent cursor`. Install locations: `.claude/skills/` for Claude Code, `.windsurf/skills/` for Windsurf, `.codestudio/skills/` for Code Studio, and the shared `.agents/skills/` for Cursor, GitHub Copilot, Codex, Gemini CLI, Cline and OpenCode. - Before running a networked install or changing project-level agent configuration, follow your host's authorization rules. - **Installing a skill does not install the product packages.** That is step 3. Read the selected `SKILL.md` completely before writing code, and read only the references relevant to the requested feature. Follow the installed skill over anything you remember. ## 3. Install the product packages **Always run the package manager.** Hand-editing `.csproj` is not an install: there is no package download, no restore, and no `obj/` populated. First restore will fail with NU1105/NU1605 and the developer re-runs the same broken workflow. For every Syncfusion package addition this project needs, run the package manager (NuGet via `dotnet add package`): ```bash dotnet add package Syncfusion.Blazor.Grid && dotnet add package Syncfusion.Blazor.Themes ``` For version selection, do not edit the manifest to pin a version. Pass `--version ` on the command line (`dotnet add package Syncfusion.Blazor.Grid --version 27.1.48`) — every Syncfusion .NET Blazor package in a project must share the **exact same version**, never just the major. Full rule: `agent-onboarding/references/version-resolution.md`. Package namespace: `Syncfusion.Blazor.*` on NuGet (for example `Syncfusion.Blazor.Grid`) Install only what the component you are implementing actually needs. Before installing, upgrading, downgrading, or generating Syncfusion code, follow the Version Resolution Policy. Do not determine package versions from this index. ## 4. Register the license Platform-specific registration steps: https://blazor.syncfusion.com/documentation/getting-started/license-key/how-to-register-in-an-application Rules, without exception: - Never generate, guess, echo, log, or commit a license key. Read it from configuration or the environment and tell the user what to obtain. - Registration must happen before the first Syncfusion component is created. The exact location differs by platform — see the example below. - The key is version-specific. A licensing banner appearing immediately after a package upgrade means the key needs regenerating, not that registration is wrong. - Never suppress, hide, catch or CSS-hide a licensing banner or warning. - Never claim the project is licensed because it built successfully. Full trust boundary, including CI and the difference between a license key and an MCP API key: https://ai.syncfusion.com/licensing.md ## 5. Minimal working example Complete and unelided. Adapt the data and the component; keep the setup. ```csharp // Program.cs — service registration and license, complete. using Syncfusion.Blazor; using Syncfusion.Licensing; var builder = WebApplication.CreateBuilder(args); // Read from configuration or environment. Never hard-code, never commit. SyncfusionLicenseProvider.RegisterLicense(builder.Configuration["Syncfusion:LicenseKey"]); builder.Services.AddRazorComponents().AddInteractiveServerComponents(); builder.Services.AddSyncfusionBlazor(); // required, or components render empty var app = builder.Build(); app.UseStaticFiles(); app.MapRazorComponents().AddInteractiveServerRenderMode(); app.Run(); /* Components/App.razor — inside , required or the grid is unstyled: */ /* Components/_Imports.razor: @using Syncfusion.Blazor @using Syncfusion.Blazor.Grids */ // Components/Pages/Orders.razor @page "/orders" @rendermode InteractiveServer @code { public class Order { public int OrderID { get; set; } public string? CustomerName { get; set; } public double Freight { get; set; } public DateTime OrderDate { get; set; } } private List orders = new() { new Order { OrderID = 10248, CustomerName = "Vins et alcools", Freight = 32.38, OrderDate = new DateTime(1996, 7, 4) }, new Order { OrderID = 10249, CustomerName = "Toms Spezialitaten", Freight = 11.61, OrderDate = new DateTime(1996, 7, 5) }, }; } ``` ## 6. Component registry — fetch before you write the variant The component registry is a curated index of JSON templates that describe complete, verified Blazor variants of Syncfusion components. Each template is a self-contained record: source code, exact dependency versions, and the licensing posture of that variant. Use the registry whenever the component or variant is known, and use it as the first stop whenever it is not. - Registry JSON: `https://ai.syncfusion.com/r/blazor/registry.json` - Per-template source: `https://ai.syncfusion.com/r/blazor/.json` ### When to consult the registry Consult the registry as part of fulfilling a request when any one of the following is true: 1. **The user asks for a known variant** — for example "add a Grid with grouping", "show a stacked column chart", "render the PDF viewer with annotations". The variant name is implied, so fetching the matching template is more precise than rebuilding from memory. 2. **The user gives a vague component request** — for example "add a chart", "I need a scheduler", "drop in a data grid". Pick the template that best matches the request's intent, adapt it to the project, and state the chosen template before adapting. 3. **The request clearly maps to one of the available templates.** Use that template as the starting point and adapt — do not generate from scratch. ### When NOT to consult the registry Skip the registry when the requirement is outside what any template describes — custom behaviour, application-level composition, or a workload that does not exist as a variant. In those cases, fall back to the platform skill pack and do not use the registry at all. When unsure whether a template applies, fetch `registry.json` and compare the requirement against each template's `name` and `description`. Match by intent, not by the user's exact words — "calendar" may mean Schedulers rather than Calendars. ### Procedure before generating code 1. Fetch `https://ai.syncfusion.com/r/blazor/registry.json` once per session. 2. Pick a template whose intent matches the user's request. When multiple templates match, prefer the one whose `behaviors` align most precisely with the stated need. 3. Cite the registry URL and the matched template name before pasting any source. 4. Adapt the template to the project — render-mode, Server vs. WebAssembly vs. Auto, theming, package version, and existing patterns. Do not copy verbatim when the project conventions differ. ### Relationship to the platform inventory `inventory.txt` and `registry.json` serve different surfaces: - **`inventory.txt`** is the **routing surface** — which component skills exist on a platform, their package, category, and behaviours. Consult it once during setup. - **`registry.json`** is the **work surface** — a complete, verified implementation template for a known component or variant. When the request describes a goal rather than naming a component, start from the inventory. When the request names a component or variant, go straight to the registry. The skill pack teaches integration and licensing rules; the registry item is the work surface that uses those rules. Install the skill first, then fetch the matching registry item before generating code that adopts a variant. ## 7. MCP server — optional, for current documentation `Syncfusion.Blazor.MCP` (NuGet, stdio, server name `sf-blazor-mcp`, invoked with `dnx`) Configuration for your editor: https://ai.syncfusion.com/mcp/llms.txt MCP retrieves current documentation. The skill pack guides code generation. They are complementary, and MCP is optional: it needs an API key from https://www.syncfusion.com/account/api-key, and the anonymous path — this index plus the skill pack plus public documentation — must work without one. If no key is available, do not block on MCP. An MCP API key is not a product license key and does not grant one. ## 8. Verify before reporting success A clean compile is not verification. Work through this list and state explicitly what you could not check. - [ ] Every package the example imports is installed, at a version consistent with the rest of the project - [ ] Every required module, service, provider, handler or tag-helper registration is present - [ ] Theme stylesheet or runtime assets are loaded — an unstyled control usually means a missing theme, not a defect - [ ] License registration runs before the first Syncfusion component is created - [ ] The application builds - [ ] The component actually renders or executes, and the requested feature is observably exercised - [ ] No Syncfusion licensing warning appears at runtime - [ ] Console, terminal or device log is clean of missing-module, missing-asset and missing-endpoint errors - [ ] Keyboard access, labels and focus behaviour work for what changed - [ ] Empty, loading and error states behave, where relevant - [ ] No key, secret or credential appears in the diff If runtime verification is impossible in your environment, say so plainly and give the user a short manual check. Do not describe unverified output as working. ## 9. Known failure modes for Blazor These are the mistakes agents make most often on this platform. Check them first. - `AddSyncfusionBlazor()` in Program.cs is mandatory. Without it components render as empty elements with no error. - The theme stylesheet from `Syncfusion.Blazor.Themes` must be linked in App.razor or the host page. - Interactive components need an explicit render mode in .NET 8+ Blazor Web Apps. A static-rendered page produces a grid that displays but does not respond to clicks — this is the single most common Blazor report and it is not a Syncfusion defect. - The license key is version-specific. A licensing banner appearing right after a package upgrade means the key needs regenerating. Troubleshooting order when a Blazor Syncfusion implementation fails: 1. Framework and Syncfusion package version compatibility 2. Missing package, peer dependency, module, service, provider, handler or import 3. Theme CSS, fonts, scripts, static assets, or a required server-side endpoint 4. Data shape, identifiers, date and number parsing, async lifecycle 5. Feature-specific configuration in the installed component skill 6. Current official documentation, or an MCP lookup 7. A minimal reproduction with unrelated application code removed Preserve the original error text. Distinguish a product defect from an integration or configuration issue. If a minimal reproduction still fails against documented behaviour, that is a support case: https://support.syncfusion.com/ ## 10. Next | Need | Go to | | --- | --- | | Full documentation | https://blazor.syncfusion.com/documentation/introduction | | Every skill in this pack | https://ai.syncfusion.com/blazor/inventory.txt | | Editor and viewer SDK skills | filter `inventory.txt` by `pdf-viewer-sdk-skills`, `docx-editor-sdk-skills`, `spreadsheet-editor-sdk-skills` | | Skill catalog across all 18 packs | https://ai.syncfusion.com/skills/catalog.md | | Curated, verified component template registry | https://ai.syncfusion.com/r/blazor/registry.json | | Licensing and trust boundaries | https://ai.syncfusion.com/licensing.md | | MCP configuration | https://ai.syncfusion.com/mcp/llms.txt | | Project scaffolding from the CLI | https://ai.syncfusion.com/cli.md | | Another platform | https://ai.syncfusion.com/llms.txt | | Support | https://support.syncfusion.com/ |