Individual skill
conventions
Spring Boot project conventions and mandatory rules. Auto-loads when working with Spring Boot, Java, or Maven projects. Enforces No-Lombok, constructor injection, RestClient, Flyway for relational databases, Problem Details errors, and other standards; adds OpenAPI contract rules when the API is built for a UI.
skills/conventions/SKILL.md
Source commit 8d0eeefe2cd52876bb750fc7677bbe45ae5c026c
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Instructions only
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,450
- Repository last updated
- Nov 7, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- jwt Repository topic
- kubernetes Repository topic
- postgres Repository topic
- docker Repository topic
- junit Repository topic
- testcontainers Repository topic
- flyway Repository topic
- design Derived category
- legal Derived category
- docs Derived category
- design-interface Derived category
- docs-api Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Read excerpt
# Spring Boot Project Conventions
These conventions apply to ALL code generated or reviewed in the project. Follow them strictly.
## Mandatory Rules
- **No Lombok** — write explicit constructors, getters, setters; use `LoggerFactory.getLogger()` for loggers
- **Constructor injection** — no `@Autowired` on fields
- **RestClient** over RestTemplate/WebClient for blocking HTTP calls
- **RestTestClient** with `@AutoConfigureRestTestClient` for integration tests
- **Testcontainers** with `@ServiceConnection` (not `@DynamicPropertySource`)
- **Jakarta Persistence** (not `javax.persistence`)
- **Java records** for DTOs: `<Resource>Response`, `<Resource>CreateRequest`, `<Resource>UpdateRequest`; controllers never expose entities
- **Maven** for dependency management