{"id":"9acd8145-e811-4361-a17e-53337b3880fb","shortId":"UJdw7j","kind":"skill","title":"503-frameworks-micronaut-validation","tagline":"Use when you need to design, review, or improve validation in Micronaut applications — including Bean Validation on @Controller methods, @Body @Valid, query/path parameter validation, @ConfigurationProperties validation, custom constraints, nested DTO validation, and ExceptionHan","description":"# Micronaut Validation Guidelines\n\nApply Micronaut validation best practices at HTTP API boundaries.\n\n**What is covered in this Skill?**\n\n- Bean Validation annotations on DTOs and command models\n- @Valid / @Validated usage in Micronaut controllers\n- Validation groups and custom validators\n- Consistent mapping of validation failures to 400 responses\n- Safe and predictable validation error payloads\n\n**Scope:** Apply recommendations based on the reference rules and good/bad examples.\n\n## Constraints\n\nBefore applying validation changes, ensure the project compiles. After improvements, run full verification.\n\n- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change\n- **SAFETY**: If compilation fails, stop immediately\n- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements\n- **BEFORE APPLYING**: Read the reference for detailed rules and examples\n\n## When to use this skill\n\n- Add validation support in Micronaut\n- Review Micronaut validation rules\n- Improve request validation in Micronaut REST APIs\n- Add custom validation constraints in Micronaut\n- Validate Micronaut configuration properties\n- Improve constraint violation handling in Micronaut\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/503-frameworks-micronaut-validation.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 validation-related 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/503-frameworks-micronaut-validation.md](references/503-frameworks-micronaut-validation.md).","tags":["503","frameworks","micronaut","validation","cursor","rules","java","jabrena","agent-skills","ai-skills","claude","claude-code"],"capabilities":["skill","source-jabrena","skill-503-frameworks-micronaut-validation","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/503-frameworks-micronaut-validation","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,021 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-26T12:53:38.728Z","embedding":null,"createdAt":"2026-04-26T12:53:38.728Z","updatedAt":"2026-04-26T12:53:38.728Z","lastSeenAt":"2026-04-26T12:53:38.728Z","tsv":"'/mvnw':117,134 '1':192 '2':210 '3':230 '4':250 '400':82 '503':1 'action':271 'add':159,175 'align':234 'annot':59 'api':49,174 'appli':42,91,103,123,142,145,229,231 'applic':18 'appropri':257 'assess':196 'base':93 'bean':20,57 'best':45 'bodi':25 'boundari':50 'build/tests':258 'chang':105,125,209,227,235,262 'clean':135,139 'command':63 'compil':109,118,121,128 'configur':183 'configuration/code':242 'configurationproperti':30 'consist':76 'constraint':33,101,178,186,220,278 'context':198 'control':23,70 'convent':249 'cover':53 'current':204 'custom':32,74,176 'decid':214 'design':11 'detail':150,274 'dto':35 'dtos':61 'ensur':106 'error':88 'exampl':100,153,276 'exceptionhan':38 'execut':256 'fail':129 'failur':80 'follow':243,269 'follow-up':268 'framework':3,233 'framework-align':232 'frameworks-micronaut-valid':2 'full':113 'gather':211 'good/bad':99 'group':72 'guidanc':275 'guidelin':41 'handl':188 'http':48 'identifi':217 'immedi':131 'implement':236 'improv':14,111,143,168,185,216 'includ':19 'inspect':202 'mandatori':115 'map':77 'method':24 'micronaut':4,17,39,43,69,163,165,172,180,182,190 'minimum':223 'model':64 'mvn':120,138 'need':9 'nest':34 'outcom':219 'paramet':28 'pattern':246 'payload':89 'practic':46 'predict':86 'project':108,197,205,248 'properti':184 'propos':208 'query/path':27 'read':146,193,199 'recommend':92 'refactor':238 'refer':96,148,194,245,272 'references/503-frameworks-micronaut-validation.md':200,280,281 'relat':241 'report':254 'request':169,218 'respons':83 'rest':173 'result':255 'review':12,164 'rule':97,151,167 'run':112,116,133,251 'safe':84,224 'safeti':126 'scope':90,212 'see':279 'set':225 'setup':206 'skill':56,158 'skill-503-frameworks-micronaut-validation' 'source-jabrena' 'stop':130 'summar':260 'support':161 'target':215 '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' 'usag':67 'use':6,156 'valid':5,15,21,26,29,31,36,40,44,58,65,66,71,75,79,87,104,160,166,170,177,181,240 'validation-rel':239 'verif':114,252 'verifi':132,136,140,265 'violat':187 'workflow':191","prices":[{"id":"1d07abd4-9b83-469f-a231-49c51cbb47c7","listingId":"9acd8145-e811-4361-a17e-53337b3880fb","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-26T12:53:38.728Z"}],"sources":[{"listingId":"9acd8145-e811-4361-a17e-53337b3880fb","source":"github","sourceId":"jabrena/cursor-rules-java/503-frameworks-micronaut-validation","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/503-frameworks-micronaut-validation","isPrimary":false,"firstSeenAt":"2026-04-26T12:53:38.728Z","lastSeenAt":"2026-04-26T12:53:38.728Z"}],"details":{"listingId":"9acd8145-e811-4361-a17e-53337b3880fb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"503-frameworks-micronaut-validation","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-26T12:50:01Z","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":"83e997494d3cfe0d06fcf2a3e0051533d1803cd1","skill_md_path":"skills/503-frameworks-micronaut-validation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/503-frameworks-micronaut-validation"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"503-frameworks-micronaut-validation","license":"Apache-2.0","description":"Use when you need to design, review, or improve validation in Micronaut applications — including Bean Validation on @Controller methods, @Body @Valid, query/path parameter validation, @ConfigurationProperties validation, custom constraints, nested DTO validation, and ExceptionHandler mapping for constraint violations. This should trigger for requests such as Add validation support in Micronaut; Review Micronaut validation rules; Improve request validation in Micronaut REST APIs; Add custom validation constraints in Micronaut; Validate Micronaut configuration properties. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/503-frameworks-micronaut-validation"},"updatedAt":"2026-04-26T12:53:38.728Z"}}