What problem does it solve? Business logic often becomes tangled with frameworks, databases, and transport protocols, making code untestable and adapter swaps painful. This Skill enforces hexagonal (ports and adapters) architecture so domain code stays pure and external systems connect only through owned interfaces. ## Core Features & Use Cases - Port and Adapter Design: Defines driving and driven ports as TypeScript interfaces named by business purpose, with thin adapters translating between domain types and technology-specific types. - Dependency Injection and Composition: Wires dependencies via function parameters at a composition root, with no DI container required. - Testing Strategy: Prioritizes use-case tests with in-memory fakes over mocks, plus integration tests for driven adapters and a swappability test to validate boundaries. - Use Case: When building a TypeScript backend that has explicitly adopted hexagonal architecture, use this Skill to structure a new feature — domain function, application-owned repository port, Drizzle adapter, and a thin route handler — with tests that run without a database. ## Quick Start Apply the hexagonal-architecture skill to design the ports, adapters, and use case for a new order placement feature in my TypeScript project.