Spring Boot project structure — package-by-feature, record DTOs, Flyway migrations, multi-profile config, actuator, proper test structure
84
76%
Does it follow best practices?
Impact
97%
4.04xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Create a global exception handler with @RestControllerAdvice and consistent error responses",
"relevant_when": "Agent builds a Spring Boot REST API",
"context": "Every Spring Boot REST API should have a @RestControllerAdvice class that handles exceptions globally and returns consistent error response objects. This prevents stack trace leaks, provides structured error messages, and centralizes error handling. Handle at minimum: NotFoundException (404), MethodArgumentNotValidException (400 validation), and a catch-all Exception handler (500 with generic message).",
"sources": [
{
"type": "file",
"filename": "skills/springboot-project-structure/SKILL.md",
"tile": "tessl-labs/springboot-project-structure@0.2.0"
}
],
"checklist": [
{
"name": "global-handler-exists",
"rule": "A @RestControllerAdvice class exists that handles exceptions and returns structured error response objects",
"relevant_when": "Agent creates a Spring Boot REST API with multiple endpoints"
},
{
"name": "consistent-error-shape",
"rule": "All error responses use a consistent shape (e.g., ErrorResponse record with code and message fields), not ad-hoc ResponseEntity bodies",
"relevant_when": "Agent handles errors in Spring Boot controllers"
},
{
"name": "no-stack-trace-leaks",
"rule": "Unexpected exceptions return a generic error message — no stack traces or internal details exposed to the client",
"relevant_when": "Agent handles unknown/unexpected exceptions in Spring Boot"
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
springboot-project-structure
verifiers