Loading...
Loading...
Found 56 Skills
Builds and maintains software architecture as code with LikeC4 DSL. Use when requests mention architecture diagrams, C4 context/container/component views, system landscapes, dependency maps, integration maps, or architecture generated from code. Applies to creating new `.c4`/`.likec4` models, updating existing models, validating with LikeC4 CLI, and preparing preview/build/export outputs.
Comprehensive skill for all 26 Gang of Four design patterns with PHP 8.3+ implementations. Covers creational (Abstract Factory, Builder, Factory Method, Prototype, Singleton), structural (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy), and behavioral patterns (Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor) plus Null Object, Object Pool, and Private Class Data.
Use when designing, planning, implementing, or reviewing any non-trivial change — enforces small, focused modules so any change fits in context without compaction
Structurizr integration. Manage data, records, and automate workflows. Use when the user wants to interact with Structurizr data.
Software architecture patterns and best practices
Analyzes coupling between modules using the three-dimensional model (strength, distance, volatility) from "Balancing Coupling in Software Design". Use when asking "are these modules too coupled?", "show me dependencies", "analyze integration quality", "which modules should I decouple?", "coupling report", or evaluating architectural health. Do NOT use for domain boundary analysis (use domain-analysis) or component sizing (use component-identification-sizing).
Technical design interview + adversarial review → living doc Technical Design section ready to implement. Stateful: detects existing sections and resumes where needed. Triggers: 'architect this,' 'how should we build,' 'design the tech,' post-define/design. Not for: scoping (explore), requirements (define), UX (design).
Acts as a Senior Staff Engineer to enforce high-quality software development standards. Use this skill when the user asks for code implementation, architectural review, debugging, or technical design. It ensures all code is production-ready, typed, and architecturally sound.
Choose system boundaries, architectural patterns, and tradeoffs. USE when deciding overall software shape, domain boundaries, or major technical direction.
Domain-Driven Design patterns for TypeScript. Use when implementing ubiquitous language, value objects, entities, aggregates, domain events, domain services, or bounded contexts. Only applies to projects that explicitly use DDD. Do NOT use for simple CRUD or projects without domain modeling.
Technology-agnostic guidance for modular systems: bounded contexts, clear boundaries, composability, state isolation, explicit contracts, failure containment, scaffolding workflows, split/merge criteria, sub-units inside a context, and compliance review signals. Use when designing or reviewing module structure, service boundaries, package layout, cross-cutting dependencies, "how should we split this?", modularity assessments, coupling between domains, greenfield context design, or architecture discussions without assuming a specific framework, language, or repository layout. Do NOT use for executing the full Patterns 1–5 repo decomposition pipeline or per-pattern inventories (use modular-decomposition), phased extraction roadmaps as the main deliverable (use decomposition-planning-roadmap), or end-to-end legacy migration strategy (use legacy-migration-planner).
Creates comprehensive Technical Design Documents (TDD) with mandatory and optional sections through interactive discovery. Use when user asks to "write a design doc", "create a TDD", "technical spec", "architecture document", "RFC", "design proposal", or needs to document a technical decision before implementation. Do NOT use for README files, API docs, or general documentation (use docs-writer instead).