schema-evolution

Analyze schema compatibility for Avro, Protobuf, and JSON Schema formats.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/hung-phan/system-skills --skill schema-evolution-hung-phan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: schema-evolution
Source: https://github.com/hung-phan/system-skills/tree/main/skills/system-review/references/data-systems/schema-evolution
Command: npx skills add https://github.com/hung-phan/system-skills --skill schema-evolution-hung-phan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill ensures that data schemas evolve smoothly without disrupting services or corrupting data, addressing compatibility issues during schema changes in distributed systems.

Core Features & Use Cases

  • Compatibility Matrix: Analyzes and verifies compatibility between producers, consumers, and replicas.
  • Schema Evolution Guidelines: Provides guidelines and patterns for evolving Avro, Protobuf, and JSON schemas.
  • Expand/Contract Pattern: Outlines the six-phase expand/contract migration pattern for changing database schemas.
  • Online Schema Changes: Recommends online schema change tools like pt-online-schema-change and gh-ost for MySQL.
  • Dual-Write Mitigation: Offers solutions like the outbox pattern and change data capture (CDC) to avoid dual-write inconsistencies.
  • Use Case: When updating a schema in a live database, use this Skill to ensure compatibility and minimize the risk of downtime.

Quick Start

Use the schema-evolution skill to analyze compatibility for a schema change in your database.

Frequently Asked Questions about schema-evolution

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

FAQPage Schema
How do I ensure backward and forward compatibility when evolving Protobuf and Avro schemas?

Schema evolution compatibility for Protobuf and Avro schemas is verified by analyzing producer and consumer configurations against a compatibility matrix to prevent data corruption. This ensures backward, forward, and full compatibility across distributed system components.

What is the expand/contract pattern for database schema migration?

The expand/contract pattern is a six-phase migration methodology for evolving database schemas without service downtime. It incrementally deploys schema changes to ensure live systems remain compatible throughout the database transition process.

How do I avoid dual-write inconsistencies during schema evolution?

To avoid dual-write inconsistencies during schema evolution, implement the outbox pattern or change data capture (CDC). These solutions ensure data reliability across producers and consumers without disrupting active distributed services.

Can I use pt-online-schema-change and gh-ost for live MySQL schema updates?

Yes, pt-online-schema-change and gh-ost are recommended online schema change tools for MySQL. They allow you to apply live database schema updates while minimizing the risk of downtime and service disruption.

Does schema evolution support JSON Schema validation in NoSQL stores?

Schema evolution supports JSON Schema formats within NoSQL stores by utilizing Python libraries to read and analyze schema configurations. This verifies data compatibility between producers and consumers to prevent data corruption.