What problem does it solve? Teams working in a monorepo often create shared packages with inconsistent structure, blurred dependency boundaries, and missing tests, which erodes architecture over time. This Skill provides an execution checklist for creating or extending a packages/<name>/ service package that follows strict conventions: the 5+5 file layout, ports-and-adapters direction, and enforced import boundaries. ## Core Features & Use Cases - Mandatory 5+5 layout: Five source files (service, repository, helper, types, index) paired one-to-one with five test files, with no utils/ or common/ dumping grounds. - Boundary enforcement: The package owns the port (interface); concrete adapters live in the consuming app under apps/<app>/src/adapters/, and only @repo/core may be imported from other workspace packages. - Step-by-step workflow: From writing the boundary statement and Zod-based types first, through TDD on the service, to running turbo run typecheck test before commit. - Use Case: When asked to "extract billing into its own package so apps/api and apps/web can both use it", the Skill scaffolds @repo/billing with the correct package.json, tsconfig, Zod schemas, port interface, and paired tests. ## Quick Start Ask the agent to create a new shared package named billing under packages/ following the monorepo service package conventions.