skills/java-springboot/SKILL.md
Get best practices for developing applications with Spring Boot.
npx skillsauth add williamlimasilva/.copilot java-springbootInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Your goal is to help me write high-quality Spring Boot applications by following established best practices.
pom.xml) or Gradle (build.gradle) for dependency management.spring-boot-starter-web, spring-boot-starter-data-jpa) to simplify dependency management.com.example.app.order, com.example.app.user) rather than by layer (e.g., com.example.app.controller, com.example.app.service).private final.@Component, @Service, @Repository, and @Controller/@RestController annotations appropriately to define beans.application.yml (or application.properties) for configuration. YAML is often preferred for its readability and hierarchical structure.@ConfigurationProperties to bind configuration to strongly-typed Java objects.application-dev.yml, application-prod.yml) to manage environment-specific configurations.@Valid, @NotNull, @Size) on DTOs to validate request payloads.@ControllerAdvice and @ExceptionHandler to provide consistent error responses.@Service classes.@Transactional on service methods to manage database transactions declaratively. Apply it at the most granular level necessary.JpaRepository or CrudRepository for standard database operations.@Query or the JPA Criteria API.private static final Logger logger = LoggerFactory.getLogger(MyClass.class);logger.info("Processing user {}...", userId);) instead of string concatenation to improve performance.@SpringBootTest for integration tests that load the Spring application context.@WebMvcTest (for controllers) or @DataJpaTest (for repositories) to test specific parts of the application in isolation.tools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.