session-state
Manages session state transitions per SESSION_ORCHESTRATION.md. Internal use only.
Manages session state transitions per SESSION_ORCHESTRATION.md. Internal use only.
Chaos engineering principles, controlled failure injection, resilience testing, and system recovery validation. Use when testing distributed systems, building confidence in fault tolerance, or validating disaster recovery.
Apply effective software quality consultancy practices. Use when consulting, advising clients, or establishing consultancy workflows.
Apply context-driven testing principles where practices are chosen based on project context, not universal 'best practices'. Use when making testing decisions, questioning dogma, or adapting approaches to specific project needs.
Apply XP practices including pair programming, ensemble programming, continuous integration, and sustainable pace. Use when implementing agile development practices, improving team collaboration, or adopting technical excellence practices.
Transform project brief into detailed, testable specifications using spec-driven development methodology
Transform specifications into structured implementation plans with architecture design and task breakdown
Triggers: KISS, YAGNI, SOLID, clean code, code quality, refactor, design principles Provides guidance on fundamental software design principles to reduce complexity, prevent over-engineering, and improve maintainability.
Triggers: architecture review, FPF, functional programming framework, systems architecture Architecture review using FPF (Functional Programming Framework) methodology. Evaluates codebases through functional, practical, and foundation perspectives. Use when: conducting architecture reviews, evaluating system design DO NOT use when: simple code reviews, bug fixes, documentation updates
Interactive selector and router for architecture paradigms. Triggers: architecture selection, pattern comparison, system design, ADR creation, architecture decision, paradigm evaluation, new system architecture, architecture planning, which architecture, compare architectures Use when: selecting architecture patterns for new systems, comparing paradigm trade-offs, creating architecture decision records, evaluating architecture fit for team size and domain complexity, planning implementation roadmaps DO NOT use when: implementing a specific known paradigm - use the specific architecture-paradigm-* skill (hexagonal, layered, microservices, etc.) instead. DO NOT use when: reviewing existing architecture - use architecture-review instead. Use this skill BEFORE making architecture decisions. Check even if unsure about needs.
Object-oriented design principles including object calisthenics, dependency inversion, fail-fast error handling, feature envy detection, and intention-revealing naming. Activates during code refactoring, design reviews, or when user requests design improvements.
Design, refactor, analyze, and review code by applying the principles and patterns of tactical domain-driven design.
Three-phase design review. Chain architect → refiner → critique subagents.
Implement repository pattern with Unit of Work for EF Core
Create domain models following Domain-Driven Design principles
Core principle that the main agent is a coordinator, not an implementer. All work must be delegated to subagents.
Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.
Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.
Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.
Use when invalid data causes failures deep in execution, requiring validation at multiple system layers - validates at every layer data passes through to make bugs structurally impossible
Expert guidance on Swift Concurrency concepts. Use when working with async/await, Tasks, actors, MainActor, Sendable, isolation domains, or debugging concurrency compiler errors. Helps write safe concurrent Swift code.
Data access patterns, Scaling, Migrations, and ORM selection.