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.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
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.
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:
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.xmlorbuild.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.propertiesorapplication.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:
- Spring Boot 4
- Spring Modulith 2
- 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:
## 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 by a-pavithraa
View allDesigns and implements Spring Data JPA repositories, projections, query patterns, custom repositories, CQRS read models, entity relationships, and persistence performance fixes for Java 25 and Spring Boot 4 projects. Use when the task needs repository-boundary decisions or concrete JPA implementation patterns from this skill. Do not use for generic SQL help or project-wide migration work that belongs in another skill.
Creates Java 25 and Spring Boot 4 project structures, scaffolds, and implementation starting points for new services, REST APIs, and modular backends. Use when the task is to initialize a Spring Boot project, choose an architecture, select Spring Boot 4 features, or apply the bundled templates and references in this skill. Do not use for migrating existing projects or for isolated JPA/repository work without broader project-creation context.
code-reviewer: Reviews Java 25 and Spring Boot 4 codebases, pull requests, files, and modules for migration risks, architecture boundary violations, JSpecify null-safety issues, security flaws, performance regressions, and Spring Data pitfalls. Use when the task is a concrete Java or Spring code review with code context. Do not use for Kotlin-only code, non-Spring frameworks, or generic review advice without files or diffs.
