This skill enforces opinionated, consistent patterns for Effect-TS codebases. These patterns optimize for type safety, testability, observability, and maintainability.
| Services | Effect.Service with accessors: true | Context.Tag for business logic | | Dependencies | dependencies: [Dep.Default] in service | Manual Layer.provide at usage sites | | Errors | Schema.TaggedError with message field | Plain classes or generic Error |
| Error Specificity | UserNotFoundError, SessionExpiredError | Generic NotFoundError, BadRequestError | | Error Handling | catchTag/catchTags | catchAll or mapError | | IDs | Schema.UUID.pipe(Schema.brand("@App/EntityId")) | Plain string for entity IDs | | Functions | Effect.fn("Service.method") | Anonymous generators |
Enforces Effect-TS patterns for services, errors, layers, and atoms. Use when writing code with Effect.Service, Schema.TaggedError, Layer composition, or effect-atom React components. Source: forcedotcom/salesforcedx-vscode.