ddd

Guide Domain-Driven Design implementation for TypeScript and Deno projects.

530|41|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/systeminit/swamp --skill ddd-systeminit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd
Source: https://github.com/systeminit/swamp/tree/main/.claude/skills/ddd
Command: npx skills add https://github.com/systeminit/swamp --skill ddd-systeminit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides guidance and patterns for implementing Domain-Driven Design principles in TypeScript/Deno codebases, ensuring consistency and maintainability.

Core Features & Use Cases

  • Building Block Selection: Helps choose appropriate DDD constructs like Entities, Value Objects, Aggregates, Domain Services, and Repositories.
  • Ubiquitous Language: Guides the maintenance and application of a shared domain vocabulary.
  • Use Case: When developing a new feature for an e-commerce platform, use this Skill to correctly model customer orders as aggregates and ensure all team members use consistent terminology for order statuses.

Quick Start

Apply the ddd skill to model a new 'Product' entity with an 'id' and 'name' in your TypeScript codebase.

Frequently Asked Questions about ddd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement Domain-Driven Design building blocks in a TypeScript project?

You can model aggregates by using this Skill to identify aggregate roots, encapsulate related entities and value objects, and define consistent boundaries for transactional operations within your TypeScript domain layer.

What is the best way to model an aggregate for an e-commerce order in Deno?

Modeling an aggregate for an e-commerce order in Deno involves using this Skill to structure the order as an aggregate root, encapsulating its entities and value objects while enforcing a ubiquitous language for order statuses across your team.

When do I need a value object versus an entity in software design?

You need a value object instead of an entity when a domain concept is defined entirely by its attributes rather than a unique identity. This Skill guides the selection of appropriate DDD constructs based on your specific domain modeling requirements.

Can I use this Domain-Driven Design guidance for existing TypeScript codebases?

You can apply this Domain-Driven Design guidance to existing TypeScript codebases to refactor and enforce DDD principles. It facilitates the selection and implementation of DDD building blocks to improve architectural consistency and maintainability.

How do I maintain a ubiquitous language when modeling domain services?

Maintaining a ubiquitous language when modeling domain services requires applying a shared domain vocabulary consistently across all code constructs. This Skill guides the application of ubiquitous language to ensure team alignment.

Does this DDD Skill support enforcing repository patterns in Deno?

This DDD Skill supports enforcing repository patterns in Deno by providing guidance on implementing repositories alongside aggregates and domain services. It ensures data access abstraction adheres to Domain-Driven Design best practices.