Skip to content
Back to skills

Springboot Migration

ASecurity

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.

  • 73 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentpythonjavabashspringapi

Works with

  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add a-pavithraa/springboot-skills-marketplace --skill springboot-migration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Springboot Migration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Springboot Migration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/a-pavithraa-springboot-migration/badge)](https://www.skillsdirectory.com/skills/a-pavithraa-springboot-migration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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:

```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`

Files in this skill

  • SKILL.md4 KB
  • references/migration-overview.md5.2 KB
  • references/spring-boot-4-migration.md23.5 KB
  • references/spring-modulith-2-migration.md16.7 KB
  • references/testcontainers-2-migration.md17.2 KB
  • scripts/scan_migration_issues.py23.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.