Help us improve
Share bugs, ideas, or general feedback.
From php
ACTIVATE when writing or modifying domain layer code, creating value objects, specifications, domain services, or domain interfaces. ACTIVATE when 'domain', 'DDD', 'hexagonal', 'ports and adapters', or 'domain purity' appears. Covers: strict domain layer purity rules — what is forbidden vs allowed in the domain layer, SPI interface pattern. DO NOT use for: infrastructure/controller code, Doctrine mapping, general architecture questions.
npx claudepluginhub fabiensalles/claude-marketplace --plugin phpHow this skill is triggered — by the user, by Claude, or both
Slash command
/php:php-ddd-conventionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The domain layer contains business logic only. Infrastructure leaks into the domain are the most common architectural violation.
Provides DDD patterns, antipatterns, checklists, and PHP guidelines for auditing Domain-Driven Design architecture.
Implements Clean Architecture, Hexagonal (Ports & Adapters), and Domain-Driven Design patterns in PHP 8.3+ with Symfony 7.x. For enterprise app architecture, legacy refactoring, DDD, and testable backends.
Applies DDD tactical patterns to domain code: enforces aggregate design, value objects over primitives, entity identity rules, and bounded context boundaries for domain modeling.
Share bugs, ideas, or general feedback.
The domain layer contains business logic only. Infrastructure leaks into the domain are the most common architectural violation.
Symfony\Component\HttpFoundation\File\UploadedFile — use string $filePath or a domain abstractionWhen the domain imports infrastructure types, it becomes untestable without the framework and impossible to reuse. Domain interfaces (SPI) are the boundary: defined in Domain, implemented in infrastructure.