Loading...
Loading...
Found 78 Skills
Use this skill when designing, reviewing, or refactoring software architecture following Robert C. Martin's (Uncle Bob) Clean Architecture principles. Triggers on project structure decisions, layer design, dependency management, use case modeling, boundary crossing patterns, component organization, and separating business rules from frameworks. Covers the Dependency Rule, concentric layers, component cohesion/coupling, and boundary patterns.
Clean Architecture, Hexagonal Architecture (Ports & Adapters), and Domain-Driven Design fundamentals. Layer boundaries, dependency rules, and tactical patterns for maintainable systems.
Build FastAPI applications using Clean Architecture principles with proper layer separation (Domain, Infrastructure, API), dependency injection, repository pattern, and comprehensive testing. Use this skill when designing or implementing Python backend services that require maintainability, testability, and scalability.
Best practices for implementing Clean Architecture in Remix/TypeScript apps. Covers Service Layer, Repository Pattern, and Dependency Injection.
프로젝트의 구조를 변경해야하거나, 새롭게 구현을 진행할 때 해당 구조를 기반으로 구현할 수 있도록 한다. 자동적으로 해당 구조를 기반으로 구현을 하되, 사용자가 명시적으로 구조를 변경하고자 할 때는 사용자의 의견을 반영한다. 구조에 대한 자세한 설명은 reference/FSD.md를 참고한다.
Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns.
Keep a system's business logic independent of the technology it talks to, by reasoning about which way dependencies point across a hexagonal / ports-and-adapters / clean-architecture boundary. A system holds three kinds of code — its reason to exist (the business logic), its connections to the outside world, and how it's run (the wiring and entrypoint) — so the question is never "which folder" but "is this the reason, a connection, or how it's run, and what may it depend on?" Use it to scaffold a new system, place a feature, integration, or entrypoint, review how it's shaped, or write an ADR about the layout — and whenever a dependency points the wrong way or you're unsure where something belongs. Language-/framework-agnostic: the kinds map onto whatever names a project uses (app/infra/run, domain/adapters/cmd). Reach for it even when the user never says "hexagonal": "where should this go", "scaffold it ports-and-adapters", "review against hexagonal principles", "which layer owns this" are all signals.
Generates optimized read queries using Dapper. Includes multi-mapping for joins, pagination, dynamic filtering, CTEs, and best practices for high-performance data access.
Organize business and technology teams for fast flow using Skelton & Pais's "Team Topologies". Use when the user mentions "team topologies", "Conway's law", "platform team", "stream-aligned team", "team boundaries", "cognitive load", "how should we split teams", "who owns this service", "team dependencies", or "reorg". Also trigger when reorganizing engineering teams, aligning team and service boundaries, splitting a monolith and deciding ownership, reducing cross-team handoffs, or designing an internal platform. Covers the four team types, three interaction modes, the inverse Conway maneuver, and fracture planes. For bounded contexts, see domain-driven-design. For dependency direction in code, see clean-architecture.
Manage software complexity through deep modules, information hiding, and strategic programming. Use when the user mentions "module design", "API too complex", "shallow class", "complexity budget", or "strategic vs tactical". Covers deep vs shallow modules, red flags for complexity, and comments as design documentation. For code quality, see clean-code. For boundaries, see clean-architecture.
Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Use when the user mentions "code review", "naming conventions", "function too long", "code smells", or "readable code". Covers SRP, comment discipline, formatting, and unit testing. For refactoring techniques, see refactoring-patterns. For architecture, see clean-architecture.
Model software around the business domain using bounded contexts, aggregates, and ubiquitous language. Use when the user mentions "domain modeling", "bounded context", "aggregate root", "ubiquitous language", or "anti-corruption layer". Covers entities vs value objects, domain events, and context mapping strategies. For architecture layers, see clean-architecture. For complexity, see software-design-philosophy.