Skip to content
Development
Skill

/055-design-parallel-change

Use when a database schema or data-meaning change needs Parallel Change, including expand, migrate, and contract sequencing for column renames, type or data reinterpretation, large-table backfills, relationship-table changes, enum/status transitions, timezone/default changes,

From plugin
plinth
457124 skills

Claude Code

$ npx -y skills add jabrena/plinth --skill 055-design-parallel-change --agent claude-code

SKILL.md

055-design-parallel-change.SKILL.md
name: 055-design-parallel-change
description: Use when a database schema or data-meaning change needs Parallel Change, including expand, migrate, and contract sequencing for column renames, type or data reinterpretation, large-table backfills, relationship-table changes, enum/status transitions, timezone/default changes, and index or uniqueness changes. This should trigger before framework-specific Flyway implementation guidance when deciding whether a migration needs a compatibility window or whether a simpler migration is sufficient. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0

Parallel Change Design

Guide Java Enterprise developers through Parallel Change for database migration scenarios. **This is an interactive SKILL**.

**What is covered in this Skill?**

  • Deciding whether a database migration needs a compatibility window
  • Sequencing database changes as expand, migrate, and contract deployable steps
  • Preserving old and new application versions during rollout and rollback windows
  • Handling column renames, type or data reinterpretation, large backfills, relationship-table changes, and index or uniqueness changes
  • Explaining tradeoffs such as temporary dual paths, extra migrations, verification effort, and delayed cleanup
  • Routing framework-specific implementation to Spring Boot, Quarkus, or Micronaut Flyway skills after the design approach is clear

Constraints

Use Parallel Change as a database migration design pattern, then hand off implementation details to the framework-specific migration skill when needed.

  • **MUST** read `references/055-design-parallel-change.md` before applying Parallel Change guidance
  • **MUST** explain expand, migrate, and contract as separate deployable steps when recommending Parallel Change
  • **MUST** decide whether Parallel Change is needed before recommending framework-specific Flyway implementation details
  • **MUST** recommend a simpler single migration when the change is additive, immediately safe, and does not require old and new application versions to coexist
  • **MUST** describe the compatibility, data-preservation, verification, and cleanup tradeoffs of the chosen approach
  • **MUST** use framework-specific Flyway skills for Spring Boot, Quarkus, or Micronaut implementation details after the migration strategy is selected

When to use this skill

  • Apply Parallel Change to this database migration
  • Use expand migrate contract for this schema change
  • Plan a safe column rename migration
  • Plan a zero-downtime database migration
  • Should this Flyway migration use Parallel Change?
  • Design a safe backfill and contract migration
  • Decide if this schema change needs a compatibility window

Workflow

1. **Classify the Migration Risk**

Read `references/055-design-parallel-change.md`, then identify the schema shape, data meaning, application read/write path, rollout window, rollback expectation, and production-data risk affected by the migration.

2. **Choose Parallel Change or Simpler Migration**

Recommend Parallel Change when old and new application versions or data interpretations must coexist. Recommend a simpler forward-only migration when the change is additive, small, immediately safe, and does not require a compatibility window.

3. **Design Expand, Migrate, Contract**

For Parallel Change, separate expand, migrate, and contract into independently deployable steps. Keep the old shape valid during expand and migrate; contract only after all deployed code and data have moved to the new shape.

4. **Plan Verification and Operations**

Define previous-release fixture checks, row-count expectations, duplicate detection, backfill monitoring, rollback behavior, and cleanup ownership. Prefer production-dialect migration tests and production-like data samples where feasible.

5. **Route Framework Implementation**

After the strategy is clear, use `313-frameworks-spring-db-migrations-flyway`, `413-frameworks-quarkus-db-migrations-flyway`, or `513-frameworks-micronaut-db-migrations-flyway` for framework-specific Flyway dependencies, configuration, migration locations, and tests.

6. **Report the Migration Plan**

Report the chosen approach, rejected alternative, expand/migrate/contract sequence or simpler migration, verification evidence, cleanup trigger, tradeoffs, skipped checks, and remaining risks.

Reference

For detailed guidance, examples, and constraints, see [references/055-design-parallel-change.md](references/055-design-parallel-change.md).

Read more
@jabrena
Ships withplinth

Languages: Español · 中文 Help this project grow: Become a sponsor

Stars on GitHub

Momentum

stars in total
457
Star history of jabrena/plinth on GitHub, a chart by star-history.com

Other skills on plinth.

001-commands-inventory

001-commands-inventory

Use when you need to generate a checklist document with embedded commands inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
002-agents-inventory

002-agents-inventory

Use when you need to generate a checklist document with embedded agents inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
003-skills-inventory

003-skills-inventory

Use when you need to generate a checklist document with Java system prompts from skills.xml, following the embedded section…

@jabrena@jabrenaInstall Skill
004-commands-installation

004-commands-installat…

Use when you need to install the embedded project commands into command directories (.github/commands, .claude/commands,…

@jabrena@jabrenaInstall Skill
005-agents-installation

005-agents-installatio…

Use when you need to install the embedded robot agents into .github/agents, .claude/agents, .cursor/agents, or .codex/agents,…

@jabrena@jabrenaInstall Skill
012-agile-epic

012-agile-epic

Guides the creation of agile epics with comprehensive definition including business value, success criteria, and breakdown into…

@jabrena@jabrenaInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about 055-design-parallel-change.

Which coding agents can use 055-design-parallel-change?
055-design-parallel-change installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.