Skip to content
cccskills
FreePublished on GitHub

blazor-ui-conventions

Load for Blazor/MudBlazor component or page changes involving render modes, dialogs, parameters/events, HAL-gated actions, generated API clients or generated record consumption, theming, or component tests; add accessibility or CSS-isolation only when touched.

The English summary is being prepared. Showing the original description.

See how to install

Files included (10)

  • SKILL.md3.7 KB
  • resources/bem-methodology.md473 B
  • resources/blazouter-routing.md936 B
  • resources/common-patterns.md5.7 KB
  • resources/component-design.md3.9 KB
  • resources/mudblazor-usage.md5.1 KB
  • resources/render-modes.md895 B
  • resources/state-management.md1.3 KB
  • resources/theming.md5.8 KB
  • resources/v9-migration.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<!-- ABOUTME: Blazor UI conventions for Razor components, MudBlazor v9 usage, render modes, HAL-driven affordances, and shared design-system wrappers. --> <!-- ABOUTME: Keeps Explore.Blazor and Explore.Blazor.Client aligned with InteractiveAuto, wrapper components, immutable state flows, and BFF-safe UI behavior. -->

Resources

  • Blazor architecture — load for hosting, service, generated-client, and component boundaries.
  • Record contracts — load for generated record eligibility, initialization, with, AOT extension data, and diagnostic privacy.
  • Design system — load for tokens or shared wrappers.
  • Accessibility — load only when forms, dialogs, focus, keyboard, landmarks, ARIA, or contrast are touched.

Rules

  • InteractiveAuto is the default. Client-capable paths do not use HttpContext, raw access tokens, or direct component-to-API calls; they use generated clients through the established BFF/service boundary.
  • HAL _links is the sole authority for resource action affordances. Do not infer Edit/Delete or other resource actions from roles, claims, source type, or local state.
  • Generated response/value records use object initializers and with copies. Do not add mutable compatibility setters or hand-edit EventApiClient.g.cs.
  • Protocol inputs, HAL resources, inherited shapes, PATCH/update DTOs, files, exceptions, and the exact mutable UI/service manifest remain classes. Adding or removing a mutable-manifest entry requires a consuming behavior test.
  • [JsonExtensionData] AdditionalProperties remains settable for System.Text.Json AOT. Unknown HAL extension data must round-trip through AppJsonSerializerContext.
  • Generated record diagnostics are value-free, but whole DTO/record logging remains forbidden; log bounded approved scalars.
  • Child-to-parent communication uses [Parameter] and EventCallback; immutable ranges, dates, and generated records are replaced rather than mutated.
  • Use MudBlazor v9 APIs and the shared three-tier token/wrapper system instead of removed APIs or ad hoc styling.

Workflow

  1. Subscribe to the exact component/service behavior before triggering it; do not use timing waits.
  2. When a generated contract changes, regenerate through MSBuild, migrate consumers to initialization/with, and preserve HAL/PATCH/AOT behavior.
  3. Run the component/service slice, generated serialization tests when applicable, then visual QA for rendered changes.

Verification

  • dotnet test --project tests/Event.Architecture.Tests/Event.Architecture.Tests.csproj --configuration Release --verbosity quiet -- --treenode-filter "/*/*/BlazorClientArchitectureTests/*" --minimum-expected-tests 1 --no-progress --maximum-parallel-tests 1
  • dotnet test --project tests/Explore.Blazor.Client.Tests/Explore.Blazor.Client.Tests.csproj --configuration Release --verbosity quiet
  • dotnet test --project tests/Explore.Blazor.IntegrationTests/Explore.Blazor.IntegrationTests.csproj --configuration Release --verbosity quiet

Related

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Load for Blazor/MudBlazor UI changes involving forms, dialogs, focus, keyboard navigation, landmarks, ARIA, color contrast, RTL-safe styling, or WCAG 2.2 AA tests; not for backend-only changes.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

Load when a task asks to research, verify, compare, or look up framework/package behavior, release notes, standards, RFCs, CVEs, or unfamiliar APIs; use repository evidence first, then official docs, and not for codebase navigation alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

aspire

Free

Load for Aspire AppHost work: start/stop/wait resources, inspect dashboard/logs/traces, add integrations/resources, rebuild a service, run isolated worktrees, or diagnose Aspire orchestration; not for plain dotnet apps, container-only deployments, or cloud deployment.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

Load for authentication or authorization changes involving BFF cookies/tokens, JWT validation, claims/user ID extraction, policies, handler access checks, impersonation, or 401/403 bugs; not for UI affordance gating alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

Load for Blazor BFF server work involving YARP proxy routes, cookie sessions, access-token forwarding/refresh, downstream API calls, BFF handlers, or browser-to-API auth failures; not for client component rendering or API JWT validation alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

Load when editing Blazor `.razor.css`, scoped selectors, `::deep`, BEM class names, RTL/logical CSS properties, or styling nested MudBlazor components; not for global design tokens or non-Blazor CSS.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 21, 2026

See all skills by islamu-ngo

Report a problem with this skill