MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

Grpc Golang

Grpc Golang is an code AI skill with a core value of Build production-ready gRPC services in Go with mTLS, streaming, and observability. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Build production-ready gRPC services in Go with mTLS, streaming, and observability. Use when designing Protobuf contracts with Buf or implementing secure service-to-service transport.

Last verified on: 2026-07-07

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-07
Risk Level Low
mkdir -p ./skills/grpc-golang && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/grpc-golang/SKILL.md -o ./skills/grpc-golang/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# gRPC Golang (gRPC-Go)


Overview


Comprehensive guide for designing and implementing production-grade gRPC services in Go. Covers contract standardization with Buf, transport layer security via mTLS, and deep observability with OpenTelemetry interceptors.


Use this skill when


- Designing microservices communication with gRPC in Go.

- Building high-performance internal APIs using Protobuf.

- Implementing streaming workloads (unidirectional or bidirectional).

- Standardizing API contracts using Protobuf and Buf.

- Configuring mTLS for service-to-service authentication.


Do not use this skill when


- Building pure REST/HTTP public APIs without gRPC requirements.

- Modifying legacy `.proto` files without the ability to introduce a new API version (e.g., `api.v2`) or ensure backward compatibility.

- Managing service mesh traffic routing (e.g., Istio/Linkerd), which is outside the application code scope.


Step-by-Step Guide


1. **Confirm Technical Context**: Identify Go version, gRPC-Go version, and whether the project uses Buf or raw protoc.

2. **Confirm Requirements**: Identify mTLS needs, load patterns (unary/streaming), SLOs, and message size limits.

3. **Plan Schema**: Define package versioning (e.g., `api.v1`), resource types, and error mapping.

4. **Security Design**: Implement mTLS for service-to-service authentication.

5. **Observability**: Configure interceptors for tracing, metrics, and structured logging.

6. **Verification**: Always run `buf lint` and breaking change checks before finalizing code generation.


Refer to `resources/implementation-playbook.md` for detailed patterns, code examples, and anti-patterns.


Examples


Example 1: Defining a Service & Message (v1 API)


proto
syntax = "proto3";
package api.v1;
option go_package = "github.com/org/repo/gen/api/v1;apiv1";

service UserService {
  rpc GetUser(GetUserRequest) returns (GetUserResponse);
}

message User {
  string id = 1;
  string name = 2;
}

message GetUserRequest {
  string id = 1;
}

message GetUserResponse {
  User user = 1;
}

Best Practices


- ✅ **Do:** Use Buf to standardize your toolchain and linting with `buf.yaml` and `buf.gen.yaml`.

- ✅ **Do:** Always use semantic versioning in package paths (e.g., `package api.v1`).

- ✅ **Do:** Enforce mTLS for all internal service-to-service communication.

- ✅ **Do:** Handle `ctx.Done()` in all streaming handlers to prevent resource leaks.

- ✅ **Do:** Map domain errors to standard gRPC status codes (e.g., `codes.NotFound`).

- ❌ **Don't:** Return raw internal error strings or stack traces to gRPC clients.

- ❌ **Don't:** Create a new `grpc.ClientConn` per request; always reuse connections.


Troubleshooting


- **Error: Inconsistent Gen**: If the generated code does not match the schema, run `buf generate` and verify the `go_package` option.

- **Error: Context Deadline**: Check client timeouts and ensure the server is not blocking infinitely in streaming handlers.

- **Error: mTLS Handshake**: Ensure the CA certificate is correctly added to the `x509.CertPool` on both client and server sides.


Limitations


- Does not cover service mesh traffic routing (Istio/Linkerd configuration).

- Does not cover gRPC-Web or browser-based gRPC integration.

- Assumes Go 1.21+ and gRPC-Go v1.60+; older versions may have different APIs (e.g., `grpc.Dial` vs `grpc.NewClient`).

- Does not cover L7 gRPC-aware load balancer configuration (e.g., Envoy, NGINX).

- Does not address Protobuf schema registry or large-scale schema governance beyond Buf lint.


Resources


- `resources/implementation-playbook.md` for detailed patterns, code examples, and anti-patterns.

- [Google API Design Guide](https://cloud.google.com/apis/design)

- [Buf Docs](https://buf.build/docs)

- [gRPC-Go Docs](https://grpc.io/docs/languages/go/)

- [OpenTelemetry Go Instrumentation](https://opentelemetry.io/docs/instrumentation/go/)


Related Skills


- @golang-pro - General Go patterns and performance optimization outside the gRPC

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Grpc Golang to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

Is Grpc Golang compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Grpc Golang?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Grpc Golang?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/grpc-golang/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills