migrate
Migration workflow - research → analyze → plan → implement → review
When & Why to Use This Skill
The Migrate skill is a sophisticated multi-agent workflow designed to automate high-risk technical migrations across frameworks, languages, and infrastructure. By orchestrating a sequence of specialized agents—Oracle for research, Phoenix for impact analysis, Plan-Agent for strategy, Kraken for implementation, and Surveyor for review—it provides a structured and safe environment for modernizing software. This skill is essential for developers and engineering teams looking to reduce technical debt, handle breaking changes efficiently, and ensure architectural consistency during complex transitions.
Use Cases
- Framework Upgrades: Automate the transition between major versions (e.g., React 17 to 18) by identifying deprecated APIs and implementing new patterns.
- Language Versioning: Seamlessly migrate codebases to newer language specifications (e.g., Python 3.9 to 3.12) while maintaining compatibility and performance.
- Database Migration: Facilitate the move between different database engines (e.g., MongoDB to PostgreSQL) including schema redesign and data transformation logic.
- Cloud Infrastructure Shifts: Manage the migration of services between cloud providers (e.g., AWS to GCP) with automated configuration translation and service mapping.
- Large-scale Refactoring: Execute complex, phased code improvements with built-in risk assessment, automated testing, and rollback strategies.
| name | migrate |
|---|---|
| description | Migration workflow - research → analyze → plan → implement → review |
/migrate - Migration Workflow
Safe migrations for frameworks, languages, and infrastructure.
When to Use
- "Migrate to X"
- "Upgrade framework"
- "Move from X to Y"
- "Upgrade Python/Node/etc."
- "Migrate database"
- Framework version upgrades
- Language migrations
- Infrastructure changes
Workflow Overview
┌──────────┐ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌───────────┐
│ oracle │───▶│ phoenix │───▶│ plan- │───▶│ kraken │───▶│ surveyor │
│ │ │ │ │ agent │ │ │ │ │
└──────────┘ └──────────┘ └────────────┘ └──────────┘ └───────────┘
Research Analyze Plan Implement Review
target current migration changes migration
Agent Sequence
| # | Agent | Role | Output |
|---|---|---|---|
| 1 | oracle | Research target framework/version | Research report |
| 2 | phoenix | Analyze current codebase for migration impact | Impact analysis |
| 3 | plan-agent | Create phased migration plan | Migration plan |
| 4 | kraken | Implement migration changes | Code changes |
| 5 | surveyor | Review migration for completeness | Migration review |
Why Extra Gates?
Migrations are high-risk:
- Breaking changes between versions
- Dependency conflicts
- Data format changes
- API deprecations
The extra research and review phases catch issues early.
Execution
Phase 1: Research Target
Task(
subagent_type="oracle",
prompt="""
Research migration target: [TARGET]
Investigate:
- Breaking changes from current version
- New APIs and patterns
- Deprecated features we use
- Migration guides from official docs
- Common pitfalls and solutions
Output: Migration research report
"""
)
Phase 2: Analyze Current State
Task(
subagent_type="phoenix",
prompt="""
Analyze codebase for migration: [FROM] → [TO]
Identify:
- Files using deprecated APIs
- Dependency conflicts
- Patterns that need updating
- Test coverage of affected areas
- Risk areas (critical paths)
Output: Impact analysis with affected files
"""
)
Phase 3: Plan Migration
Task(
subagent_type="plan-agent",
prompt="""
Create migration plan: [FROM] → [TO]
Research: [from oracle]
Impact: [from phoenix]
Plan should:
- Be phased (incremental if possible)
- Each phase independently testable
- Include rollback strategy
- Prioritize critical path stability
Output: Phased migration plan
"""
)
Phase 4: Implement
Task(
subagent_type="kraken",
prompt="""
Implement migration phase: [PHASE_N]
Plan: [from plan-agent]
Requirements:
- Follow plan exactly
- Run tests after each change
- Document any deviations
- Stop if tests fail
Output: Completed phase with test results
"""
)
Phase 5: Review Migration
Task(
subagent_type="surveyor",
prompt="""
Review migration: [FROM] → [TO]
Check:
- All deprecated APIs replaced
- No remaining compatibility shims
- Tests passing
- Performance acceptable
- No security regressions
Output: Migration review report
"""
)
Migration Types
Framework Upgrade
User: /migrate React 17 → 18
→ Full workflow with hooks/concurrent mode changes
Language Version
User: /migrate Python 3.9 → 3.12
→ Focus on new syntax, removed features
Database Migration
User: /migrate MongoDB → PostgreSQL
→ Schema design, data transformation, query rewrite
Infrastructure
User: /migrate AWS → GCP
→ Service mapping, config translation
Example
User: /migrate from Express to Fastify
Claude: Starting /migrate workflow: Express → Fastify
Phase 1: Researching Fastify...
[Spawns oracle]
Key differences:
- Schema-based validation (vs middleware)
- Plugin architecture
- Async/await native
- Different middleware pattern
Phase 2: Analyzing current Express usage...
[Spawns phoenix]
Impact analysis:
- 23 route files to update
- 8 middleware to convert
- 3 plugins need Fastify equivalents
- Test coverage: 78%
Phase 3: Creating migration plan...
[Spawns plan-agent]
Migration Plan: Express → Fastify
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 1: Setup & Core
- Add Fastify alongside Express
- Migrate core server setup
- Run both in parallel
Phase 2: Routes (by domain)
- Migrate auth routes
- Migrate user routes
- Migrate product routes
- ...
Phase 3: Middleware
- Convert error handler
- Convert auth middleware
- Convert logging
Phase 4: Cleanup
- Remove Express
- Remove compatibility layer
- Final testing
Rollback: Keep Express until Phase 4 complete
Phase 4: Implementing Phase 1...
[Spawns kraken]
✅ Fastify server running alongside Express
✅ Core routes migrated
✅ Tests passing
[Continues through phases...]
Phase 5: Reviewing migration...
[Spawns surveyor]
✅ All Express code removed
✅ 23/23 routes migrated
✅ Performance improved (2.1x faster)
✅ No security regressions
Migration complete! Express → Fastify
Incremental Migration
For large codebases, run one phase at a time:
User: /migrate React 17 → 18 --phase 1
[Runs only Phase 1]
User: /migrate React 17 → 18 --phase 2
[Runs Phase 2, reads previous handoff]
Flags
--phase N: Run specific phase only--dry-run: Plan without implementing--rollback: Execute rollback plan--parallel: Run new alongside old (strangler fig)