typescript:effect-ts

Model typed computations, errors, and dependencies with Effect-TS in TypeScript.

39|4|Updated Jan 11, 2026
One-click install
npx skills add https://github.com/martinffx/atelier --skill typescript-effect-ts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: typescript:effect-ts
Source: https://github.com/martinffx/atelier/tree/main/skills/typescript%3Aeffect-ts
Command: npx skills add https://github.com/martinffx/atelier --skill typescript-effect-ts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Unifies and simplifies complex asynchronous and error-prone logic in TypeScript by providing a typed, composable effect system (Effect-TS).

Core Features & Use Cases

  • Type-safe effects with Effect<Success, Error, Requirements> and Effect.gen for readable, generator-based code.
  • Dependency injection via Context.Tag and Layer for modular, testable apps.
  • Schema validation for runtime data safety and structured data handling.
  • Resource management with acquireRelease and Scope to guarantee cleanup across failures.
  • Interoperability with related Skill patterns (error handling, concurrency, layers).

Quick Start

Define a small Effect.gen program that uses a Layer-provided service and validates inputs with Schema.

Frequently Asked Questions about typescript:effect-ts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle complex asynchronous errors in TypeScript using functional effects?

Functional effects in TypeScript model computations, errors, and dependencies using typed constructs like Effect.gen. This approach unifies asynchronous and error-prone logic into composable, deterministic workflows that are fully type-safe and testable.

How do I implement dependency injection in TypeScript for modular and testable applications?

Dependency injection in TypeScript is implemented using Context.Tag and Layer to provide modular services. This Layer-based approach allows you to isolate dependencies, making applications highly testable and maintainable by composing independent components.

What is the best way to guarantee resource cleanup across failures in TypeScript async workflows?

Resource management across failures is guaranteed using acquireRelease and Scope within functional effects. These constructs enforce safe cleanup protocols, ensuring allocated resources are deterministically released even when asynchronous computations encounter errors.

Can I validate runtime data safely in TypeScript using Schema validation?

Runtime data safety is achieved through Schema validation within functional effects. Schema validates structured data inputs at runtime, ensuring type-safe data handling and preventing invalid formats from entering your composable workflows.

Does functional programming with effect systems work for building robust TypeScript apps?

Functional programming with effect systems builds robust TypeScript apps by replacing error-prone logic with typed, composable constructs. Using Effect.gen, developers create deterministic, maintainable workflows that explicitly model errors and dependencies.

When should I use Layer-based dependency injection over standard TypeScript patterns?

Layer-based dependency injection should be used when you need deterministic, testable workflows and modular service composition. It replaces standard patterns by explicitly modeling requirements via Context.Tag, ensuring strict type safety across complex asynchronous boundaries.