- Home
- Skills
- Pluginagentmarketplace
- Custom Plugin Software Design
- Domain Driven Design
domain-driven-design_skill
- Python
2
GitHub Stars
1
Bundled Files
3 weeks ago
Catalog Refreshed
2 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstart where the catalogue uses aiagentskills.
npx veilstart add skill pluginagentmarketplace/custom-plugin-software-design --skill domain-driven-design- SKILL.md4.4 KB
Overview
This skill helps model business domains using Domain-Driven Design (DDD) tactical and strategic patterns. It produces domain models, aggregate boundaries, context maps, and event-storm artifacts from natural language domain descriptions. The output is tailored to clarity for teams: entities, value objects, aggregates, ubiquitous language, and recommended context relationships.
How this skill works
Provide a domain description and select an action: model, aggregate, context_map, or event_storm. The skill analyzes language, extracts candidate entities, value objects, invariants, and teams/language boundaries, then synthesizes concrete artifacts in text, code, or diagram-friendly formats. Validation ensures sufficient domain detail and returns actionable guidance or requests more context when boundaries are ambiguous.
When to use it
- Designing or refactoring a bounded context for a new or existing system
- Defining aggregate boundaries and invariants before implementation
- Creating a shared ubiquitous language for cross-functional teams
- Mapping relationships between contexts and integration patterns
- Running event-storming workshops to discover domain events and commands
Best practices
- Provide at least a paragraph (50+ characters) of domain context including business goals and key rules
- Highlight invariants, transactional expectations, and ownership to clarify aggregate scope
- Capture stakeholder terminology to build the ubiquitous language and reduce ambiguity
- Prefer iterative outputs: start with a model action, then refine aggregates and context maps
- Use the skill output as input to design discussions, not as a final implementation artifact
Example use cases
- Generate an initial domain model from an e-commerce order and payment description
- Define an Order aggregate with invariants like order total consistency and payment state transitions
- Produce a context map showing a conformist relationship between payment and order contexts
- Run an event-storm action to list domain events, commands, and hot spots for process discovery
- Convert stakeholder terms into a concise ubiquitous language glossary for team alignment
FAQ
The skill requires sufficient detail; it will return an INSUFFICIENT_DOMAIN_INFO response and ask for more business rules, actors, or examples.
Can it output diagrams?
Yes — choose output_format 'diagram' for diagram-friendly descriptions or 'code' for structured JSON or Python-friendly representations.
How does it decide aggregate boundaries?
It uses invariants, transactional requirements, and identity ownership to propose aggregates and flags ambiguous cases requiring clarification.