# Protobuf Grpc Designer

> Protocol Buffers and gRPC service definition with backward compatibility checks

- Skill: `a5c-ai/protobuf-grpc-designer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/protobuf-grpc-designer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/protobuf-grpc-designer/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/protobuf-grpc-designer

---


# Protocol Buffers and gRPC Designer Skill

## Overview

This skill specializes in designing Protocol Buffers schemas and gRPC service definitions with a focus on backward compatibility, performance, and cross-language interoperability.

## Capabilities

- Design .proto files following Google's style guide and best practices
- Implement gRPC service definitions with streaming support
- Validate wire format backward compatibility
- Generate language-specific stubs for multiple targets
- Configure proto linting and breaking change detection
- Design efficient message structures for performance
- Implement gRPC interceptors and middleware patterns

## Target Processes

- API Design Specification
- Backward Compatibility Management
- Multi-Language SDK Strategy

## Integration Points

- buf (schema registry, linting, breaking change detection)
- protoc (Protocol Buffer compiler)
- grpcurl (gRPC testing)
- gRPC-Gateway (REST transcoding)
- Connect (modern gRPC alternative)

## Input Requirements

- Service domain requirements
- Message structure definitions
- Streaming requirements (unary, server, client, bidirectional)
- Target languages for code generation
- Backward compatibility policy

## Output Artifacts

- .proto schema files
- buf.yaml configuration
- Generated language stubs
- Breaking change analysis report
- API documentation from proto comments

## Usage Example

```yaml
skill:
  name: protobuf-grpc-designer
  context:
    protoDirectory: ./proto
    targetLanguages:
      - go
      - python
      - typescript
    enableBufLint: true
    checkBreakingChanges: true
    streamingRequired: true
```

## Best Practices

1. Use package names that reflect domain boundaries
2. Reserve field numbers when removing fields
3. Use well-known types (Timestamp, Duration, etc.)
4. Document all messages and fields with comments
5. Version services through package names
6. Implement proper error handling with Status codes

