🏗️
AI EngineeringJava

Domain-Driven Design

by rrezartprebreza

Domain-Driven Design is an AI Engineering skill for Claude Code, published by rrezartprebreza in spring-boot-skills.

247 stars39 forkson rrezartprebreza/spring-boot-skillsAdded 2026/09/02+7% in starsRepository updated 2026/08/14
ai-coding-agentclaudeclaude-aiclaude-codeclaude-pluginclaude-skillclaude-skillscodexcodex-skillsdeveloper-toolsjavamcpspring-aispring-boot
Install in seconds
Install Domain-Driven Design
Copy Domain-Driven Design into your Claude Code skills folder. Run the command in your terminal, or review the source on GitHub before installing.
terminal
npx degit https://github.com/rrezartprebreza/spring-boot-skills/tree/main/skills/spring-boot-3/domain-driven-design ~/.claude/skills/domain-driven-design

Requires Node.js. Downloads this skill only — not the rest of the repository — into your Claude Code skills folder.

Without Node.js

git clone https://github.com/rrezartprebreza/spring-boot-skills.git

Clones the whole repository, then copy the skill’s own directory into your skills folder yourself.

In this catalog

Source file
skills/spring-boot-3/domain-driven-design/SKILL.md in rrezartprebreza/spring-boot-skills
Installs to
~/.claude/skills/domain-driven-design
Collection
One of 24 skills cataloged from this repository
Category
AI Engineering2631 skills

What Domain-Driven Design does

Domain-Driven Design helps model rich Spring Boot domains with aggregates, value objects, domain events, specifications, and anti-corruption layers. Use it when building DDD-style Java services instead of anemic CRUD models.

Domain-Driven Design is cataloged under AI Engineering on DirSkills. Domain-Driven Design comes from a repository tagged ai-coding-agent, claude, claude-ai, claude-code and claude-plugin.

Documentation

README

Domain-Driven Design

Aggregate Rules

  • One repository per aggregate root
  • External code only accesses aggregate through root — never child entities directly
  • Aggregates reference other aggregates by ID only, not direct object reference
  • Keep aggregates small — if it has more than 3-4 child entities, split it
// ✅ Aggregate root controls all access to children
order.addItem(productId, quantity); // through root
order.removeItem(itemId);           // through root

// ❌ Direct child access from outside
order.getItems().add(new OrderItem(...)); // bypasses invariants

Value Objects

Immutable, no identity, equality by value:

This is the opening of the README. Read the full README on GitHub.

Frequently asked about Domain-Driven Design

  • What else does rrezartprebreza publish alongside Domain-Driven Design?

    Domain-Driven Design is one of 24 skills that DirSkills catalogs from rrezartprebreza/spring-boot-skills, the repository it ships in. Its siblings there include AI Observability, API Versioning and Container Native Deployment. Each one is a separate skill with its own page in this directory, installs the same way Domain-Driven Design does, and is maintained by rrezartprebreza in that same repository. The rest of the collection is listed on the rrezartprebreza/spring-boot-skills page.

  • How does Domain-Driven Design compare to other AI Engineering skills?

    Domain-Driven Design ranks #2334 by stars among the 2631 AI Engineering skills in this catalog. The most-starred ones next to it are Architecture Decision Records, AI-First Engineering and Agentic OS. DirSkills ranks by the star count of the repository each skill ships in, so that order reflects how popular those repositories are rather than any review of Domain-Driven Design against them. Open each page to compare what they document and how they install.

More from rrezartprebreza/spring-boot-skills

Domain-Driven Design is one of 24 skills cataloged on DirSkills from rrezartprebreza/spring-boot-skills.

See all 24 skills
📊
1h ago

AI Observability

AI Observability adds Spring AI model metrics, token usage, latency, cost attribution, and prompt/completion logging. Use it when you need production audit data for chat calls and advisor telemetry.
AI Engineering
24739
🔀
1h ago

API Versioning

API Versioning helps you version Spring MVC or WebFlux APIs in Spring Boot 3 and Spring Framework 6. Use it to choose URL, header, or media-type strategies and handle compatibility and deprecation.
Frontend
24739
📦
1h ago

Container Native Deployment

Container Native Deployment helps package a Spring Boot 3 app as an OCI image or GraalVM native executable. Use it for buildpacks, layered images, container limits, probes, AOT hints, and deployment verification.
DevOps
24739
📨
1h ago

Event-Driven Messaging

Event-Driven Messaging guides Kafka, RabbitMQ, Pulsar, and JMS producers and consumers in Spring Boot 3. It covers event contracts, idempotency, retries, dead-letter handling, ordering, and outbox delivery.
AI Engineering
24739
🗄️
1h ago

Flyway Migrations

Flyway Migrations helps create versioned database migrations, schema changes, and seed data workflows for Spring Boot. Use it when adding tables, columns, indexes, or other SQL changes that must run safely in order.
DevOps
24739
🔌
1h ago

HTTP Interface Clients

HTTP Interface Clients shows how to build declarative external API clients in Spring Boot 3 with @HttpExchange interfaces. Use it when registering proxies, choosing RestClient or WebClient, and handling timeouts and errors.
AI Engineering
24739