Dotnet Skills
Dotnet Skills from wshaddix/dotnet-skills.
Skills in this plugin
165- ▌ Dotnet API Security · wshaddixImplementing API auth. Identity, OAuth/OIDC, JWT bearer, passkeys (WebAuthn), CORS, rate limiting.
- ▌ Dotnet Cryptography · wshaddixChoosing crypto algorithms, hashing, encryption, or key derivation. AES-GCM, RSA, ECDSA, PQC.
- ▌ Dotnet Editorconfig · wshaddixAuthoring .editorconfig rules. IDE/CA severity, AnalysisLevel, globalconfig, code style enforcement.
- ▌ Dotnet Gha Patterns · wshaddixDesigning GitHub Actions workflows. Reusable workflows, composite actions, matrix builds, caching.
- ▌ Dotnet Io Pipelines · wshaddixBuilding high-perf network I/O. PipeReader/PipeWriter, backpressure, protocol parsers, Kestrel.
- ▌ Dotnet Localization · wshaddixLocalizing .NET apps. .resx resources, IStringLocalizer, source generators, pluralization, RTL.
- ▌ Dotnet Maui Testing · wshaddixTesting .NET MAUI apps. Appium device/emulator testing, XHarness, platform validation.
- ▌ Dotnet Minimal Apis · wshaddixBuilding Minimal APIs. Route groups, endpoint filters, TypedResults, OpenAPI 3.1, organization.
- ▌ Dotnet Terminal Gui · wshaddixBuilding full TUI apps. Terminal.Gui v2: views, layout (Pos/Dim), menus, dialogs, bindings, themes.
- ▌ Dotnet Test Quality · wshaddixMeasuring test effectiveness. Coverlet code coverage, Stryker.NET mutation testing, flaky detection.
- ▌ Dotnet Uno Platform · wshaddixBuilding Uno Platform apps. Extensions, MVUX reactive pattern, Toolkit controls, Hot Reload.
- ▌ Middleware Patterns · wshaddixCustom middleware patterns for ASP.NET Core applications. Covers request/response pipeline, middleware ordering, conditional middleware, IMiddleware factory pattern, IExceptionHandler (.NET 8+), and reusable middleware components. Use when creating custom middleware in ASP.NET Core applications, understanding middleware pipeline ordering, or implementing cross-cutting concerns like logging, authentication, and caching.
- ▌ Signalr Integration · wshaddixSignalR integration patterns for real-time communication in ASP.NET Core Razor Pages applications. Use when implementing real-time features in ASP.NET Core applications, setting up SignalR hubs and clients, or managing WebSocket connections and groups.
- ▌ Validation Patterns · wshaddixComprehensive validation patterns for ASP.NET Core applications. Covers FluentValidation integration, DataAnnotations, IValidatableObject, IValidateOptions<T>, MediatR pipeline behavior, and client-side validation. Use when implementing validation in ASP.NET Core applications, setting up FluentValidation, creating custom validators, configuring options validation, or implementing cross-field validation.
- ▌ Aspire Configuration · wshaddixConfigure Aspire AppHost to emit explicit app config via environment variables while keeping app code free of Aspire clients and service discovery. Use when wiring AppHost resources to application configuration, ensuring production configuration is transparent and portable outside of Aspire, or avoiding Aspire client packages inside application code.
- ▌ Database Performance · wshaddixDatabase access patterns for performance. Separate read/write models, avoid N+1 queries, use AsNoTracking, apply row limits, and never do application-side joins. Works with EF Core and Dapper. Use when designing data access layers, optimizing slow database queries, choosing between EF Core and Dapper, or avoiding common performance pitfalls.
- ▌ Dotnet Accessibility · wshaddixBuilding accessible .NET UI. SemanticProperties, ARIA, AutomationPeer, testing tools per platform.
- ▌ Dotnet Add Analyzers · wshaddixAdding analyzer packages to a project. Nullable, trimming, AOT compat analyzers, severity config.
- ▌ Dotnet Agent Gotchas · wshaddixGenerating or modifying .NET code. Common agent mistakes: async, NuGet, deprecated APIs, DI.
- ▌ Dotnet CLI Packaging · wshaddixPublishing to package managers. Homebrew, apt/deb, winget, Scoop, Chocolatey manifests.
- ▌ Dotnet Msbuild Tasks · wshaddixWriting custom MSBuild tasks. ITask, ToolTask, IIncrementalTask, inline tasks, UsingTask.
- ▌ Dotnet Observability · wshaddixAdding observability. OpenTelemetry traces/metrics/logs, health checks, custom metrics.
- ▌ Dotnet Wpf Migration · wshaddixMigrating desktop apps. WPF/WinForms to .NET 8+, WPF to WinUI or Uno, UWP to WinUI, decision matrix.
- ▌ Mjml Email Templates · wshaddixGuidelines for creating responsive email templates using MJML framework with .NET Razor syntax integration. Use when building responsive email templates in .NET applications, integrating MJML with Razor views, or creating email layouts that work across email clients.
- ▌ Razor Pages Patterns · wshaddixBest practices for building production-grade ASP.NET Core Razor Pages applications. Focuses on structure, lifecycle, binding, validation, security, and maintainability in web apps using Razor Pages as the primary UI framework. Use when building Razor Pages applications, designing PageModels and handlers, implementing model binding and validation, or securing Razor Pages with authentication and authorization.
- ▌ Dotnet Ado Build Test · wshaddixConfiguring .NET build/test in Azure DevOps. DotNetCoreCLI task, Artifacts, test results.
- ▌ Dotnet API Versioning · wshaddixVersioning HTTP APIs. Asp.Versioning.Http/Mvc, URL segment, header, query string, sunset.
- ▌ Dotnet Blazor Testing · wshaddixTesting Blazor components. bUnit rendering, events, cascading params, JS interop mocking.
- ▌ Dotnet Build Analysis · wshaddixInterpreting MSBuild output, NuGet errors, or analyzer warnings. Error codes, CI drift fixes.
- ▌ Dotnet Csproj Reading · wshaddixReading or modifying .csproj files. SDK-style structure, PropertyGroup/ItemGroup, CPM, props.
- ▌ Dotnet Gha Build Test · wshaddixConfiguring .NET build/test in GitHub Actions. setup-dotnet, NuGet caching, test reporting.
- ▌ Dotnet Native Interop · wshaddixCalling native libraries via P/Invoke. LibraryImport, marshalling, cross-platform resolution.
- ▌ Dotnet Security Owasp · wshaddixSecuring .NET code or reviewing for vulnerabilities. OWASP Top 10 mitigations, pattern warnings.
- ▌ Logging Observability · wshaddixProduction-grade logging and observability patterns for ASP.NET Core Razor Pages. Covers structured logging with Serilog, correlation IDs, health checks, request logging, OpenTelemetry integration, and diagnostic best practices. Use when setting up structured logging in ASP.NET Core applications, implementing distributed tracing with OpenTelemetry, or configuring health checks and observability.
- ▌ Playwright CI Caching · wshaddixOptimize CI/CD pipelines by caching Playwright browser binaries and dependencies to speed up test execution. Use when setting up Playwright in CI/CD pipelines, reducing build times by caching browser binaries, or configuring GitHub Actions or Azure DevOps for Playwright tests.
- ▌ Skills Index Snippets · wshaddixCode snippets and templates for working with the skills index and marketplace functionality. Use when creating new skills, updating skill index files, or validating skill metadata and structure.
- ▌ Dotnet Aspire Patterns · wshaddixUsing .NET Aspire. AppHost orchestration, service discovery, components, dashboard, health checks.
- ▌ Dotnet Benchmarkdotnet · wshaddixWriting benchmarks. BenchmarkDotNet setup, memory diagnosers, baselines, result analysis.
- ▌ Dotnet Blazor Patterns · wshaddixBuilding Blazor apps. Hosting models, render modes, routing, streaming rendering, prerender.
- ▌ Dotnet CI Benchmarking · wshaddixGating CI on perf regressions. Automated threshold alerts, baseline tracking, trend reports.
- ▌ Dotnet Domain Modeling · wshaddixModeling business domains. Aggregates, value objects, domain events, rich models, repositories.
- ▌ Dotnet File Based Apps · wshaddixRunning C# without a project file (.NET 10 SDK). Directives, CLI commands, migration.
- ▌ Dotnet Github Releases · wshaddixCreating GitHub Releases for .NET. Release creation, assets, notes, pre-release management.
- ▌ Dotnet Multi Targeting · wshaddixTargeting multiple TFMs or using newer C# on older TFMs. Polyfill strategy, API compat.
- ▌ Dotnet Nuget Authoring · wshaddixCreating NuGet packages. SDK-style csproj, source generators, multi-TFM, symbols, signing.
- ▌ Dotnet Semantic Kernel · wshaddixBuilding AI/LLM features. Semantic Kernel setup, plugins, prompt templates, memory stores, agents.
- ▌ Dotnet Spectre Console · wshaddixBuilding rich console output. Spectre.Console: tables, trees, progress, prompts, live displays.
- ▌ Dotnet Tool Management · wshaddixInstalling or managing .NET tools. Global, local, manifests, restore, version pinning.
- ▌ Dotnet UI Testing Core · wshaddixTesting UI across frameworks. Page objects, test selectors, async waits, accessibility.
- ▌ Dotnet Version Upgrade · wshaddixUpgrading .NET to a newer TFM. LTS-to-LTS, staged through STS, preview, upgrade paths.
- ▌ Dotnet Winforms Basics · wshaddixBuilding WinForms on .NET 8+. High-DPI, dark mode (experimental), DI patterns, modernization tips.
- ▌ HTTP Client Resilience · wshaddixIHttpClientFactory patterns with Polly for retries, circuit breakers, timeouts, and resilient HTTP communication. Includes best practices for HTTP client configuration and error handling. Use when configuring resilient HTTP clients in ASP.NET Core, implementing retry policies with Polly, or setting up circuit breakers for external service calls.
- ▌ Verify Email Snapshots · wshaddixPatterns for verifying email snapshots in tests to ensure email content matches expected outputs. Use when testing email rendering in unit tests, verifying MJML template outputs, or ensuring email content consistency across code changes.
- ▌ Aspire Service Defaults · wshaddixCreate a shared ServiceDefaults project for Aspire applications. Centralizes OpenTelemetry, health checks, resilience, and service discovery configuration across all services. Use when building Aspire-based distributed applications, needing consistent observability across services, or configuring HttpClient resilience and service discovery.
- ▌ Modern Csharp Coding Standards · wshaddix bundleWrite modern, high-performance C# code using records, pattern matching, value objects, async/await, Span<T>/Memory<T>, and best-practice API design patterns. Emphasizes functional-style programming with C# 12+ features. Use when writing new C# code or refactoring existing code, designing public APIs for libraries or services, optimizing performance-critical code paths, or building async/await-heavy applications.
- ▌ Dotnet Aot Architecture · wshaddixDesigning AOT-first apps. Source gen over reflection, AOT-safe DI, serialization, factories.
- ▌ Dotnet Artifacts Output · wshaddixUsing artifacts output layout. UseArtifactsOutput, ArtifactsPath, impact on CI and Docker.
- ▌ Dotnet CLI Architecture · wshaddixStructuring CLI app layers. Command/handler/service separation, clig.dev principles, exit codes.
- ▌ Dotnet CLI Distribution · wshaddixChoosing CLI output format. AOT vs framework-dependent, RID matrix, single-file, dotnet tool.
- ▌ Dotnet Input Validation · wshaddixValidating HTTP request inputs. .NET 10 AddValidation, FluentValidation, ProblemDetails.