ddd-playbook

Orchestrate DDD discovery for the ToDo domain with bounded contexts and invariants.

Updated Dec 4, 2025
One-click install
npx skills add https://github.com/mikivujkovic/claude-code-ddd-tdd-bdd --skill ddd-playbook
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd-playbook
Source: https://github.com/mikivujkovic/claude-code-ddd-tdd-bdd/tree/main/.claude/skills/ddd-playbook
Command: npx skills add https://github.com/mikivujkovic/claude-code-ddd-tdd-bdd --skill ddd-playbook

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides Domain-Driven Design (DDD) discovery for the ToDo domain: establishing ubiquitous language, a bounded context, an initial aggregate, and invariants.

Core Features & Use Cases

  • Ubiquitous language: Establish shared vocabulary with stakeholders.
  • Bounded context: Define the Todo Management boundary.
  • Aggregate & invariants: Propose a minimal aggregate with up to five invariants.
  • Model alignment: Update model, invariants, and use-case contracts for each capability.
  • Avoid advanced patterns unless asked.

Quick Start

Describe the ToDo domain in ubiquitous language, define the initial Todo Management bounded context, propose a minimal Todo aggregate with its invariants, and outline the first use-case contract.

Frequently Asked Questions about ddd-playbook

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

FAQPage Schema
How do I establish ubiquitous language and bounded contexts for domain-driven design?

Ubiquitous language is shared vocabulary between developers and stakeholders. Start by describing your domain in plain terms, define a single bounded context (the Todo Management boundary), identify the core aggregate, and list its invariants—the rules that must always hold true.

What are invariants in domain-driven design, and how many should I define?

Invariants are business rules that must remain valid at all times. This guidance limits aggregates to up to five invariants to keep the domain model minimal and maintainable. Examples: a todo cannot be completed without a title, or a task cannot exist in two states simultaneously.

How do I structure aggregates and use-case contracts for a todo management system?

Propose a minimal aggregate with clearly defined invariants, then map each capability to a use-case contract. Update your domain model, invariants, and contracts iteratively as you discover new requirements. Keep the aggregate boundary tight to avoid over-modeling.

Can I use domain-driven design for todo and task management workflows?

Yes. Domain-driven design applies directly to todo management. This guidance walks you through establishing a Todo Management bounded context, defining aggregates with invariants, and aligning use-case contracts to your actual capabilities and business rules.

What's the difference between domain-driven design and other architectural approaches for building todo applications?

Domain-driven design focuses on modeling the business domain first—its language, rules, and boundaries—before technology. Unlike layered or service-oriented approaches, DDD ensures your code reflects how stakeholders actually think about todos and their management.

Do I need to learn advanced DDD patterns to start with bounded contexts and aggregates?

No. This guidance deliberately avoids advanced patterns unless you ask for them. Start with one bounded context, a minimal aggregate, and up to five invariants. Master the fundamentals—ubiquitous language, aggregate design, and invariant enforcement—before exploring event sourcing or sagas.