Cross-platform 3D printer control app (Blazor WASM + .NET MAUI, .NET 10). See CLAUDE.md for full architecture context before starting any task.
| Domain | Use these skills / agents |
|---|---|
| Blazor components, render modes, state | dotnet-blazor-specialist, dotnet-blazor-patterns, dotnet-blazor-components |
| MAUI platform-specific code | dotnet-maui-specialist, dotnet-maui-development |
| C# async/await, concurrency | dotnet-csharp-async-patterns, dotnet-async-performance-specialist |
| Dependency injection, service lifetime | dotnet-csharp-dependency-injection |
| Error handling, resilience | dotnet-architecture-patterns, dotnet-blazor-patterns |
| Localization / i18n | dotnet-localization |
| HTTP clients, retry, timeout | dotnet-architecture-patterns (HttpClient patterns section) |
| MSBuild / multi-targeting | dotnet-multi-targeting, dotnet-msbuild-authoring |
| Testing | dotnet-testing-specialist, dotnet-xunit, dotnet-integration-testing |
| Performance | dotnet-performance-analyst, dotnet-benchmarkdotnet |
| Security | dotnet-security-reviewer |
| Architecture decisions | dotnet-architect (central routing agent) |
| Code review | dotnet-code-review-agent |
- Read
IPrinterCommunicationServiceandBasePrinterConnectionServicefirst. - Use
dotnet-blazor-specialistfor any UI surface. - Use
dotnet-csharp-async-patternsfor the polling/telemetry loop. - Backend must be registered in
RegisterMakerPromptSharedServices— usedotnet-csharp-dependency-injection.
- Agent:
dotnet-blazor-specialist - Constraints: additive only, use BlazorBootstrap, no new layout frameworks.
- CSS lives in
MakerPrompt.Shared/wwwroot/css/app.css(flexbox layout, no Bootstrap grid for the shell).
GlobalErrorBoundary+ProcessErrorare already in place.- Do NOT add custom exception middleware or new logging providers.
- Agent:
dotnet-blazor-specialistfor component-level;dotnet-architecture-patternsfor service-level.
- Files:
SerialService.<Platform>.cspattern inMakerPrompt.MAUI/Services/. - Agent:
dotnet-maui-specialist. - Must compile conditionally — do not break other platform targets.
- Agent:
dotnet-localization - Add to
MakerPrompt.Shared/Properties/Resources.resxfirst, then reference viaResources.Key.
Run before committing any code change:
dotnet build MakerPrompt.sln
dotnet test MakerPrompt.Tests/MakerPrompt.Tests.csproj- Additive only — do not refactor unless explicitly asked.
- No stack traces in UI —
ToastMessagegets a friendly string,ILoggergets the full exception. - No telemetry spam — background polling errors are swallowed silently.
- No speculative features — implement only what is explicitly requested.
- One concern per change — keep diffs small and reviewable.