golang-grpclisted
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.
-