Use when grpc-go composition, interceptors, status mapping, streaming, credentials, Protobuf compatibility, limits, health, or shutdown changes an RPC.
Installs into .claude/skills of the current project.
Are you the author of Go Grpc?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/dankosik-go-grpc)
---
name: go-grpc
description: "Use when grpc-go composition, interceptors, status mapping, streaming, credentials, Protobuf compatibility, limits, health, or shutdown changes an RPC."
metadata:
invocation: model
kind: method
---
# Go gRPC
Every RPC is a **typed status path**: the client observes one status, details,
and metadata, and that mapping is policy.
`proto -> registration/interceptors -> deadlines/limits -> status -> stream lifecycle -> health/shutdown -> proof`
For a delegated Decision or Review, or when the active artifact requires its
result interface, load the
[shared specialist contract](../../contracts/specialist-contract.md).
When meaningful ordering, comparison, exhaustive accounting, or a required
decision/review handoff needs structured representation, build `RPCPath{method, proto, registration,
interceptors, deadline, limits, status, details, metadata, stream_end,
health_shutdown, proof}` from canonical `.proto` through the terminal client
observable. Schema evolution uses Buf gates rather than hand edits; deadlines
propagate; each stream names its end and half-close semantics.
Otherwise, a single local RPC path may retain its grounded judgment and proof
for its terminal client observable.
Use [Native gRPC](../../../docs/grpc.md) to select the matching architecture
leaf. Load the [reference selector](references/index.md) for a changed
failure/status path or a `.proto` compatibility claim.
For a **Decision**, disposition every affected unary, streaming,
standard-service, client, lifecycle, and generated-contract path. For
**Review**, account for every affected RPC path and proof boundary. Complete
only when no alternate registration, unmapped failure, or unowned stream end
remains and the proof fails for the wrong status or lifecycle.