grpc-service-development — Claude Code skill: gRPC on Protobuf
This skill walks your agent through gRPC service work: Protocol Buffers contracts, four call patterns, servers in Node.js and Python.
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a claude-codeWhat grpc-service-development does
The skill covers building gRPC services with Protocol Buffers. Four reference guides sit in references/: service definition in a proto file, a Node.js server, a Python server on grpcio, and the client side. A short starter example defines User, CreateUserRequest and UpdateUserRequest messages.
All four call patterns are in scope: unary, client streaming, server streaming and bidirectional. A practices section covers gRPC status codes for errors, metadata for logging and tracing, versioning your proto definitions, timeouts and deadlines.
There is also a don't list. Browser clients need gRPC-Web instead. Sensitive fields should stay out of proto definitions, and large payloads should not go out uncompressed. Production traffic without TLS is called out as a mistake — worth checking your config before a release, not after.
What it helps with
- write a service contract in a proto file
- stand up a gRPC server in Node.js or Python
- add bidirectional streaming between services
- map failures onto gRPC status codes
- set timeouts and deadlines on calls
Example prompts for the agent
- Define a proto3 gRPC service for users and generate a Python server
- Add bidirectional streaming to my service and handle dropped connections
- Review my proto file for nested messages and leaked sensitive fields
How to install grpc-service-development
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a claude-code2Manually: put the files in place
~/.claude/skills/grpc-service-development/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/grpc-service-development/
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a codex2Manually: put the files in place
.agents/skills/grpc-service-development/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a cursor2Manually: put the files in place
.cursor/skills/grpc-service-development/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts grpc-service-development2Manually: put the files in place
.github/skills/grpc-service-development/SKILL.md1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a gemini-cli2Platform CLI
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/grpc-service-developmentManually: put the files in place
.devin/skills/grpc-service-development/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about grpc-service-development
How do I install grpc-service-development in Claude?
Run npx skills add aj-geddes/useful-ai-prompts --skill grpc-service-development -a claude-code. The skill file then lands at ~/.claude/skills/grpc-service-development/SKILL.md.
What does grpc-service-development do?
It guides the agent through gRPC service design: Protocol Buffers contracts, unary and streaming calls, Node.js and Python servers, plus the client side.
What breaks a gRPC service?
The skill flags two things: browser clients need gRPC-Web, and production needs TLS. Skip either and the setup will not behave as intended.
Source text
SKILL.md · MIT
---
name: grpc-service-development
description: >
Build high-performance gRPC services with Protocol Buffers, bidirectional
streaming, and microservice communication. Use when building gRPC servers,
defining service contracts, or implementing inter-service communication.
---
# gRPC Service Development
## Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
## Overview
Develop efficient gRPC services using Protocol Buffers for service definition, with support for unary calls, client streaming, server streaming, and bidirectional streaming patterns.
## When to Use
- Building microservices that require high performance
- Defining service contracts with Protocol Buffers
- Implementing real-time bidirectional communication
- Creating internal service-to-service APIs
- Optimizing bandwidth-constrained environments
- Building polyglot service architectures
## Quick Start
Minimal working example:
```protobuf
syntax = "proto3";
package user.service;
message User {
string id = 1;
string email = 2;
string first_name = 3;
string last_name = 4;
string role = 5;
int64 created_at = 6;
int64 updated_at = 7;
}
message CreateUserRequest {
string email = 1;
string first_name = 2;
string last_name = 3;
string role = 4;
}
message UpdateUserRequest {
string id = 1;
string email = 2;
string first_name = 3;
// ... (see reference guides for full implementation)
```
## Reference Guides
Detailed implementations in the `references/` directory:
| Guide | Contents |
|---|---|
| [Protocol Buffer Service Definition](references/protocol-buffer-service-definition.md) | Protocol Buffer Service Definition |
| [Node.js gRPC Server Implementation](references/nodejs-grpc-server-implementation.md) | Node.js gRPC Server Implementation |
| [Python gRPC Server (grpcio)](references/python-grpc-server-grpcio.md) | Python gRPC Server (grpcio) |
| [Client Implementation](references/client-implementation.md) | Client Implementation |
## Best Practices
### ✅ DO
- Use clear message and service naming
- Implement proper error handling with gRPC status codes
- Add metadata for logging and tracing
- Version your protobuf definitions
- Use streaming for large datasets
- Implement timeouts and deadlines
- Monitor gRPC metrics
### ❌ DON'T
- Use gRPC for browser-based clients (use gRPC-Web)
- Expose sensitive data in proto definitions
- Create deeply nested messages
- Ignore error status codes
- Send uncompressed large payloads
- Skip security with TLS in production
© aj-geddes · MIT · aj-geddes/useful-ai-prompts