What problem does it solve? Effect services often grow into monolithic classes that mix unrelated concerns, leak requirements into method signatures, and rely on removed v3 options, making them hard to test and compose. This Skill provides concrete patterns for designing focused, capability-based services in Effect v4. ## Core Features & Use Cases - Namespace-Module Pattern: Organize each service as a TypeScript namespace with an Interface, an empty Service tag class, and layer/defaultLayer exports built with Layer.effect and Service.of. - Capability Decomposition: Split monolithic services into single-concern capabilities (Gateway, Repository, Domain, Coordinator) that compose via Layer.mergeAll and Layer.provide. - Requirement Hygiene: Keep service method signatures at Requirements = never by capturing dependencies in Layer.effect closures, with guidance on optional capabilities via Effect.serviceOption and testing via Layer.succeed or Layer.mock. - Use Case: When refactoring a PaymentService that mixes handoff, refund, webhook, and reporting logic, apply this Skill to split it into PaymentGateway, PaymentRefundGateway, and PaymentWebhookGateway namespaces, each independently testable and wired through defaultLayer composition. ## Quick Start Ask the AI to implement a new Effect v4 service, such as a UserRepository with findById and create methods, following the namespace-module pattern with a defaultLayer.