grpc-contract-design

Design gRPC service contracts with protobuf3 and backward compatibility rules.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill grpc-contract-design
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: grpc-contract-design
Source: https://github.com/shafibabar/SDLC-Artifact-Factory/tree/main/skills/grpc-contract-design
Command: npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill grpc-contract-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexity of designing internal service-to-service communication by enforcing a strict, contract-first approach using Protocol Buffers, preventing common pitfalls like wire-format corruption and breaking changes.

Core Features & Use Cases

  • Contract-First Design: Guides the authoring of .proto files as the single source of truth for service definitions and message structures.
  • Compatibility Enforcement: Provides rules for field numbering, reserved tags, and breaking-change classification to ensure long-term API stability.
  • Communication Patterns: Offers a decision framework for selecting between unary, server-streaming, client-streaming, and bidirectional patterns based on data flow requirements.

Quick Start

Use the grpc-contract-design skill to review my current proto file for breaking changes and field numbering compliance.

Frequently Asked Questions about grpc-contract-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent breaking changes in protobuf3 definitions?▼

To prevent breaking changes in protobuf3 definitions, enforce strict field numbering, reserve deleted tags, and apply CI-gated linting to classify and reject incompatible wire-format modifications.

What is the best way to choose gRPC streaming patterns for service-to-service APIs?▼

Choosing gRPC streaming patterns requires analyzing data flow requirements to decide between unary, server-streaming, client-streaming, or bidirectional RPCs for your internal service-to-service APIs.

How do I map structured error handling models to gRPC status codes?▼

Mapping structured error handling models to gRPC status codes involves applying proper gRPC status code mapping rules to standardize error responses across your service-to-service architecture.

Can I use a contract-first approach for internal gRPC service architecture?▼

Yes, a contract-first approach is ideal for internal gRPC service architecture, using .proto files as the single source of truth to ensure wire-format stability and prevent communication pitfalls.

How do I review an existing proto file for wire-format stability?▼

Reviewing an existing proto file for wire-format stability involves checking field numbering compliance, validating reserved tags, and ensuring backward compatibility rules are satisfied.

Why does my gRPC service contract suffer from wire-format corruption?▼

gRPC service contracts suffer from wire-format corruption when protobuf3 definitions lack strict contract-first design rules, causing unmanaged field numbering changes and incompatible data flows.