functional-typescript-effectlisted
Install: claude install-skill yutna/functional-design-skills
# Functional TypeScript With Effect
## Overview
Effect provides in a library what the core skills describe as design
rules: an effect type that carries success, failure, and requirements in
its signature; a service and layer system that is dependency
parameterization with type checking; schemas that parse boundaries into
domain types; and structured concurrency with scoped resources.
The design rules do not change. What changes is that the compiler now
enforces most of them, including which dependencies a piece of code
needs, which is the one thing plain TypeScript cannot check.
**Check the installed version before writing code.** Effect's API has
changed across major versions; the shapes below target Effect 3.
## When to use
- A TypeScript project that already depends on Effect
- Deciding how to express a workflow, a service, or an error in Effect
- Reviewing Effect code against the core design rules
Not for: TypeScript without Effect, which has
[functional-typescript](../functional-typescript/SKILL.md).
## Notation mapping
| Neutral notation | Effect |
| --------------------- | --------------------------------------------- |
| `A -> B` | A plain function; keep it plain |
| `Result<T, E>` | `Either<T, E>`, or `Effect<T, E>` |
| `Option<T>` | `Option<T>` |
| `AsyncResult<T, E>` | `Effect<T, E>` |
| A de