Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Zero-downtime migration planning, compatibility validation, and rollback strategy generation. Tools for system, database, and infrastructure migrations with minimal business impact. Use when planning a database migration, infrastructure cutover, system replacement, or any high-risk transition that needs explicit rollback paths.
.claude/skills/alirezarezvani-migration-architect/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 167% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 210% | 0% |
Tier: POWERFUL Category: Engineering - Migration Strategy Purpose: Zero-downtime migration planning, compatibility validation, and rollback strategy generation
The Migration Architect skill provides comprehensive tools and methodologies for planning, executing, and validating complex system migrations with minimal business impact. This skill combines proven migration patterns with automated planning tools to ensure successful transitions between systems, databases, and infrastructure.
All paths relative to this skill folder; sample inputs in assets/, expected shapes in expected_outputs/.
bash# 1. Generate the migration plan from a spec (copy assets/sample_database_migration.json) python3 scripts/migration_planner.py --input migration_spec.json --format json -o migration_plan.json # 2. Check schema/API compatibility — exits non-zero unless fully compatible (CI gate) python3 scripts/compatibility_checker.py --before assets/database_schema_before.json --after assets/database_schema_after.json --type database --format json -o compatibility.json # 3. Generate the rollback runbook from the plan python3 scripts/rollback_generator.py --input migration_plan.json --format both -o rollback_runbook
Outputs chain: migration_plan.json (phases, risks, estimated_duration_hours) feeds step 3; compatibility.json reports overall_compatibility plus breaking_changes_count / potentially_breaking_count.
Gate: the migration is not approved until (a) compatibility_checker exits 0 (overall_compatibility: compatible) or every breaking/potentially-breaking item is explicitly accepted by the owner in writing, and (b) a rollback runbook exists for every phase in the plan. Re-run both checks after any schema revision.
mermaidgraph TD A[Client Requests] --> B[API Gateway] B --> C{Route Decision} C -->|Legacy Path| D[Legacy Service] C -->|New Path| E[New Service] D --> F[Legacy Database] E --> G[New Database]
python# Example feature flag implementation class MigrationFeatureFlag: def __init__(self, flag_name, rollout_percentage=0): self.flag_name = flag_name self.rollout_percentage = rollout_percentage def is_enabled_for_user(self, user_id): hash_value = hash(f"{self.flag_name}:{user_id}") return (hash_value % 100) < self.rollout_percentage def gradual_rollout(self, target_percentage, step_size=10): while self.rollout_percentage < target_percentage: self.rollout_percentage = min( self.rollout_percentage + step_size, target_percentage ) yield self.rollout_percentage
Implement automatic fallback to legacy systems when new systems show degraded performance:
pythonclass MigrationCircuitBreaker: def __init__(self, failure_threshold=5, timeout=60): self.failure_count = 0 self.failure_threshold = failure_threshold self.timeout = timeout self.last_failure_time = None self.state = 'CLOSED' # CLOSED, OPEN, HALF_OPEN def call_new_service(self, request): if self.state == 'OPEN': if self.should_attempt_reset(): self.state = 'HALF_OPEN' else: return self.fallback_to_legacy(request) try: response = self.new_service.process(request) self.on_success() return response except Exception as e: self.on_failure() return self.fallback_to_legacy(request)
sql -- Example delta query for reconciliation SELECT 'missing_in_target' as issue_type, source_id FROM source_table s WHERE NOT EXISTS ( SELECT 1 FROM target_table t WHERE t.id = s.id ) UNION ALL SELECT 'extra_in_target' as issue_type, target_id FROM target_table t WHERE NOT EXISTS ( SELECT 1 FROM source_table s WHERE s.id = t.id );
yaml# Example migration pipeline stage migration_validation: stage: test script: - python scripts/compatibility_checker.py --before=old_schema.json --after=new_schema.json - python scripts/migration_planner.py --config=migration_config.json --validate artifacts: reports: - compatibility_report.json - migration_plan.json
terraform# Example Terraform for blue-green infrastructure resource "aws_instance" "blue_environment" { count = var.migration_phase == "preparation" ? var.instance_count : 0 # Blue environment configuration } resource "aws_instance" "green_environment" { count = var.migration_phase == "execution" ? var.instance_count : 0 # Green environment configuration }
This Migration Architect skill provides a comprehensive framework for planning, executing, and validating complex system migrations while minimizing business impact and technical risk. The combination of automated tools, proven patterns, and detailed procedures enables organizations to confidently undertake even the most complex migration projects.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,961 | 23,680 | +19% | 1 | 1 | 0% | 4,541 | 8,159 | +80% | 0 | 0 | — |
case-02 | fail→fail | 3,370 | 7,145 | +112% | 1 | 1 | 0% | 196 | 4,084 | +1984% | 0 | 0 | — |
case-03 | fail→pass | 28,768 | 26,611 | -7% | 1 | 1 | 0% | 6,191 | 8,311 | +34% | 0 | 0 | — |
case-04 | fail→fail | 10,472 | 10,444 | -0% | 1 | 1 | 0% | 2,060 | 5,475 | +166% | 0 | 0 | — |
case-05 | pass→pass | 14,019 | 10,762 | -23% | 1 | 1 | 0% | 3,188 | 5,977 | +87% | 0 | 0 | — |
case-06 | pass→pass | 16,527 | 20,136 | +22% | 1 | 1 | 0% | 2,819 | 7,216 | +156% | 0 | 0 | — |
case-07 | fail→pass | 9,769 | 5,115 | -48% | 1 | 1 | 0% | 1,676 | 4,476 | +167% | 0 | 0 | — |
case-16 | fail→pass | 11,726 | 1,986 | -83% | 1 | 1 | 0% | 2,201 | 3,882 | +76% | 0 | 0 | — |
case-08 | fail→pass | 9,926 | 3,157 | -68% | 1 | 1 | 0% | 1,759 | 4,140 | +135% | 0 | 0 | — |
case-09 | pass→pass | 15,828 | 13,543 | -14% | 1 | 1 | 0% | 3,074 | 6,139 | +100% | 0 | 0 | — |
case-10 | pass→pass | 5,823 | 5,206 | -11% | 1 | 1 | 0% | 1,031 | 4,509 | +337% | 0 | 0 | — |
case-11 | pass→pass | 4,586 | 6,222 | +36% | 1 | 1 | 0% | 891 | 4,572 | +413% | 0 | 0 | — |
case-12 | fail→pass | 6,863 | 5,130 | -25% | 1 | 1 | 0% | 1,486 | 4,603 | +210% | 0 | 0 | — |
case-13 | pass→pass | 3,980 | 3,646 | -8% | 1 | 1 | 0% | 758 | 4,056 | +435% | 0 | 0 | — |
case-14 | pass→pass | 9,291 | 7,649 | -18% | 1 | 1 | 0% | 2,055 | 5,124 | +149% | 0 | 0 | — |
case-15 | pass→pass | 8,604 | 5,308 | -38% | 1 | 1 | 0% | 1,499 | 4,397 | +193% | 0 | 0 | — |
case-17 | fail→pass | 10,447 | 1,690 | -84% | 1 | 1 | 0% | 1,949 | 3,767 | +93% | 0 | 0 | — |
case-18 | fail→pass | 11,150 | 2,188 | -80% | 1 | 1 | 0% | 2,153 | 3,856 | +79% | 0 | 0 | — |
case-19 | pass→pass | 9,651 | 11,559 | +20% | 1 | 1 | 0% | 1,695 | 5,645 | +233% | 0 | 0 | — |
case-20 | fail→pass | 7,055 | 2,813 | -60% | 1 | 1 | 0% | 1,250 | 4,040 | +223% | 0 | 0 | — |
case-21 | pass→pass | 8,444 | 3,179 | -62% | 1 | 1 | 0% | 1,458 | 4,058 | +178% | 0 | 0 | — |
case-22 | pass→pass | 10,889 | 10,523 | -3% | 1 | 1 | 0% | 1,901 | 5,291 | +178% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.