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.