Implement API migrations between versions, platforms, or frameworks with minimal downtime. Use when upgrading APIs between versions. Trigger with phrases like "migrate the API", "upgrade API version", or "migrate to new API".
68
62%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/api-development/api-migration-tool/skills/migrating-apis/SKILL.mdImplement API migrations between versions, frameworks, or platforms with minimal downtime using strangler fig pattern, parallel running, and traffic shadowing. Generate migration plans that map old endpoints to new equivalents, transform request/response formats, and validate data consistency between legacy and target implementations.
See ${CLAUDE_SKILL_DIR}/references/implementation.md for the full implementation guide.
${CLAUDE_SKILL_DIR}/migration/endpoint-mapping.json - Legacy-to-target endpoint mapping with change annotations${CLAUDE_SKILL_DIR}/migration/adapters/ - Request/response transformation functions per endpoint${CLAUDE_SKILL_DIR}/migration/router.js - Traffic routing middleware with phase-based switching${CLAUDE_SKILL_DIR}/migration/shadow-compare.js - Traffic shadow comparison and diff reporting${CLAUDE_SKILL_DIR}/migration/dashboard.md - Migration progress tracking per endpoint${CLAUDE_SKILL_DIR}/tests/migration/ - Parity tests comparing legacy and target responses| Error | Cause | Solution |
|---|---|---|
| Response mismatch in shadow | Target returns different data than legacy for same request | Log diff details; classify as expected (intentional change) or bug; fix before canary phase |
| Adapter transformation failure | Legacy request contains edge-case field values not handled by adapter | Add fallback handling; log unmatched fields; expand adapter test coverage |
| Rollback triggered | Canary error rate exceeds threshold (e.g., >2% 5xx) | Automatically route traffic back to legacy; alert migration team; analyze failures |
| Consumer authentication break | Target uses different auth scheme than legacy | Run auth adapter translating legacy tokens to target format during transition |
| Data inconsistency | Database schema migration introduced transformation errors | Run data validation queries comparing legacy and target data stores; fix transformation logic |
Refer to ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error patterns.
Express to FastAPI migration: Migrate a Node.js Express API to Python FastAPI, using nginx as the traffic router, shadowing production traffic for 1 week, then canary-releasing endpoint by endpoint over 4 weeks.
REST to GraphQL migration: Implement GraphQL resolvers that call the existing REST endpoints internally, gradually replacing REST data fetching with direct database access while maintaining the REST surface via a thin GraphQL-to-REST adapter.
Monolith to microservices: Extract a user management module from a monolithic API into a standalone service, using the strangler fig pattern with API gateway routing to direct /users/* traffic to the new service while other endpoints remain on the monolith.
See ${CLAUDE_SKILL_DIR}/references/examples.md for additional examples.
3e83543
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.