Enforces Effect-TS patterns for services, errors, layers, and atoms. Use when writing code with Effect.Service, Schema.TaggedError, Layer composition, or…
Opinionated patterns for Effect-TS services, errors, layers, and React state management. Enforces Effect.Service with accessors: true for business logic, Schema.TaggedError for errors, and Layer.mergeAll/Layer.provideMerge for flat, performant composition Requires Effect Language Server for edit-time diagnostics (30+ Effect-specific checks), quick info, completions, and refactors Covers branded entity IDs, Option over nullability, Effect.fn for tracing, and explicit error handling with catchTag/catchTags Includes Effect Atom patterns for React state: Atom.make outside components, useAtomValue/useAtomSet hooks, Result.builder for error handling, and keepAlive for persistent state Forbids runSync/runPromise in services, throw in generators, console.log, and direct process.env access Effect-TS Best Practices This skill enforces opinionated, consistent patterns for Effect-TS codebases. These patterns optimize for type safety, testability, observability, and maintainability. Effect Language Server (Required) The Effect Language Server is essential for Effect development. It catches errors at edit-time that TypeScript alone cannot detect, provides Effect-specific refactors, and improves developer productivity. Setup Install: npm install @effect/language-service --save-dev
don't have the plugin yet? install it then click "run inline in claude" again.