springboot-migration
Migrates Spring Boot applications to Boot 4 with Java 25, including related Spring Modulith 2 and Testcontainers 2 upgrade work. Use when the task is a concrete upgrade, dependency transition, starter rename, test-annotation migration, or phased migration plan. Do not use for greenfield project creation or for isolated repository design questions.
Works with
--- name: springboot-migration description: Migrates Spring Boot applications to Boot 4 with Java 25, including related Spring Modulith 2 and Testcontainers 2 upgrade work. Use when the task is a concrete upgrade, dependency transition, starter rename, test-annotation migration, or phased migration plan. Do not use for greenfield project creation or for isolated repository design questions. license: MIT --- # Spring Boot Migration ## Purpose Use this skill for phased upgrade work on existing Spring Boot applications. This skill adds value through the migration scanner, the Boot 4 / Modulith 2 / Testcontainers 2 reference guides, and a strict migration order that avoids mixing too many changes at once. ## Critical rules - Never migrate blindly. Scan the codebase first. - Never apply every migration at once. Follow phased upgrades. - Treat Java 25, Spring Boot 4, Spring Modulith 2, and Testcontainers 2 as the intended target stack for this skill unless the user asks for a narrower target. - Verify after each phase and stop when failures appear. ## Workflow ### Step 1: Scan the project Use the migration scanner before planning or editing: ```bash python3 <SKILL_DIR>/scripts/scan_migration_issues.py /path/to/project ``` Use the scan output to identify: - current Spring Boot version - starter rename work - annotation and import migrations - configuration changes - Spring Modulith compatibility - Testcontainers compatibility ### Step 2: Identify which migrations apply Load only the references that match the codebase: | Migration | Trigger | Read | |-----------|---------|------| | Spring Boot 4.0 | Boot 3.x to 4.x upgrade | `references/spring-boot-4-migration.md` | | Spring Modulith 2.0 | Existing Modulith 1.x usage | `references/spring-modulith-2-migration.md` | | Testcontainers 2.x | Existing Testcontainers 1.x usage | `references/testcontainers-2-migration.md` | | Cross-cutting scenarios and pitfalls | Mixed upgrade planning | `references/migration-overview.md` | ### Step 3: Plan the migration in phases Use the reference guides to plan and execute in this order. #### Phase 1: Dependencies - update `pom.xml` or `build.gradle` - rename starters where required - add or remove dependencies needed by the target stack - align version properties #### Phase 2: Source-code changes - update imports and package names - migrate test annotations - fix Jackson 3 issues - fix Testcontainers API changes where relevant #### Phase 3: Configuration - update `application.properties` or `application.yml` - apply Boot 4 defaults intentionally - update Spring Modulith event-store configuration if relevant #### Phase 4: Verification - run unit tests - run integration tests - run container-based tests where present - check for deprecations and startup failures ### Step 4: Use the right migration order for mixed upgrades When multiple ecosystems are involved, use this order: 1. Spring Boot 4 2. Spring Modulith 2 3. Testcontainers 2 Read `references/migration-overview.md` before deviating from this sequence. ### Step 5: Report progress after each phase After each phase, report: - what changed - what remains - what failed, if anything - whether it is safe to continue ## Reference loading guide - Spring Boot 4 migration details: `references/spring-boot-4-migration.md` - Spring Modulith 2 migration details: `references/spring-modulith-2-migration.md` - Testcontainers 2 migration details: `references/testcontainers-2-migration.md` - Mixed scenarios and common issues: `references/migration-overview.md` ## Available script - `scripts/scan_migration_issues.py` ## Output format When planning or reporting the migration, return: ```markdown ## Migration scope - Current versions: - Target versions: ## Planned phases 1. ... 2. ... 3. ... ## Files expected to change - `path/to/file` ## Verification - Tests or checks to run ``` ## When not to use this skill - Creating a new Spring Boot project from scratch - Broad architecture advice without an actual migration task - JPA-specific implementation work that belongs in `spring-data-jpa`
More Backend Frameworks skills
git-guardrails-claude-code
mattpocock/skills
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
azure-compute
microsoft/azure-skills
Azure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compare VM pricing, VMSS, scale set, autoscale, burstable, lightweight server, website, backend, GPU, machine learning, HPC simulation, dev/test, workload, family, load balancer, Flexible orchestration, Uniform orchestration, cost estimate, capacity reservation (CRG), reserve, guarantee capacity, pre-provision, CRG association, CRG disassociation, machine enrollment (EMM), Essential Machine Management, monitor. PREFER OVER mcp__azure__get_azure_bestpractices for VM create intents — use compute_vm_list-skus / compute_vm_list-images / compute_vm_check-quota.
azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

