{"id":"352b0cb5-28d3-429d-8f5a-9d39bc48d392","shortId":"PpsP2U","kind":"skill","title":"315-frameworks-spring-mongodb","tagline":"Use when you need to design or implement MongoDB data access in Spring Boot — including document modeling, Spring Data Mongo repositories/templates, indexing, optimistic concurrency, and error handling. This should trigger for requests such as Add MongoDB in Spring Boot; Review S","description":"# Spring Boot — MongoDB\n\nApply Spring Data MongoDB guidance with concrete examples for design, implementation, and error handling.\n\n## Constraints\n\nCompile before MongoDB refactors; verify after changes.\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 MongoDB in Spring Boot\n- Review Spring Data Mongo repositories/documents\n- Improve duplicate key handling, retries, or optimistic locking in Mongo flows\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/315-frameworks-spring-mongodb.md` and inspect persistence setup before proposing changes.\n\n2. **Gather scope and decide target improvements**\n\nIdentify data model, consistency, and query requirements to define safe improvements.\n\n3. **Apply framework-aligned changes**\n\nImplement/refactor mappings, repositories, indexes, and failure handling policies.\n\n4. **Run verification and report results**\n\nExecute build/tests and summarize what changed, what was verified, and follow-up actions.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/315-frameworks-spring-mongodb.md](references/315-frameworks-spring-mongodb.md).","tags":["315","frameworks","spring","mongodb","cursor","rules","java","jabrena","agent-skills","ai-skills","claude","claude-code"],"capabilities":["skill","source-jabrena","skill-315-frameworks-spring-mongodb","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/315-frameworks-spring-mongodb","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.642","qualityRationale":"deterministic score 0.64 from registry signals: · indexed on github topic:agent-skills · 384 github stars · SKILL.md body (1,420 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-05-18T18:54:20.447Z","embedding":null,"createdAt":"2026-05-07T12:55:08.103Z","updatedAt":"2026-05-18T18:54:20.447Z","lastSeenAt":"2026-05-18T18:54:20.447Z","tsv":"'/mvnw':74,91 '1':138 '2':154 '3':172 '315':1 '4':186 'access':16 'action':205 'add':40,116 'align':176 'appli':50,80,99,102,173 'assess':142 'boot':19,44,48,120 'build/tests':193 'chang':71,82,153,177,197 'clean':92,96 'compil':65,75,78,85 'concret':56 'concurr':29 'consist':164 'constraint':64,212 'context':144 'data':15,24,52,123,162 'decid':158 'defin':169 'design':11,59 'detail':107,208 'document':21 'duplic':127 'error':31,62 'exampl':57,110,210 'execut':192 'fail':86 'failur':183 'flow':136 'follow':203 'follow-up':202 'framework':3,175 'framework-align':174 'frameworks-spring-mongodb':2 'gather':155 'guidanc':54,209 'handl':32,63,129,184 'identifi':161 'immedi':88 'implement':13,60 'implement/refactor':178 'improv':100,126,160,171 'includ':20 'index':27,181 'inspect':148 'key':128 'lock':133 'mandatori':72 'map':179 'model':22,163 'mongo':25,124,135 'mongodb':5,14,41,49,53,67,117 'mvn':77,95 'need':9 'optimist':28,132 'persist':149 'polici':185 'project':143 'propos':152 'queri':166 'read':103,139,145 'refactor':68 'refer':105,140,206 'references/315-frameworks-spring-mongodb.md':146,214,215 'report':190 'repositori':180 'repositories/documents':125 'repositories/templates':26 'request':37 'requir':167 'result':191 'retri':130 'review':45,121 'rule':108 'run':73,90,187 'safe':170 'safeti':83 'scope':156 'see':213 'setup':150 'skill':115 'skill-315-frameworks-spring-mongodb' 'source-jabrena' 'spring':4,18,23,43,47,51,119,122 'stop':87 'summar':195 'target':159 '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' 'trigger':35 'use':6,113 'verif':188 'verifi':69,89,93,97,200 'workflow':137","prices":[{"id":"151dd382-a31c-47b8-a676-b18574b247ef","listingId":"352b0cb5-28d3-429d-8f5a-9d39bc48d392","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-05-07T12:55:08.103Z"}],"sources":[{"listingId":"352b0cb5-28d3-429d-8f5a-9d39bc48d392","source":"github","sourceId":"jabrena/cursor-rules-java/315-frameworks-spring-mongodb","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/315-frameworks-spring-mongodb","isPrimary":false,"firstSeenAt":"2026-05-07T12:55:08.103Z","lastSeenAt":"2026-05-18T18:54:20.447Z"}],"details":{"listingId":"352b0cb5-28d3-429d-8f5a-9d39bc48d392","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"315-frameworks-spring-mongodb","github":{"repo":"jabrena/cursor-rules-java","stars":384,"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-05-18T13:53:37Z","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":"33791b2013dc7adac60dc17cb1b628d9ec7e8f0b","skill_md_path":"skills/315-frameworks-spring-mongodb/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/315-frameworks-spring-mongodb"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"315-frameworks-spring-mongodb","license":"Apache-2.0","description":"Use when you need to design or implement MongoDB data access in Spring Boot — including document modeling, Spring Data Mongo repositories/templates, indexing, optimistic concurrency, and error handling. This should trigger for requests such as Add MongoDB in Spring Boot; Review Spring Data Mongo design; Improve error handling for Mongo writes. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/315-frameworks-spring-mongodb"},"updatedAt":"2026-05-18T18:54:20.447Z"}}