← ClaudeAtlas

golang-grpclisted

Build, review, or debug Go gRPC services and clients using `google.golang.org/grpc`. Use for protobuf evolution, interceptors, status errors, metadata, streaming, credentials, deadlines, graceful shutdown, and transport-level tests.
reagin/agent-skills · ★ 0 · API & Backend · score 63
Install: claude install-skill reagin/agent-skills
# Go gRPC services and clients Preserve the project's protobuf layout, compatibility policy, generation toolchain, and transport conventions. Use its existing generator versions and limit regeneration to affected APIs. ## Inspect before changing Locate: - `go.mod`, `.proto` sources, Buf/protoc configuration, and generated-file policy; - server and client construction, credentials, interceptors, limits, health checks, and reflection policy; - status-code mapping, metadata propagation, streaming ownership, and shutdown behavior; - compatibility checks and transport-level tests. Use API details supported by the selected module versions. Prefer the repository's existing `buf` or `protoc` command rather than inventing another generation path. For concrete server/client APIs, status mapping, metadata, streaming, and graceful shutdown, read [runtime recipes](references/runtime-recipes.md). For an in-memory transport test that exercises protobuf encoding and interceptors, read [bufconn testing](references/bufconn-testing.md). ## Protobuf evolution - Treat field numbers and wire types as compatibility-sensitive. Do not reuse removed field numbers or names; reserve them where the project's policy requires it. - Keep package names and `go_package` stable unless a migration is intentional. - Use request and response messages so an RPC can evolve without changing its method shape. Reuse `google.protobuf.Empty` only when the project's compatibility policy accepts that constraint. -