What problem does it solve? Effect applications often leak platform-specific imports (like Node's fs module) into business logic, making code untestable and locked to a single runtime. This Skill enforces a clean boundary where application code depends only on abstract Effect services and platform layers are provided at the entry point. ## Core Features & Use Cases - Abstract Service Boundaries: Application code imports FileSystem, Path, Terminal, Crypto, and ChildProcessSpawner from effect, never from @effect/platform-node directly. - Layer Composition Patterns: Compose custom service layers with NodeServices.layer or BunServices.layer, including override and conditional platform loading patterns. - Testable Mock Layers: Build test contexts with FileSystem.makeNoop, FileSystem.layerNoop, and Layer.succeed so unit tests never touch real platform modules. - Use Case: You are building a CLI tool that must run on both Node.js and Bun. Structure services against abstract Effect interfaces, then provide NodeServices.layer or BunServices.layer only in main.ts. ## Quick Start Ask the AI to refactor your Effect application so all platform-specific layers are provided at the entry point and application code uses only abstract services.