MI

Provides migration plans using strategies like the strangler fig pattern to update APIs with minimal downtime.

Install

mkdir -p .claude/skills/migrating-apis && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2023" && unzip -o skill.zip -d .claude/skills/migrating-apis && rm skill.zip

Installs to .claude/skills/migrating-apis

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Implement API migrations between versions, platforms, or frameworks
67 charsno explicit “when” trigger
Advanced

Key capabilities

  • Inventory existing API endpoints
  • Generate endpoint mapping tables for migrations
  • Create request/response transformation adapters
  • Implement traffic routing for gradual cutover
  • Set up traffic shadowing for data consistency validation

How it works

This skill implements API migrations using patterns like strangler fig, parallel running, and traffic shadowing. It generates migration plans, maps endpoints, transforms request/response formats, and validates data consistency.

Inputs & outputs

You give it
Source API details, target API specifications, and migration goals
You get back
Endpoint mapping, transformation adapters, routing middleware, shadow comparison, and migration dashboard

When to use migrating-apis

  • Upgrading API versions
  • Migrating between frameworks
  • Implementing traffic shadowing
  • Planning zero-downtime API migrations

About this skill

Migrating APIs

Overview

Implement 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.

Prerequisites

  • Source API codebase and OpenAPI specification accessible for analysis
  • Target framework or platform environment provisioned and accessible
  • Traffic routing capability for gradual cutover (reverse proxy, feature flags, or API gateway)
  • Database migration tools if schema changes accompany the API migration (Flyway, Alembic, Prisma Migrate)
  • Integration test suite covering all existing API consumers

Instructions

  1. Inventory all existing endpoints using Grep and Read, documenting HTTP methods, URL patterns, request/response schemas, authentication mechanisms, and consumer dependencies.
  2. Generate an endpoint mapping table that pairs each legacy endpoint with its target equivalent, flagging breaking changes in URL structure, field names, data types, and authentication flow.
  3. Create request/response adapters that transform legacy format to target format, handling field renames, nested-to-flat conversions, and enum value changes.
  4. Implement a traffic router (reverse proxy rules or middleware) that directs requests to either the legacy or target implementation based on migration phase, endpoint, or feature flag.
  5. Set up traffic shadowing to duplicate production requests to the target implementation without serving target responses, comparing outputs for data consistency validation.
  6. Build a migration dashboard tracking per-endpoint migration status (legacy-only, shadow, canary, migrated), error rates, and latency comparison between implementations.
  7. Execute phased cutover: shadow (compare only) -> canary (1% traffic to target) -> gradual ramp (10%, 25%, 50%, 100%) -> legacy decommission, with automatic rollback triggers.
  8. Validate migration completeness by running the full integration test suite against the target implementation and comparing response bodies with legacy for a representative request sample.

See ${CLAUDE_SKILL_DIR}/references/implementation.md for the full implementation guide.

Output

  • ${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 Handling

ErrorCauseSolution
Response mismatch in shadowTarget returns different data than legacy for same requestLog diff details; classify as expected (intentional change) or bug; fix before canary phase
Adapter transformation failureLegacy request contains edge-case field values not handled by adapterAdd fallback handling; log unmatched fields; expand adapter test coverage
Rollback triggeredCanary error rate exceeds threshold (e.g., >2% 5xx)Automatically route traffic back to legacy; alert migration team; analyze failures
Consumer authentication breakTarget uses different auth scheme than legacyRun auth adapter translating legacy tokens to target format during transition
Data inconsistencyDatabase schema migration introduced transformation errorsRun data validation queries comparing legacy and target data stores; fix transformation logic

Refer to ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error patterns.

Examples

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.

Resources

  • Strangler Fig Application pattern: Martin Fowler
  • Feature flag services: LaunchDarkly, Unleash, Flagsmith
  • Traffic shadowing with Envoy proxy or Istio service mesh
  • Blue-green and canary deployment strategies

Prerequisites

Source API codebase and OpenAPI specification accessible for analysisTarget framework or platform environment provisioned and accessibleTraffic routing capability for gradual cutoverDatabase migration tools if schema changes accompany the API migration

Limitations

  • Response mismatch in shadow if target returns different data
  • Adapter transformation failure if legacy request contains unhandled edge-case field values
  • Rollback triggered if canary error rate exceeds threshold

How it compares

This skill provides a structured, phased approach to API migration with minimal downtime, unlike a direct, unmanaged API replacement.

Compared to similar skills

migrating-apis side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
migrating-apis (this skill)225dReviewAdvanced
flutter-development1,5555moNo flagsIntermediate
godot1,0445moReviewIntermediate
fastapi-templates5202moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,5551,991

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

1,0441,947

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

5201,086

software-architecture

davila7

Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.

333868

drizzle

lobehub

Drizzle ORM schema and database guide. Use when working with database schemas (src/database/schemas/*), defining tables, creating migrations, or database model code. Triggers on Drizzle schema definition, database migrations, or ORM usage questions.

238873

frontend-design

anthropics

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

481544

Search skills

Search the agent skills registry