---
name: protobuf-grpc-designer-3e8fede9b0e5
description: Protocol Buffers and gRPC service definition with backward compatibility checks
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash
graph:
  domains: [domain:software-engineering]
  specializations: [specialization:sdk-platform-development]
  skillAreas: [skill-area:api-design, skill-area:protocol-design]
  roles: [role:platform-engineer]
  topics: [topic:api-design, topic:developer-experience]
---

# 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


---
Source attribution: a5c-ai
Original project: https://github.com/a5c-ai/babysitter
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2026 Gabriel Moreira

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: a5c-ai
Original project: https://github.com/a5c-ai/babysitter
Attribution basis: Upstream repository explicitly recorded in package mirror path

Fields of work: Development & Engineering, Product Management
Roles: Backend Developer, Data Engineer, ML / AI Engineer, Product Manager, Technical Product Manager
Specialties: API, Backend
Tools: Connect, Buf, Grpc Gateway, Grpcurl, Protoc
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: d74ad6bce6cd5cab5f894205161dcb11e2d9029f3dd73038c0f9c220461c2564
