aspnet-core
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…
Build or review gRPC services and clients in .NET. USE FOR: ASP.NET Core gRPC, protobuf contracts, unary or streaming RPC, gRPC client factory, interceptors, deadlines, cancellation, channel reuse, backend service integration. DO NOT USE FOR: broad browser-facing APIs without
Claude Code
$ npx -y skills add managedcode/dotnet-skills --skill grpc --agent claude-code
Codex
$ npx skills add managedcode/dotnet-skills --skill grpc -a codex -y
Cursor
$ npx skills add managedcode/dotnet-skills --skill grpc -a cursor -y
Gemini CLI
$ npx skills add managedcode/dotnet-skills --skill grpc -a gemini-cli -y
GitHub Copilot
$ npx skills add managedcode/dotnet-skills --skill grpc -a github-copilot -y
OpenCode
$ npx skills add managedcode/dotnet-skills --skill grpc -a opencode -y
Windsurf
$ npx skills add managedcode/dotnet-skills --skill grpc -a windsurf -y
name: grpc description: "Build or review gRPC services and clients in .NET. USE FOR: ASP.NET Core gRPC, protobuf contracts, unary or streaming RPC, gRPC client factory, interceptors, deadlines, cancellation, channel reuse, backend service integration. DO NOT USE FOR: broad browser-facing APIs without gRPC-Web tradeoff review, SignalR realtime hubs, plain REST APIs. INVOKES: dotnet build/test and focused service or client smoke checks when code changes." compatibility: "Requires ASP.NET Core gRPC or gRPC client projects."
1. Validate the architecture fit before touching code.
2. Treat `.proto` files as the source of truth.
3. Choose the RPC shape from the interaction model.
4. Wire server and client behavior together.
5. Add observability and resilience where the boundary justifies it.
6. Validate with the repo's normal build and tests, plus a focused smoke call when runnable.
flowchart LR A["RPC requirement"] --> B["proto contract"] B --> C["server implementation"] B --> D["client factory or channel"] C --> E["deadlines / cancellation / status codes"] D --> E E --> F["build, tests, smoke call"]
Use client factory for normal app integration:
builder.Services.AddGrpcClient<Greeter.GreeterClient>(options =>
{
options.Address = new Uri("https://localhost:5001");
});Always set a deadline and pass cancellation:
var response = await client.SayHelloAsync(
new HelloRequest { Name = name },
deadline: DateTime.UtcNow.AddSeconds(5),
cancellationToken: cancellationToken);For streaming, check cancellation inside the read/write loop and keep message sizes bounded. Load [references/patterns.md](references/patterns.md) before writing detailed streaming code.
Stop explaining .NET to your AI. Start building. We've all been there: asking Claude to use Entity Framework, only to get EF6 patterns in a .NET 8 project. Explaining to Copilot that Blazor Server and Blazor WebAssembly aren't the same thing.
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…
Build, upgrade, and operate Aspire 13.5.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults,…
Build and debug Avalonia 11/12 .NET applications with XAML, compiled bindings, MVVM, custom controls, desktop lifetimes, and…
Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable…
Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design,…
Maintain or migrate EF6-based applications with realistic guidance on what to keep, what to modernize, and when EF Core is or is…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.