tactical-ddd

Apply tactical domain-driven design to isolate domain logic and model aggregates.

334|43|Updated Nov 14, 2025
One-click install
npx skills add https://github.com/NTCoding/claude-skillz --skill tactical-ddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tactical-ddd
Source: https://github.com/NTCoding/claude-skillz/tree/main/tactical-ddd
Command: npx skills add https://github.com/NTCoding/claude-skillz --skill tactical-ddd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps software teams translate domain concepts into clean, expressive code by applying tactical domain-driven design (DDD) principles. It targets reducing coupling between domain and infrastructure, clarifying boundaries for aggregates, and ensuring invariants are preserved across changes. It guides practitioners through isolating domain logic, naming with ubiquitous language, and modeling state transitions with explicit types.

Core Features & Use Cases

  • Isolate domain logic from infrastructure to improve testability and readability.
  • Model aggregates around invariants to protect consistency across boundaries.
  • Use rich domain language with explicit value objects, bounded contexts, and domain events.
  • Apply use cases and orchestrate behavior without leaking domain rules into infrastructure.
  • Refactor legacy code toward expressive, domain-aligned structures that support evolution.

Quick Start

Example approach: analyze a codebase to identify core domain concepts, map them to aggregates and value objects, and outline explicit invariants. Then draft a plan to replace primitive types with domain-specific value objects and create boundary definitions between domains.

Frequently Asked Questions about tactical-ddd

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

FAQPage Schema
How do I isolate domain logic from infrastructure during a refactor?

To isolate domain logic from infrastructure, apply tactical domain-driven design principles by modeling aggregates around invariants and replacing primitive types with explicit value objects. This reduces coupling, improves testability, and clarifies boundaries across domain changes.

What is the best way to model aggregates and enforce invariants across boundaries?

Modeling aggregates around invariants protects consistency across boundaries by ensuring state transitions occur through explicit domain types. This tactical DDD approach isolates domain rules, uses ubiquitous language, and prevents infrastructure from leaking into domain behavior.

How do I refactor legacy code to use value objects and bounded contexts?

Refactoring legacy code toward value objects and bounded contexts involves analyzing the codebase to identify core domain concepts, mapping them to explicit types, and outlining invariants. This creates expressive, domain-aligned structures that support system evolution.

When do I need tactical domain-driven design in my software project?

You need tactical domain-driven design when reducing coupling between domain and infrastructure, clarifying boundaries for aggregates, or ensuring invariants are preserved. It is applicable during architecture reviews, refactoring, or domain-driven design education.

Can I use tactical DDD to orchestrate use cases without leaking domain rules?

Yes, tactical DDD helps orchestrate use cases without leaking domain rules into infrastructure by applying rich domain language with explicit value objects, bounded contexts, and domain events to isolate behavior and enforce invariants.

Does tactical DDD work for architecture reviews in any codebase?

Tactical DDD is applicable to any codebase undergoing architecture reviews or refactoring. It guides teams in isolating domain logic, naming with ubiquitous language, and modeling state transitions with explicit types to improve readability.