Loading...
Loading...
Found 75 Skills
Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
[Pragmatic DDD Architecture] Guide for creating tests. Use when creating unit tests, integration tests, or understanding test conventions. Covers our tightly coupled stack: Vitest (unit, integration, ui projects), file naming, transactional database integration tests (txTest) with testcontainers/node-postgres/drizzle, mock patterns (createMock*RepoWithAssertions), and neverthrow Result assertions.
[Pragmatic DDD Architecture] Guide for creating DDD Value Objects (VOs). Use when defining a new Value Object in a domain layer. Covers immutability patterns, private constructors, random/from builders, Railway-oriented error handling via neverthrow Result, TypeScript branded error types, and co-locating errors within the VO file.
[Pragmatic DDD Architecture] Guide for creating PostgreSQL tables and defining relations using Drizzle ORM. Use when creating new schemas, managing PostgreSQL indexes, enums, mapping column names to camelCase for the domain, and explicitly exporting constraint names.
Use when the user wants to create or update a DDD-style ubiquitous language glossary, define domain terms, resolve ambiguous terminology, harden naming, or write UBIQUITOUS_LANGUAGE.md from the current conversation and codebase context.
Model business domains using DDD tactical and strategic patterns
Clean Architecture + DDD + Hexagonal - Atoll Tourisme. Use when designing architecture or reviewing code structure.
Domain-oriented architecture for Laravel without external package dependencies, based on concepts from "Laravel Beyond CRUD" (Spatie). Use this skill when the user wants to structure a Laravel project using DDD, domain-oriented architecture, or organize code by business concepts instead of technical properties. Also activate when the user asks about: Actions, Data Objects (DTOs), lean models, States with enums, ViewModels (Blade or API), HTTP Query builders, application layer, or scaling Laravel projects beyond simple CRUD. Activate for any mention of "domain layer", "application layer", "beyond CRUD", "domain-oriented", or requests to refactor a Laravel project into domain structure. Even if the user asks "how to organize a large Laravel project", this skill is relevant.
Domain-Driven Design patterns. Bounded contexts, aggregates, entities, value objects, domain events, repositories, and application services. Strategic and tactical DDD for complex business domains. USE WHEN: user mentions "DDD", "Domain-Driven Design", "bounded context", "aggregate", "value object", "domain event", "ubiquitous language", "aggregate root", "domain service" DO NOT USE FOR: database schema design - use database skills; CQRS/Event Sourcing specifics - use `event-sourcing-cqrs`
[Pragmatic DDD Architecture] Guide for Authentication configuration and the `auth` Bounded Context. Use when modifying auth flows, adding social providers, configuring email templates/Resend, working with the Better Auth client/server configurations, or modifying `src/auth/` components and components dependent on session handling.
[Pragmatic DDD Architecture] Guide for the overall project architecture, Domain-Driven Design (DDD) principles, Modular Monolith (Bounded Contexts) organization, and file structure. Use when deciding where to place a new file, creating a new module, or understanding the application's layers and dependency flow.
This skill should be used when implementing DDD tactical design patterns in Go, including Entities, Value Objects, Aggregates, Repositories, Domain Services, Domain Events, Factories, and Specifications.