grpc-microserviceslisted
Install: claude install-skill kouroshez/coding-os
# gRPC + Microservices — Protobuf, RPC, Mesh
A practical guide to gRPC for east-west (service-to-service) traffic. Stack-agnostic; concrete patterns reference `grpc-go`, `grpcio` (Python), and `@grpc/grpc-js` (Node), with Envoy / a service mesh as the proxy layer.
## When to Use This Skill
- Defining or evolving a `.proto` service contract.
- Choosing gRPC vs REST/GraphQL for traffic *between services you control on both ends*.
- Debugging `DEADLINE_EXCEEDED`, `UNAVAILABLE`, or a backward-incompatible Protobuf change.
- Designing streaming RPCs (server-stream, client-stream, bidi).
- Wiring interceptors for auth, tracing, metrics, retries.
- Standing up mTLS, client-side load balancing, or a gRPC mesh.
- Exposing a gRPC service to external REST clients via gRPC-Gateway.
Skip when: the consumer is a browser/mobile/3rd-party over public HTTP (that is api-design's REST/GraphQL territory), or the need is a long-lived bidirectional *browser* socket (that is realtime-websockets).
## Boundary — gRPC vs api-design vs realtime-websockets
| Concern | Owner |
|---|---|
| Public, external, heterogeneous HTTP API (REST/GraphQL), RFC 9457 envelopes, URL/header versioning, idempotency keys | **api-design** |
| Binary east-west gRPC between controlled services: Protobuf evolution, the four RPC kinds, gRPC status codes, deadlines, interceptors, mesh | **grpc-microservices** (this skill) |
| Long-lived bidirectional sockets to browsers (WebSocket/SSE), heartbeats, reconnect, fan-out | **