Skip to content
cccskills
FreePublished on GitHub

springboot-migration

Use when upgrading an existing Spring Boot application to Boot 4 — dependency transitions, starter renames, test-annotation migration (e.g. @MockBean → @MockitoBean), Jackson 3 issues, related Spring Modulith 2 or Testcontainers 2 upgrade work, or planning a phased migration. Not for greenfield project creation or isolated repository design.

The English summary is being prepared. Showing the original description.

See how to install

Files included (6)

  • SKILL.md4.3 KB
  • references/migration-overview.md5.8 KB
  • references/spring-boot-4-migration.md26.7 KB
  • references/spring-modulith-2-migration.md20.8 KB
  • references/testcontainers-2-migration.md18.3 KB
  • scripts/scan_migration_issues.py37.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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 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. Boot 4's Java baseline is 17; recommend Java 25 for new compile targets but do not force an upgrade past what the migration actually requires.
  • Verify after each phase and stop when failures appear.

Workflow

Step 1: Scan the project

Use the migration scanner before planning or editing. It reads pom.xml, build.gradle, or build.gradle.kts (whichever the project has) plus Java sources, properties files, and Flyway migrations:

python3 "${CLAUDE_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:

MigrationTriggerRead
Spring Boot 4.0Boot 3.x to 4.x upgradereferences/spring-boot-4-migration.md
Spring Modulith 2.0Existing Modulith 1.x usagereferences/spring-modulith-2-migration.md
Testcontainers 2.xExisting Testcontainers 1.x usagereferences/testcontainers-2-migration.md
Cross-cutting scenarios and pitfallsMixed upgrade planningreferences/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:

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when reviewing Spring Boot 4 / Java 17+ code with concrete files or diffs — pull requests, modules, or pasted Java/Spring sources — for migration risks, architecture boundary leaks, JSpecify null-safety gaps, security flaws, performance regressions, or Spring Data pitfalls. Not for Kotlin-only code, non-Spring frameworks, or generic review advice without code context.

The English summary is being prepared. Showing the original description.

a-pavithraa/springboot-skills-marketplace80Updated Oct 22, 2026

Use when starting a new Spring Boot 4 project — scaffolding a service, REST API, or modular backend; picking an architecture (layered, package-by-module, modular-monolith, tomato, DDD-hexagonal); selecting Spring Boot 4 features; or applying the bundled templates and references in this skill. Not for migrating existing projects or for isolated JPA/repository work without broader project-creation context.

The English summary is being prepared. Showing the original description.

a-pavithraa/springboot-skills-marketplace80Updated Oct 22, 2026

Use when designing or implementing Spring Data JPA on Spring Boot 4 — repository boundaries, projections, query patterns, custom repositories, CQRS read models, entity relationships, or persistence performance fixes. Not for generic SQL help, database admin work, or project-wide migration (see the springboot-migration skill).

The English summary is being prepared. Showing the original description.

a-pavithraa/springboot-skills-marketplace80Updated Oct 22, 2026

See all skills by a-pavithraa

Report a problem with this skill