grpc-standardslisted
Install: claude install-skill klod68/littlerae
# Skill: gRPC Service Standards
## Identity
| Field | Value |
|---|---|
| **Name** | gRPC Service Standards |
| **Domain** | API, Messaging, RPC |
| **Level** | Feature |
| **Tags** | `grpc`, `protobuf`, `streaming`, `interceptors`, `rpc` |
## When to Apply
Activate this skill when the task involves:
- Defining or editing `.proto` files
- Implementing gRPC service classes
- Server or client streaming patterns
- gRPC interceptors (logging, auth, error mapping)
- Deadline and timeout configuration
- gRPC client registration and channel management
## Rules
These rules layer on top of base architectural standards. On conflict, these win.
<!-- SHARED:rules/grpc.md -->
# gRPC — Service Standards
Apply these rules in addition to `_base.md` for projects using gRPC services.
---
## Protobuf Conventions
- One `.proto` file per service — file name matches service name: `order_service.proto`.
- Use `snake_case` for field names, `PascalCase` for message and service names (protobuf convention).
- Set `option csharp_namespace` explicitly to control generated C# namespace.
- Version APIs via package name: `package myapp.orders.v1;` — never reuse package names for breaking changes.
- Every RPC method has a dedicated `Request` and `Response` message — never reuse messages across RPCs.
- Use `google.protobuf.Timestamp` for dates, `google.protobuf.Duration` for time spans, `google.protobuf.StringValue` for nullable strings.
## Service Implementation
- Inherit from generated `Base`