CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

springboot-migration

Use when upgrading an existing Spring Boot application, for example from Boot 3.x to Boot 4 or to the latest Spring Boot and Java: dependency transitions and starter renames, test annotations such as @MockBean to @MockitoBean, Jackson 3 issues, Spring Modulith 2 or Testcontainers 2 upgrades, code that stops compiling after a version bump, or planning a phased migration. Not for greenfield project creation or isolated repository design.

1.05x
Quality

94%

Does it follow best practices?

Impact

97%

1.05x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered orchestration body: executable scanner commands, an explicitly phased workflow with validation gates and stop-on-failure discipline, and clean one-level-deep routing into real reference files. The only weaknesses are mild redundancy (the reference paths listed twice) and phase bullets that defer all specifics to the references without a single inline example.

Suggestions

Drop the 'Reference loading guide' section and keep only the Step 2 trigger table, which already maps each migration scenario to its reference file.

Inline one or two concrete examples in the Phase 1-2 bullets (e.g., a starter rename pair or the @MockBean -> @MockitoBean mapping) so the common cases are actionable without opening a reference.

Consolidate the --check exit-code behavior into one place (either Phase 4 or 'Available script') instead of describing it twice.

DimensionReasoningScore

Conciseness

The body is lean, assumes Spring Boot competence (no concept explanations), and uses tight tables and checklists. Minor duplication could be trimmed: the 'Reference loading guide' section repeats the same four reference paths already given in the Step 2 table, and the 'Available script' section re-states the --check behavior from Phase 4. This fits the 4 anchor (efficient, minor instances that could be trimmed) rather than the 5 anchor's 'every token earns its place'.

4 / 5

Actionability

Concrete, copy-paste-ready commands are given for the scanner in both normal and --check modes, including exit-code semantics, plus a concrete output-format template and specific file targets (pom.xml/build.gradle, application.yml). Phase bullets such as 'fix Jackson 3 issues' and 'rename starters where required' are category-level directives whose specifics live one level deeper in the references — mostly executable guidance with minor gaps, matching the 4 anchor; it falls short of the 5 anchor because no common-case example (e.g., one starter rename or annotation mapping) appears inline.

4 / 5

Workflow Clarity

A clear five-step, four-phase sequence with explicit validation checkpoints and feedback loops: 'Verify after each phase and stop when failures appear', the scanner --check gate ('exits with 1 while any CRITICAL issue remains'), running unit/integration/container tests, a mandatory mixed-upgrade order, and per-phase reporting including 'whether it is safe to continue'. This matches the 5 anchor (clear sequence, explicit validation, error-recovery discipline).

5 / 5

Progressive Disclosure

Verified against the actual bundle: all four references/*.md files and scripts/scan_migration_issues.py referenced in the body exist, and the reference files route to specific sections (e.g., 'spring-boot-4-migration.md#phase-1-dependencies') rather than nesting further. The body is a compact overview with a trigger-based routing table (Step 2) giving well-signaled one-level-deep references — matching the 5 anchor. The cross-skill pointers to ../creating-springboot-projects/ are specific and clearly signaled, though unverifiable within this bundle.

5 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary skill description: concrete capability enumeration, an explicit and specific 'Use when' trigger clause, natural domain phrasing, and explicit negative boundaries that separate it from adjacent skills. No fluff or over-claims.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete, comprehensive capabilities for its domain: "dependency transitions and starter renames, test annotations such as @MockBean to @MockitoBean, Jackson 3 issues, Spring Modulith 2 or Testcontainers 2 upgrades, code that stops compiling after a version bump, or planning a phased migration". Specific artifacts are named (@MockBean, @MockitoBean, Jackson 3) rather than abstract language; this matches the 5 anchor (multiple specific concrete actions, comprehensive coverage) and exceeds the 4 anchor's 'minor gaps' since every body-covered migration area is represented.

5 / 5

Completeness

Both halves are explicit: an explicit "Use when upgrading an existing Spring Boot application..." trigger clause answers 'when' with concrete trigger phrases, and the colon-enumerated list (dependency transitions, annotation migrations, Jackson 3 issues, Modulith/Testcontainers upgrades, phased migration planning) answers 'what'. This matches the 5 anchor exactly; it is above the 4 anchor because 'when' is fully explicit and specific, not merely present.

5 / 5

Trigger Term Quality

Natural phrases a user with this need would say are well covered: "upgrading an existing Spring Boot application", "from Boot 3.x to Boot 4", "code that stops compiling after a version bump", "phased migration", plus component names (@MockBean, Jackson, Testcontainers, starter renames). Synonym coverage is present (upgrading/upgrades/migration/version bump). It fits the 5 anchor (comprehensive natural terms including synonyms); file extensions are inapplicable to this domain, so nothing natural is missing.

5 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (Spring Boot version migration on existing apps) with distinct technical triggers, and explicitly disambiguates the nearest conflicting cases: "Not for greenfield project creation or isolated repository design". Minimal conflict risk, matching the 5 anchor.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

a-pavithraa/springboot-skills-marketplace

Path

plugins/springboot-architecture/skills/springboot-migration/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.