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.
From phpnpx claudepluginhub fabiensalles/claude-marketplace --plugin phpThis skill uses the workspace's default tool permissions.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Designs KPI dashboards with metrics selection (MRR, churn, LTV/CAC), visualization best practices, real-time monitoring, and hierarchy for executives, operations, and product teams.
Transforms raw data into narratives with story structures, visuals, and frameworks for executive presentations, analytics reports, and stakeholder communications.
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.