Loading...
Loading...
Found 53 Skills
Model business domains using DDD tactical and strategic patterns
Implement Domain-Driven Design tactical patterns in C#/.NET. Use when building Entities, Value Objects, Aggregates, Domain Events, Repositories, or structuring a DDD solution. Framework-agnostic — covers pure domain modeling with modern C#.
Systematic architectural thinking for irreplaceable human capabilities - domain modeling, systems thinking, constraint navigation, and AI-aware problem decomposition. Use proactively when detecting architectural decisions, system design discussions, or multi-component planning.
This skill should be used whenever domain modeling is taking place. It provides specialized guidance for type-driven and data-driven design based on Rich Hickey and Scott Wlaschin's principles. The skill helps contextualize current modeling within the existing domain model, identifies inconsistencies, builds ubiquitous language, and creates visualizations (Mermaid, Graphviz/DOT, ASCII diagrams) to communicate domain concepts clearly. Use this skill when designing types, modeling business domains, refactoring domain logic, or ensuring domain consistency across a codebase.
Maintain a project's domain model as a consented byproduct of design work: a CONTEXT.md glossary of the ubiquitous language and docs/adr/ decision records. Use when a domain term needs pinning down or is used inconsistently, when a hard-to-reverse trade-off decision gets settled, when the user says "record this decision", "write an ADR", "update the glossary/ubiquitous language", "add this term", or when another skill needs to keep the domain model current. It scribes the model, it doesn't interrogate it.
Use when the user wants a design, plan, or approach stress-tested against the project's own domain model and documented decisions - terminology challenged, contradictions with the real code surfaced, CONTEXT.md and ADRs kept current as decisions land - and does NOT need an implementation plan produced afterward. Use grill-then-plan instead when a written plan is the required outcome.
DDD: bounded contexts, aggregates, entities, value objects, domain events, ubiquitous language
Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.
Apply TypeScript design standards when creating or refactoring functions, methods, classes, modules, or shared contracts (interfaces, types, enums). Trigger for: typing decisions, domain modeling, architecture design (boundaries, DI, composition, API design), and design principles (SOLID, GoF, KISS, YAGNI, LIFT).
Apply the "How I Made Your Machine" coding style guide to implementation, refactoring, and code review tasks across TypeScript, Rust, and Python. Use when a request asks for this style guide, when improving maintainability and type safety, when modeling domain concepts with explicit variants/types, or when enforcing behavior-first testing.
Use when writing server-side TypeScript code involving domain models, use cases, repositories, state transitions, or business logic. Guides functional domain modeling with discriminated unions, pure functions, and Result types.
포킷워크 공지사항/알림 도메인. 공지사항, 카테고리, 개인 알림, 전체 알림의 엔티티 정의와 비즈니스 규칙. 공지/알림 관련 기능 구현 시 참고한다.