
Selecting a .NET UI framework. Decision tree across Blazor, MAUI, Uno, WinUI, WPF, WinForms.
Running C# without a project file (.NET 10 SDK). Directives, CLI commands, migration.
End-to-end testing patterns for Blazor applications using Playwright, including component testing and page navigation. Use when writing E2E tests for Blazor applications, testing Blazor component interactions with Playwright, or setting up Playwright testing infrastructure for Blazor apps.
Deploying .NET containers. Kubernetes probes, Docker Compose for local dev, CI/CD integration.
Automating browser tests in .NET. Playwright E2E, CI browser caching, trace viewer, codegen.
Generating OpenAPI docs. MS.AspNetCore.OpenApi (.NET 9+), Swashbuckle migration, NSwag.
Building AI/LLM features. Semantic Kernel setup, plugins, prompt templates, memory stores, agents.
Installing or managing .NET tools. Global, local, manifests, restore, version pinning.
Testing Uno Platform apps. Playwright for WASM, platform-specific patterns, runtime heads.
Building WPF on .NET 8+. Host builder, MVVM Toolkit, Fluent theme, performance, modern C# patterns.
Best practices for working with .NET local tools, including manifest management, tool installation, and versioning. Use when setting up dotnet-tools.json for a project, installing or updating local tools, or managing tool versions across team members.
Red-team review of system/design proposals to find fatal flaws and blockers across architecture/tech risk, business reasonableness, and security/compliance. Outputs rejection-style critique (blockers, contradictions, missing invariants), not improvement plans. Use when the user wants a harsh risk审查/否决/质疑/拆穿 review.
Write integration tests using .NET Aspire's testing facilities with xUnit. Covers test fixtures, distributed application setup, endpoint discovery, and patterns for testing ASP.NET Core apps with real dependencies. Use when writing integration tests for .NET Aspire applications, testing ASP.NET Core apps with real database connections, or verifying service-to-service communication in distributed applications.
Hosted services, background jobs, outbox patterns, and graceful shutdown handling for ASP.NET Core applications. Includes patterns for reliable job processing, distributed systems, and lifecycle management. Use when implementing background processing in ASP.NET Core applications, handling outbox patterns for reliable message delivery, or managing graceful service shutdown.
Write 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.
Build .NET applications with WolverineFX for messaging, HTTP services, and event sourcing. Use when implementing command handlers, message handlers, HTTP endpoints with WolverineFx.HTTP, transactional outbox patterns, event sourcing with Marten, CQRS architectures, cascading messages, batch message processing, or configuring transports like RabbitMQ, Azure Service Bus, or Amazon SQS.
Adding analyzer packages to a project. Nullable, trimming, AOT compat analyzers, severity config.
Adding CI/CD to a .NET project. GitHub Actions vs Azure DevOps detection, workflow templates.
Using ADO-exclusive features. Environments, approvals, service connections, classic releases.
Publishing .NET artifacts from Azure DevOps. NuGet push, containers to ACR, pipeline artifacts.
AOT-compiling for WebAssembly. Blazor/Uno WASM AOT, size vs speed, lazy loading, Brotli.
Versioning HTTP APIs. Asp.Versioning.Http/Mvc, URL segment, header, query string, sunset.
Detecting API changes in CI. PublicApiAnalyzers, Verify snapshots, breaking change enforcement.
Using .NET Aspire. AppHost orchestration, service discovery, components, dashboard, health checks.
Building Blazor components. Lifecycle, state management, JS interop, EditForm validation, QuickGrid.
Structuring CLI app layers. Command/handler/service separation, clig.dev principles, exit codes.
Choosing CLI output format. AOT vs framework-dependent, RID matrix, single-file, dotnet tool.
Enabling nullable reference types. Annotation strategies, attributes, common agent mistakes.
Registering or resolving services with MS DI. Keyed services, scopes, decoration, hosted services.
Using records, pattern matching, primary constructors, collection expressions. C# 12-15 by TFM.
Choosing a data access approach. EF Core vs Dapper vs ADO.NET decision matrix, performance tradeoffs.
Creating source generators. IIncrementalGenerator, GeneratedRegex, LoggerMessage, STJ source-gen.
Reading or modifying .csproj files. SDK-style structure, PropertyGroup/ItemGroup, CPM, props.
Authoring .editorconfig rules. IDE/CA severity, AnalysisLevel, globalconfig, code style enforcement.
Tuning GC and memory. GC modes, LOH/POH, Gen0/1/2, Span/Memory deep patterns, ArrayPool, profiling.
Creating Mermaid diagrams for .NET. Architecture, sequence, class, deployment, ER, flowcharts.
Analyzing .NET code for modernization. Outdated TFMs, deprecated packages, superseded patterns.
Calling native libraries via P/Invoke. LibraryImport, marshalling, cross-platform resolution.
Authoring Roslyn analyzers. DiagnosticAnalyzer, CodeFixProvider, CodeRefactoring, multi-version.
Creating a new .NET project. Generates solution with CPM, analyzers, editorconfig, SourceLink.
Designing log pipelines. Aggregation, structured queries, sampling, PII scrubbing, correlation.
Custom 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.
Reviews designs and business goals for security vulnerabilities, data protection (in transit/at rest), authorization, and compliance alignment. Use when the user asks for a security review, threat modeling, attack surface analysis, data leakage prevention, or compliance/security assessment.
Publishing to package managers. Homebrew, apt/deb, winget, Scoop, Chocolatey manifests.
Configure 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.
Choosing the right concurrency abstraction in .NET - from async/await for I/O to Channels for producer/consumer to Akka.NET for stateful entity management. Covers both high-level abstractions and low-level synchronization primitives. Use when deciding how to handle concurrent operations in .NET, evaluating whether to use async/await, Channels, or Akka.NET, or managing state across multiple concurrent entities.
Building accessible .NET UI. SemanticProperties, ARIA, AutomationPeer, testing tools per platform.
Configuring .NET build/test in Azure DevOps. DotNetCoreCLI task, Artifacts, test results.
Working with .NET, C#, ASP.NET Core, or related frameworks. Routes to specialist skills.
Designing composable Azure DevOps YAML pipelines. Templates, variable groups, multi-stage, triggers.
Generating or modifying .NET code. Common agent mistakes: async, NuGet, deprecated APIs, DI.
Implementing API auth. Identity, OAuth/OIDC, JWT bearer, passkeys (WebAuthn), CORS, rate limiting.
Using artifacts output layout. UseArtifactsOutput, ArtifactsPath, impact on CI and Docker.
Interpreting MSBuild output, NuGet errors, or analyzer warnings. Error codes, CI drift fixes.
Gating CI on perf regressions. Automated threshold alerts, baseline tracking, trend reports.
Using producer/consumer queues. Channel<T>, bounded/unbounded, backpressure, drain patterns
Choosing crypto algorithms, hashing, encryption, or key derivation. AES-GCM, RSA, ECDSA, PQC.
Doing file I/O. FileStream, RandomAccess, FileSystemWatcher, MemoryMappedFile, paths.
Designing GitHub Actions workflows. Reusable workflows, composite actions, matrix builds, caching.
Publishing .NET artifacts from GitHub Actions. NuGet push, container images, signing, SBOM.
Consuming HTTP APIs. IHttpClientFactory, typed/named clients, resilience, DelegatingHandlers.
Optimizing LINQ queries. IQueryable vs IEnumerable, compiled queries, deferred exec, allocations.
Validating HTTP request inputs. .NET 10 AddValidation, FluentValidation, ProblemDetails.
Optimizing MAUI for iOS/Catalyst. Native AOT pipeline, size/startup gains, library gaps, trimming.
Testing .NET MAUI apps. Appium device/emulator testing, XHarness, platform validation.
Writing custom MSBuild tasks. ITask, ToolTask, IIncrementalTask, inline tasks, UsingTask.
Packaging MSIX apps. Creation, signing, Store submission, App Installer sideload, auto-update.
Targeting multiple TFMs or using newer C# on older TFMs. Polyfill strategy, API compat.
Publishing Native AOT. PublishAot, ILLink descriptors, P/Invoke, size optimization, containers.
Adding observability. OpenTelemetry traces/metrics/logs, health checks, custom metrics.
Adding fault tolerance. Polly v8 + MS.Extensions.Http.Resilience, retry/circuit breaker/timeout.
Handling secrets or sensitive configuration. User secrets, environment variables, rotation.
Choosing inter-service protocols. REST vs gRPC vs SignalR vs SSE decision matrix, tradeoffs.
Making apps/libraries trim-safe. Annotations, ILLink descriptors, IL2xxx warnings, IsTrimmable.
Building Uno Platform apps. Extensions, MVUX reactive pattern, Toolkit controls, Hot Reload.
Upgrading .NET to a newer TFM. LTS-to-LTS, staged through STS, preview, upgrade paths.
Project has .csproj, global.json, or Directory.Build.props. Detects TFMs and SDK versions.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Multi-language support, resource files, culture formatting, and globalization patterns for ASP.NET Core Razor Pages applications. Use when implementing multi-language support in ASP.NET Core applications, managing resource files for translations, or formatting dates, numbers, and currencies for different cultures.
--- name: loop-mode description: Executes tasks in continuous loop mode with strict test coverage and no legacy compatibility. Use when the user says "进入loop 模式, 目标: XXXX" or asks for nonstop implementation until done. --- # Loop Mode Run in continuous execution mode for a single concrete goal with minimal interruption. ## Trigger Apply this skill when the user provides: - `进入loop 模式, 目标: XXXX` - or equivalent intent such as "keep going without stopping until done" If goal text is missing,
Rate limiting patterns for ASP.NET Core Razor Pages applications. Covers fixed window, sliding window, token bucket algorithms, and distributed rate limiting with Redis. Use when implementing rate limiting in ASP.NET Core applications, choosing between different rate limiting algorithms, or setting up distributed rate limiting with Redis.
Creating GitHub-native docs. README badges, CONTRIBUTING, issue/PR templates, repo metadata.
Maintaining library compatibility. Binary/source compat rules, type forwarders, SemVer impact.
Building gRPC services. Proto definition, code-gen, ASP.NET Core host, streaming, auth.
Diagnosing .NET performance issues. dotnet-counters, dotnet-trace, dotnet-dump, flame graphs.
Localizing .NET apps. .resx resources, IStringLocalizer, source generators, pluralization, RTL.
Building real-time features. SignalR hubs, SSE (.NET 10), JSON-RPC 2.0, gRPC streaming, scaling.
Managing .NET release lifecycle. NBGV versioning, SemVer, changelogs, pre-release, branching.
Designing classes or refactoring. SOLID, DRY, SRP with C# anti-patterns, fixes, compliance.
Building rich console output. Spectre.Console: tables, trees, progress, prompts, live displays.
Measuring test effectiveness. Coverlet code coverage, Stryker.NET mutation testing, flaky detection.
Deciding how to test .NET code. Unit vs integration vs E2E decision tree, test doubles.
Guidelines for writing TUnit tests in .NET, including setup, assertions, async testing, and best practices. Use when writing unit tests with TUnit framework, setting up TUnit in a .NET project, or migrating from other test frameworks to TUnit.
Testing UI across frameworks. Page objects, test selectors, async waits, accessibility.
Using Uno MCP server. Tool detection, search-then-fetch workflow, init rules, fallback, citation.
Writing XML doc comments. Tags, inheritdoc, GenerateDocumentationFile, warning suppression.
Entity Framework Core best practices including NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, interceptors, compiled queries, and connection resiliency. Use when setting up EF Core in a new project, optimizing query performance, managing database migrations, integrating EF Core with .NET Aspire, or debugging change tracking issues.
Writing xUnit tests. v3 Fact/Theory, fixtures, parallelism, IAsyncLifetime, v2 compatibility.
Comprehensive exception handling patterns for ASP.NET Core Razor Pages applications. Covers global exception handling, ProblemDetails API, custom error pages, exception middleware, and graceful degradation strategies. Use when implementing error handling in Razor Pages applications, configuring global exception middleware, or creating user-friendly error pages and API error responses.
Microsoft.FeatureManagement patterns for feature toggles, gradual rollouts, and A/B testing in ASP.NET Core Razor Pages applications. Use when implementing feature toggles in ASP.NET Core applications, setting up gradual feature rollouts, or configuring A/B testing scenarios with feature flags.
File uploads, streaming, storage abstractions, and secure file handling patterns for ASP.NET Core Razor Pages applications. Use when implementing secure file uploads in Razor Pages, streaming large files, or creating storage abstractions for file operations.
Deploy, configure, and manage applications on the Fly.io platform using flyctl CLI, fly.toml configuration, Fly Machines, Fly Volumes, private networking, secrets, health checks, autoscaling, and GitHub Actions CI/CD. Use when deploying any application to Fly.io, writing or modifying fly.toml configuration, managing Fly Machines or Volumes, configuring networking (public services, private 6PN, Flycast, custom domains, TLS), setting secrets, configuring health checks, setting up autostop/autostart or metrics-based autoscaling, deploying with GitHub Actions, managing Fly Postgres databases, or preparing an app for production on Fly.io.
IHttpClientFactory 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.
Production-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.
Optimize 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.
NuGet package management best practices including versioning strategies, central package management, and dependency resolution. Use when setting up Central Package Management (CPM), managing package versions across multiple projects, or resolving dependency conflicts in .NET solutions.
Guidelines 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.
Dependency injection patterns and best practices using Microsoft.Extensions.DependencyInjection for .NET applications. Use when configuring DI containers in .NET, choosing between service lifetimes (Singleton, Scoped, Transient), or implementing decorator patterns and service interception.
Configuration patterns using Microsoft.Extensions.Configuration. Covers configuration providers, binding, validation, and best practices for .NET applications. Use when setting up configuration in .NET applications, implementing configuration validation with IValidateOptions, or managing settings across different environments.
Migrating desktop apps. WPF/WinForms to .NET 8+, WPF to WinUI or Uno, UWP to WinUI, decision matrix.
Building WinUI 3 apps. Windows App SDK setup, XAML patterns, MSIX/unpackaged deploy, UWP migration.
Building WinForms on .NET 8+. High-DPI, dark mode (experimental), DI patterns, modernization tips.
Deploying Uno Platform apps. Per-target guidance for WASM, iOS, Android, macOS, Windows, Linux.
Building full TUI apps. Terminal.Gui v2: views, layout (Pos/Dim), menus, dialogs, bindings, themes.
Using System.CommandLine 2.0. Commands, options, SetAction, custom parsing, middleware, testing.
Orienting in a .NET solution. Entry points, .sln/.slnx files, dependency graphs, config.
Securing .NET code or reviewing for vulnerabilities. OWASP Top 10 mitigations, pattern warnings.
Navigating .NET solution structure or build configuration. Analyzes .sln, .csproj, CPM.
Optimizing .NET allocations/throughput. Span, ArrayPool, ref struct, sealed, stackalloc.
Creating NuGet packages. SDK-style csproj, source generators, multi-TFM, symbols, signing.
Authoring MSBuild targets, props, or conditions. Custom targets, incrementality, Build patterns.
Building Minimal APIs. Route groups, endpoint filters, TypedResults, OpenAPI 3.1, organization.
Building event-driven systems. Pub/sub, competing consumers, DLQ, sagas, delivery guarantees.
Building .NET MAUI apps. Project structure, XAML/MVVM, platform services, current caveats.
Building high-perf network I/O. PipeReader/PipeWriter, backpressure, protocol parsers, Kestrel.
Testing with real infrastructure. WebApplicationFactory, Testcontainers, Aspire, fixtures.
Creating GitHub Releases for .NET. Release creation, assets, notes, pre-release management.
Deploying .NET from GitHub Actions. Azure Web Apps, GitHub Pages, container registries.
Configuring .NET build/test in GitHub Actions. setup-dotnet, NuGet caching, test reporting.
Designing data layer architecture. Read/write split, aggregate boundaries, N+1 governance.
Modeling business domains. Aggregates, value objects, domain events, rich models, repositories.
Choosing documentation tooling. Starlight, Docusaurus, DocFX decision tree, migration paths.
Using Options pattern, user secrets, or feature flags. IOptions<T> and FeatureManagement.
Reviewing C# for logic issues. Anti-patterns, common pitfalls, async misuse, DI mistakes.
Writing async/await code. Task patterns, ConfigureAwait, cancellation, and common agent pitfalls.
Containerizing .NET apps. Multi-stage Dockerfiles, SDK container publish (.NET 8+), rootless.
Releasing CLI tools. GitHub Actions build matrix, artifact staging, Releases, checksums.
Diagnosing slow builds or incremental failures. Binary logs, parallel builds, restore.
Testing Blazor components. bUnit rendering, events, cascading params, JS interop mocking.
Building Blazor apps. Hosting models, render modes, routing, streaming rendering, prerender.
Adding auth to Blazor. AuthorizeView, CascadingAuthenticationState, Identity UI, per-model flows.
Writing benchmarks. BenchmarkDotNet setup, memory diagnosers, baselines, result analysis.
Organizing APIs at scale. Vertical slices, request pipelines, caching, error handling, idempotency.
Generating API documentation. DocFX setup, OpenAPI-as-docs, doc-code sync, versioned docs.
Designing AOT-first apps. Source gen over reflection, AOT-safe DI, serialization, factories.
Adding test infrastructure to a .NET project. Scaffolds xUnit project, coverlet, layout.
ASP.NET Core Data Protection API patterns for encryption, key management, and secure data handling in web applications. Use when protecting sensitive data at rest or in transit, managing encryption keys in ASP.NET Core applications, or implementing secure token generation and validation.
Database 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.
Design .NET types for performance. Covers struct vs class decision matrix, sealed by default, readonly structs, ref struct and Span/Memory selection, FrozenDictionary, ValueTask, and collection return types. Use when designing new types and APIs, reviewing code for performance issues, choosing between class, struct, and record, or working with collections and enumerables.
Run single-file C# programs as scripts for quick experimentation, prototyping, and concept testing. Use when the user wants to write and execute a small C# program without creating a full project.
Design stable, compatible public APIs using extend-only design principles. Manage API compatibility, wire compatibility, versioning, naming conventions, parameter ordering, and return types for NuGet packages and distributed systems. Use when designing public APIs for NuGet packages or libraries, making changes to existing public APIs, planning wire format changes for distributed systems, or reviewing pull requests for breaking changes.
Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code. Use OpenCover format with ReportGenerator for Risk Hotspots showing cyclomatic complexity and untested code paths. Use when evaluating code quality and test coverage before changes, identifying high-risk code that needs refactoring or testing, setting up coverage collection for a .NET project, or establishing coverage thresholds for CI/CD pipelines.
Clawdbot documentation expert with decision tree navigation, search scripts, doc fetching, version tracking, and config snippets for all Clawdbot features
Comprehensive caching patterns for ASP.NET Core Razor Pages applications. Covers output caching, response caching, memory caching, distributed caching with Redis, cache invalidation strategies, and HybridCache (.NET 9+). Use when implementing caching in Razor Pages applications, choosing between memory and distributed caching, or optimizing application performance with caching.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
Security headers configuration and best practices for ASP.NET Core Razor Pages applications. Covers CSP, HSTS, X-Frame-Options, and comprehensive security middleware setup. Use when configuring security headers in ASP.NET Core applications, implementing Content Security Policy (CSP), or setting up HSTS and other security-related HTTP headers.
Best 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.
Guidelines for organizing .NET projects, including solution structure, project references, folder conventions, .slnx format, centralized build properties, and central package management. Use when setting up a new .NET solution with modern best practices, configuring centralized build properties across multiple projects, implementing central package version management, or setting up SourceLink for debugging.
Review business goals, PRDs, business flows, user journeys, and UX/interaction designs for completeness, clarity, logical consistency, and alignment with user needs. Use when the user asks to review a business goal/design proposal, PRD, process flow, user journey, or interaction plan.
Production-grade Bootstrap 5.3 patterns for building modern, responsive web UIs in HTML and ASP.NET Core Razor Pages/Views. Use when creating or styling web pages, layouts, navigation, forms, cards, modals, tables, or any UI component with Bootstrap 5. Covers the grid system, responsive breakpoints, utility classes, color modes (dark/light), accessibility, and integration with ASP.NET Core tag helpers and Razor syntax. Trigger on any task involving Bootstrap CSS classes, responsive HTML layouts, Razor Page UI design, or front-end styling for .NET web applications.
Production-grade patterns for ASP.NET Core Identity in Razor Pages and web apps. Covers setup, customization, security hardening, auth flows, roles/claims, external providers, and integration best practices for .NET 8+ / .NET 9+. Use when implementing authentication and authorization in ASP.NET Core applications, configuring ASP.NET Core Identity, setting up external login providers, or managing roles and claims.
Create 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.
Test email sending locally using Mailpit with .NET Aspire. Captures all outgoing emails without sending them. View rendered HTML, inspect headers, and verify delivery in integration tests. Use when testing email delivery locally without sending real emails, setting up email infrastructure in .NET Aspire, or writing integration tests that verify emails are sent.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.