{"id":"8bb5520d-5bc3-495d-b512-1f4d82dd586b","shortId":"WFBtvg","kind":"skill","title":"301-frameworks-spring-boot-core","tagline":"Use when you need to review, improve, or build Spring Boot 4.0.x applications — including proper usage of @SpringBootApplication, component annotations (@Controller, @Service, @Repository), bean definition and scoping, configuration classes and @ConfigurationProperties (with @Val","description":"# Spring Boot Core Guidelines\n\nApply Spring Boot Core guidelines for annotations, bean management, configuration, and dependency injection.\n\n**What is covered in this Skill?**\n\n- @SpringBootApplication and main application class\n- Component annotations: @RestController, @Service, @Repository\n- Bean definition, scoping, lifecycle\n- Configuration classes and @ConfigurationProperties (with @Validated for fail-fast startup)\n- Component scanning and package organization\n- Conditional configuration and profiles (@Profile, @ConditionalOn*)\n- Constructor dependency injection\n- @Primary and @Qualifier for disambiguation when multiple beans share a type\n- Bean minimization and composition\n- Graceful shutdown for in-flight work\n- Virtual threads on supported stacks for concurrency-bound workloads\n- Jakarta EE namespace consistency (jakarta.* preferred; avoid mixing legacy javax.annotation / javax.validation)\n- Scheduled tasks and background processing\n\n**Scope:** Apply recommendations based on the reference rules and good/bad code examples.\n\n## Constraints\n\nBefore applying any Spring Boot changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.\n\n- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change\n- **SAFETY**: If compilation fails, stop immediately — compilation failure is a blocking condition\n- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements\n- **BEFORE APPLYING**: Read the reference for detailed rules, good/bad patterns, and constraints\n- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes\n- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance\n\n## When to use this skill\n\n- Review Java code for Spring Boot application\n- Apply best practices for Spring Boot application in Java code\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/301-frameworks-spring-boot-core.md` and inspect the current project setup before proposing changes.\n\n2. **Gather scope and decide target improvements**\n\nIdentify requested outcomes, constraints, and the minimum safe set of changes to apply.\n\n3. **Apply framework-aligned changes**\n\nImplement or refactor configuration/code following the reference patterns and project conventions.\n\n4. **Run verification and report results**\n\nExecute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/301-frameworks-spring-boot-core.md](references/301-frameworks-spring-boot-core.md).","tags":["301","frameworks","spring","boot","core","cursor","rules","java","jabrena","agent-skills","ai-skills","claude"],"capabilities":["skill","source-jabrena","skill-301-frameworks-spring-boot-core","topic-agent-skills","topic-ai-skills","topic-claude","topic-claude-code","topic-claude-code-skills","topic-claude-code-subagents","topic-claude-skills","topic-cursor-agent","topic-cursor-ai","topic-cursor-skills","topic-cursorai","topic-github-copilot"],"categories":["cursor-rules-java"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jabrena/cursor-rules-java/301-frameworks-spring-boot-core","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jabrena/cursor-rules-java","source_repo":"https://github.com/jabrena/cursor-rules-java","install_from":"skills.sh"}},"qualityScore":"0.631","qualityRationale":"deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,755 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-26T18:53:42.704Z","embedding":null,"createdAt":"2026-04-18T22:02:11.834Z","updatedAt":"2026-04-26T18:53:42.704Z","lastSeenAt":"2026-04-26T18:53:42.704Z","tsv":"'/mvnw':187,210 '1':293 '2':311 '3':331 '301':1 '4':348 '4.0':18 'action':369 'align':335 'ambigu':238 'annot':27,51,70 'appli':45,152,165,180,193,218,221,246,282,330,332 'applic':20,67,281,288 'appropri':355 'ask':241,263 'assess':297 'avoid':141 'background':149 'base':154 'bean':31,52,74,110,114 'best':283 'block':206 'boot':5,17,42,47,168,280,287 'bound':133 'build':15 'build/tests':356 'case':233,249 'chang':169,195,247,310,328,336,360 'clarifi':243 'class':36,68,79 'clean':211,215 'code':161,277,291 'compil':173,175,188,191,198,202 'compon':26,69,89 'composit':117 'concurr':132 'concurrency-bound':131 'condit':94,207 'conditionalon':99 'configur':35,54,78,95 'configuration/code':340 'configurationproperti':38,81 'consist':138 'constraint':163,231,321,376 'constructor':100 'context':299 'control':28 'convent':347 'core':6,43,48 'cover':60 'current':305 'decid':315 'definit':32,75 'depend':56,101 'detail':226,372 'disambigu':107 'edg':232,248 'ee':136 'ensur':170 'exampl':162,374 'execut':354 'fail':86,176,199 'fail-fast':85 'failur':203 'fast':87 'file':253 'flight':123 'follow':341,367 'follow-up':366 'framework':3,334 'framework-align':333 'frameworks-spring-boot-cor':2 'full':183 'gather':312 'good/bad':160,228 'grace':118 'guidanc':269,373 'guidelin':44,49 'identifi':318 'immedi':178,201 'implement':337 'improv':13,181,219,317 'in-flight':121 'includ':21 'inject':57,102 'input':252 'inspect':303 'jakarta':135,139 'java':276,290 'javax.annotation':144 'javax.validation':145 'legaci':143 'lifecycl':77 'main':66 'manag':53 'mandatori':185 'minim':115 'minimum':324 'miss':257,261 'mix':142 'multipl':109 'mvn':190,214 'namespac':137 'need':10 'organ':93 'outcom':320 'packag':92 'pattern':229,344 'practic':284 'prefer':140 'primari':103 'proceed':266 'process':150 'profil':97,98 'project':172,298,306,346 'proper':22 'propos':309 'qualifi':105 'question':244 'read':222,294,300 'recommend':153 'refactor':339 'refer':157,224,295,343,370 'references/301-frameworks-spring-boot-core.md':301,378,379 'report':258,352 'repositori':30,73 'request':235,319 'requir':251 'restcontrol':71 'result':353 'review':12,275 'rule':158,227 'run':182,186,209,349 'safe':325 'safeti':196 'scan':90 'schedul':146 'scope':34,76,151,236,313 'see':377 'servic':29,72 'set':326 'setup':268,307 'share':111 'shutdown':119 'skill':63,274 'skill-301-frameworks-spring-boot-core' 'source-jabrena' 'spring':4,16,41,46,167,279,286 'springbootappl':25,64 'stack':129 'startup':88 'stop':177,200,239 'summar':358 'support':128 'target':316 'task':147 'thread':126 'tool':255 'topic-agent-skills' 'topic-ai-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-claude-code-subagents' 'topic-claude-skills' 'topic-cursor-agent' 'topic-cursor-ai' 'topic-cursor-skills' 'topic-cursorai' 'topic-github-copilot' 'type':113 'usag':23 'use':7,272 'val':40 'valid':83 'verif':184,350 'verifi':208,212,216,363 'virtual':125 'whether':264 'work':124 'workflow':292 'workload':134 'x':19","prices":[{"id":"d519db1c-290c-4a68-a1c7-89b93e25bdef","listingId":"8bb5520d-5bc3-495d-b512-1f4d82dd586b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jabrena","category":"cursor-rules-java","install_from":"skills.sh"},"createdAt":"2026-04-18T22:02:11.834Z"}],"sources":[{"listingId":"8bb5520d-5bc3-495d-b512-1f4d82dd586b","source":"github","sourceId":"jabrena/cursor-rules-java/301-frameworks-spring-boot-core","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/301-frameworks-spring-boot-core","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:11.834Z","lastSeenAt":"2026-04-26T18:53:42.704Z"}],"details":{"listingId":"8bb5520d-5bc3-495d-b512-1f4d82dd586b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"301-frameworks-spring-boot-core","github":{"repo":"jabrena/cursor-rules-java","stars":362,"topics":["agent-skills","ai-skills","claude","claude-code","claude-code-skills","claude-code-subagents","claude-skills","cursor-agent","cursor-ai","cursor-skills","cursorai","github-copilot","intellij-idea","java","prompting","system-prompts"],"license":"apache-2.0","html_url":"https://github.com/jabrena/cursor-rules-java","pushed_at":"2026-04-26T13:48:39Z","description":"A curated and opinionated collection of Skills and Agents to be used in modern SDLC workflows for Java Enterprise development with your favorite AI Agent harness.","skill_md_sha":"6c45d6b4855f7df496af8472c22527cd299f149c","skill_md_path":"skills/301-frameworks-spring-boot-core/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/301-frameworks-spring-boot-core"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"301-frameworks-spring-boot-core","license":"Apache-2.0","description":"Use when you need to review, improve, or build Spring Boot 4.0.x applications — including proper usage of @SpringBootApplication, component annotations (@Controller, @Service, @Repository), bean definition and scoping, configuration classes and @ConfigurationProperties (with @Validated), component scanning, conditional configuration and profiles, constructor injection, @Primary and @Qualifier for multiple beans of the same type, bean minimization, graceful shutdown, virtual threads, Jakarta EE namespace consistency, and scheduled tasks. This should trigger for requests such as Review Java code for Spring Boot application; Apply best practices for Spring Boot application in Java code. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/301-frameworks-spring-boot-core"},"updatedAt":"2026-04-26T18:53:42.704Z"}}