workflow-authoring-schema-compatibility

Implement alias shims and dual-contract validation for workflow JSON schema evolution.

1|Updated Dec 23, 2025
One-click install
npx skills add https://github.com/jonnymuir/Umbraco.Prism --skill workflow-authoring-schema-compatibility
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: workflow-authoring-schema-compatibility
Source: https://github.com/jonnymuir/Umbraco.Prism/tree/main/.squad/skills/workflow-authoring-schema-compatibility
Command: npx skills add https://github.com/jonnymuir/Umbraco.Prism --skill workflow-authoring-schema-compatibility

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses the challenge of evolving an authored workflow JSON schema without breaking existing legacy payloads, patch requests, or historical data fixtures.

Core Features & Use Cases

  • Alias Mapping: Provides a strategy for shimming legacy property names (e.g., stageKey to key) to support cleaner canonical models.
  • Schema Validation: Ensures that both the persisted JSON shape and the runtime-facing validation contracts remain synchronized.
  • Use Case: When refactoring a workflow engine's data model, use this pattern to allow the backend to accept both new, clean property names and older, legacy aliases during deserialization, preventing breaking changes for existing clients.

Quick Start

Apply the workflow authoring schema compatibility pattern by defining alias shims in your C# DTOs and validating them against the canonical JSON schema.

Frequently Asked Questions about workflow-authoring-schema-compatibility

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

FAQPage Schema
How do I maintain JSON schema compatibility when refactoring a C# workflow engine?

Maintain JSON schema compatibility during C# workflow refactoring by implementing alias shims in your DTOs to accept both canonical property names and legacy aliases during deserialization. This prevents breaking changes for existing clients sending patch payloads.

What is the best way to rename workflow properties without breaking legacy JSON payloads?

Renaming workflow properties without breaking legacy JSON payloads is best achieved using dual-contract validation and alias mapping. This approach shims older naming conventions to cleaner canonical models while keeping persisted JSON shapes and runtime validation synchronized.

How does dual-contract validation work for evolving workflow definitions?

Dual-contract validation for evolving workflow definitions works by enforcing strict runtime validation requirements while simultaneously allowing the backend authoring system to accept historical data fixtures and older patch envelopes through property alias shimming.

Can I use alias shims to support both new and old property names in API patch requests?

Yes, you can use alias shims in your C# data transfer objects to support both new canonical property names and old legacy aliases in API patch requests. This dual-acceptance strategy ensures backward compatibility during your data model transition.

When do I need alias mapping for my workflow JSON schema?

You need alias mapping for your workflow JSON schema when transitioning from legacy property naming conventions to cleaner canonical shapes. It is required to prevent breaking existing clients, historical data fixtures, and patch payloads during backend data model refactoring.