CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

springboot-project-starter

Scaffold a production-ready Spring Boot 3.3+ application with Java 21+, Spring Data JPA, Spring Security, Flyway migrations, and comprehensive testing.

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./backend-java/springboot-project-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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.

The skill is highly actionable — executable scaffold commands, complete code for every architectural layer, and a sensible post-scaffold workflow — but it is a monolith: everything is inlined in SKILL.md, including large amounts of stock Spring boilerplate and a complete reference-style code library that belongs in reference files. A few accuracy gaps (missing MapStruct dependency, unspecified docker-compose.yml, H2/Postgres migration mismatch) slightly undermine the copy-paste-ready quality.

Suggestions

Move the full code templates for each layer (entity, DTOs, mapper, repository, service, controller, security config, tests) into references/ files (e.g., references/user-crud-stack.md) and keep SKILL.md to the conventions, scaffold command, and first steps, loading templates on demand.

Trim stock boilerplate that Claude already knows (standard getters/setters, generic JpaRepository interface, stock @RestController CRUD methods) down to the project-specific conventions they illustrate, which would also improve token efficiency.

Fix the executable gaps: add MapStruct to the dependency list (it is not in the Initializr list but the conventions and First Steps assume it), include the docker-compose.yml content, and resolve the H2-vs-Postgres mismatch by removing H2 from the dev profile or providing a portable V1 migration.

DimensionReasoningScore

Conciseness

The ~600-line body inlines full boilerplate Claude already knows well — a complete CRUD entity with getters/setters, a standard Spring Data repository, a stock @RestController, and a default JUnit/Mockito test — reproducing standard Spring patterns rather than only project-specific conventions. It is noticeably verbose (anchor 2): several sections are pure boilerplate that could be trimmed to conventions-only, though it stops short of the prose-heavy padding of anchor 1.

2 / 5

Actionability

The scaffold curl command, complete code listings for every layer, "First Steps After Scaffold", and "Common Commands" are fully executable and copy-paste ready. Minor gaps prevent a 5: MapStruct is required by the conventions ("MapStruct interfaces handle entity-to-DTO conversion") but is absent from the Initializr dependency list, the project structure lists docker-compose.yml without providing its content, and the V1 migration (BIGSERIAL, TIMESTAMPTZ) is PostgreSQL-only while the dev profile says "H2 or Docker Postgres".

4 / 5

Workflow Clarity

"First Steps After Scaffold" gives a clear 5-step sequence with embedded checkpoints — "verify the project compiles" (step 3) and "Verify the health endpoint" (step 5) — matching anchor 4's clear sequence with most checkpoints present. It falls short of anchor 5 because there are no error-recovery feedback loops (e.g., what to do when compile or the health check fails), though the scaffolding task is not destructive so the cap of 3 does not apply.

4 / 5

Progressive Disclosure

The body has good section structure (Prerequisites, Scaffold Command, Project Structure, Key Conventions, Essential Patterns, First Steps, Commands, Integration Notes) but the bundle contains no reference files at all — all ~450 lines of code templates are inlined in SKILL.md when the layer-by-layer templates clearly belong in references/ files loaded on demand. This matches anchor 3's "content that should be separate is inline" rather than anchor 2, because headers and organization are present and navigation within the file is easy.

3 / 5

Total

13

/

20

Passed

Description

70%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.

The description is specific, uses third-person voice, and names a concrete, distinctive tech stack, but it omits any explicit "Use when..." trigger guidance, which caps its completeness. Adding a trigger clause referencing common user phrasings (Spring Boot, Spring Initializr, Java backend) would raise it substantially.

Suggestions

Add an explicit 'when' clause, e.g. "Use when creating a new Spring Boot application, generating a Java backend project, or when the user mentions Spring Boot, Spring Initializr, or setting up a Java web service."

Include natural synonyms and tool names users actually say ("Spring Initializr", "spring init", "Java REST API") to broaden trigger term coverage.

Consider enumerating the concrete actions beyond scaffolding (e.g., configure Spring Security, set up Flyway migrations) to strengthen specificity toward a comprehensive multi-action description.

DimensionReasoningScore

Specificity

"Scaffold a production-ready Spring Boot 3.3+ application with Java 21+, Spring Data JPA, Spring Security, Flyway migrations, and comprehensive testing" names the domain plus a specific, enumerated tech stack (Java 21+, Spring Data JPA, Spring Security, Flyway) rather than generic language. It centers on one action verb ("Scaffold") with several specific components rather than the multiple distinct actions of the anchor-5 example ("extract... fill forms, merge documents, convert"), so it sits at anchor 4 with a minor coverage gap rather than clearly matching the comprehensive multi-action pattern of 5.

4 / 5

Completeness

The "what" is clear and concrete (scaffold a production-ready Spring Boot app with a specific stack), but there is no "Use when..." clause or equivalent explicit trigger guidance anywhere in the description — the "when" is entirely absent, matching anchor 3 and capped at 3 per the judging guideline.

3 / 5

Trigger Term Quality

Natural phrases users would say include "Spring Boot", "Spring Boot 3.3+", "Java 21", "Spring Data JPA", "Spring Security", "Flyway" — good keyword coverage. A few natural variations are missing (e.g., "Spring Initializr", "spring init", "Java backend", "REST API"), matching anchor 4 rather than the fully comprehensive synonym/extension coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The combination of "Spring Boot 3.3+", "Java 21+", "Flyway migrations" carves out a clear niche that would not trigger for unrelated skills and is distinguishable from generic Java or web-scaffolding skills. It is at least as distinct as the anchor-5 example; nothing about it is generic enough to overlap with other skills.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (627 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

backend-java/springboot-project-starter/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.