grpc

Featured

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.

API & Backend 479 stars 35 forks Updated 6 days ago MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
89
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# gRPC for .NET ## Trigger On - building backend-to-backend RPC services or clients - adding protobuf contracts, streaming calls, or interceptors - deciding between gRPC, HTTP APIs, and SignalR - optimizing gRPC performance, deadlines, cancellation, or connection reuse - integrating service-to-service communication in microservices ## Do Not Use For - public browser-first APIs unless gRPC-Web limitations are explicitly acceptable - SignalR hub design, realtime UI fan-out, or websocket-style client collaboration - generic ASP.NET Core minimal APIs or REST controllers with no protobuf/RPC requirement - non-.NET gRPC work unless the user asks for cross-stack contract guidance ## Load References - [references/patterns.md](references/patterns.md) for proto design, streaming implementations, interceptors, health checks, load balancing, and client factory setup. - [references/anti-patterns.md](references/anti-patterns.md) for common channel, deadline, streaming, message-size, and exception-handling mistakes. ## Workflow 1. Validate the architecture fit before touching code. - prefer gRPC for backend RPC, strong contracts, low-latency calls, or streaming - prefer REST or minimal APIs for broad browser compatibility and loosely coupled public APIs - prefer SignalR for browser/client realtime fan-out and UI collaboration 2. Treat `.proto` files as the source of truth. - keep package names, `csharp_namespace`, service names, and versioning deliberate - reserve rem...

Details

Author
managedcode
Repository
managedcode/dotnet-skills
Created
6 months ago
Last Updated
6 days ago
Language
C#
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

API & Backend Listed

go-grpc

Use when implementing or reviewing gRPC servers/clients in Go. Covers .proto organisation, code generation with protoc/buf, server bootstrap (interceptors, health, graceful shutdown), client patterns (reuse, deadlines, retries), status.Code error handling, streaming, TLS/mTLS, and bufconn testing. Apply when writing .proto files, adding interceptors, or auditing a service for production readiness.

8 Updated 1 months ago
muratmirgun
AI & Automation Listed

grpc-services

Design gRPC services with clean proto contracts, versioning, streaming patterns, and deadline propagation. Use when building high-performance service-to-service APIs or evaluating gRPC against REST.

7 Updated 5 days ago
Amey-Thakur
API & Backend Listed

grpc-microservices

Build and operate gRPC services and the service-to-service mesh — Protobuf schema design with wire-compatible evolution, the four RPC kinds (unary, server/client/bidi streaming), deadline propagation, retries and hedging, status-code semantics, interceptors for auth/tracing/metrics, mTLS, load balancing (client-side vs proxy/mesh), and gRPC-Gateway for a REST edge. Use when defining a .proto contract, choosing gRPC vs REST for internal traffic, debugging DEADLINE_EXCEEDED or backward-incompatible schema changes, wiring interceptors, or designing a microservice mesh. Boundary vs api-design — api-design owns the public/external HTTP contract (REST/GraphQL, RFC 9457 envelopes, idempotency keys) for heterogeneous consumers; this skill owns binary east-west gRPC between services controlled on both sides, including Protobuf evolution and gRPC status codes. Defers raw long-lived bidirectional sockets to realtime-websockets and the REST translation edge to api-design.

6 Updated yesterday
kouroshez