Domain-Driven Design (Spring Boot 3)
A DDD skill that guides Claude in evolving aggregates, value objects and domain events safely in Spring Boot 3 codebases.
Dev & CodingAdvanced★ 304⑂ 46AI score 9/10Last updated: Sep 21, 2026
What it does
- Enforces aggregate-root-only access and derives aggregate boundaries from invariants and contention, not arbitrary child counts.
- Supplies immutable
recordvalue object patterns (Money, EmailAddress) with validation in compact constructors. - Shows domain event collection and publication,
@TransactionalEventListener(AFTER_COMMIT), Spring Data@DomainEvents, plus honest caveats about durability and outbox patterns. - Provides composable JPA Specifications and an Anti-Corruption Layer pattern for third-party integrations.
- Guards existing public API identifiers and persistence mappings during refactors.
Who it's for
- Backend engineers running DDD-style Spring Boot 3 + JPA services.
- Teams refactoring anemic entities into behavior-rich domain models.
- Developers untangling how event publication interacts with transaction boundaries.
Examples
- "Add cancellation logic to the Order aggregate" → state transitions through the root with invariant checks.
- "Send a confirmation email when an order is placed" → a commit-bound listener plus outbox guidance for guaranteed delivery.
- "Integrate a third-party payment SDK" → a PaymentPort + adapter ACL so external models never reach the domain.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/rrezartprebreza/spring-boot-skills/HEAD/skills/spring-boot-3/domain-driven-design/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/spring-boot-3/domain-driven-design folder from the GitHub repo rrezartprebreza/spring-boot-skills into my ~/.claude/skills/domain-driven-design/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/rrezartprebreza/spring-boot-skills.git /tmp/spring-boot-skills && mkdir -p ~/.claude/skills && cp -r /tmp/spring-boot-skills/skills/spring-boot-3/domain-driven-design ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repo:
git clone https://github.com/rrezartprebreza/spring-boot-skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r spring-boot-skills/skills/spring-boot-3/domain-driven-design ~/.claude/skills/ - (Optional) Also copy
transactional-patterns,event-driven-messagingandspring-modulithso the cross-links resolve. - Restart Claude Code and ask something like "Refactor this Order aggregate following DDD rules" to trigger the skill.
View source on GitHub ↗License: MIT