ddd-developer

Translate PM glossary and bounded contexts into test-driven domain model code.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/tojoolivier/claude-config --skill ddd-developer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd-developer
Source: https://github.com/tojoolivier/claude-config/tree/main/skills/ddd-developer
Command: npx skills add https://github.com/tojoolivier/claude-config --skill ddd-developer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill implements tactical Domain-Driven Design by translating a product manager's glossary and the architect's bounded contexts into behavior-rich, testable domain model code that enforces business invariants instead of creating anemic data containers.

Core Features & Use Cases

  • Aggregate and VO Design: Design small, behaviorful aggregates and immutable value objects with domain-named guards and errors.
  • Domain Events & Repository Ports: Define past-tense domain events and domain-owned repository ports while keeping infrastructure implementations separate.
  • TDD-driven Implementation: Drive implementation via vertical-slice red-green-refactor tests that read like business specs and conform to existing project conventions.
  • Use Case: Use when converting a PM glossary into executable domain code, implementing Phase 3 tactics delegated by an orchestrator, or when integrating new domain behavior into an existing codebase without introducing new frameworks.

Quick Start

Ask the ddd-developer to explore the repository, detect the language and test framework, grill the aggregate boundaries, and produce one red-green-refactor test plus the minimal domain code to satisfy it.

Frequently Asked Questions about ddd-developer

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

FAQPage Schema
How do I translate a PM glossary and bounded contexts into testable domain model code?

To translate a PM glossary into testable domain model code, you apply tactical Domain-Driven Design to design behavior-rich aggregates, value objects, and domain events that enforce business invariants instead of creating anemic data containers.

How do I implement domain aggregates and value objects using TDD?

Implement domain aggregates and value objects using TDD by driving the process via vertical-slice red-green-refactor tests that read like business specs, producing minimal domain code to satisfy the tests while conforming to existing project conventions.

What is the best way to design repository ports without importing infrastructure into the domain?

Design domain-owned repository ports by defining them within the domain layer while keeping infrastructure implementations separate, ensuring the domain model remains decoupled from infrastructure concerns like database access.

Can I use this to add new domain behavior to an existing codebase without introducing new frameworks?

Yes, you can integrate new domain behavior into an existing codebase without introducing new frameworks because the process detects the project's language and test framework, conforming to existing patterns rather than overriding them.

When do I need to define past-tense domain events in a DDD implementation?

You need to define past-tense domain events during tactical DDD implementation when designing aggregates to signal that a significant domain action has occurred, enabling decoupled communication between bounded contexts.

Why does my domain model end up as an anemic data container instead of enforcing business invariants?

Domain models become anemic data containers when they lack behavior, which this DDD implementation solves by translating bounded contexts into behavior-rich code with domain-named guards and errors that strictly enforce business invariants.