effect-concurrency

Orchestrate fiber-based structured concurrency with parallelism and error propagation in TypeScript.

5|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/agentxm/axm --skill effect-concurrency-agentxm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-concurrency
Source: https://github.com/agentxm/axm/tree/main/.axm/extensions/%40axm/skills/effect-concurrency/src
Command: npx skills add https://github.com/agentxm/axm --skill effect-concurrency-agentxm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Structured concurrency expression-wrapping in TypeScript programs to coordinate fibers, manage parallelism, and handle errors safely.

Core Features & Use Cases

  • Fiber-based concurrency primitives including Effect.all, Effect.forEach with configurable concurrency
  • Fork types (forkChild, forkDetach, forkScoped) for supervised, global, or scoped background tasks
  • Synchronization primitives (Deferred, Semaphore, Queue) for coordination and backpressure
  • Robust error handling with Cause trees and modes like "either" and "validate"
  • Real-world patterns: independent data fetches, bounded processing, graceful shutdown

Quick Start

Use Effect.all with a concurrency option to run independent tasks in parallel.

Frequently Asked Questions about effect-concurrency

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

FAQPage Schema
How do I run parallel data fetches in TypeScript without losing errors?

Use Effect.all with a concurrency option to run independent tasks in parallel. It preserves robust error handling by modeling failures with Cause trees and supports modes like 'either' or 'validate' to manage error propagation safely across concurrent operations.

What is structured concurrency in TypeScript and when do I need it?

Structured concurrency coordinates parallel fibers, manages background work, and ensures resource safety. You need it for bounded processing, graceful shutdown, and robust error handling across asynchronous tasks to prevent unmanaged background operations and memory leaks.

How do I manage background tasks and graceful shutdown in asynchronous TypeScript?

Use fork types like forkChild, forkDetach, or forkScoped to manage supervised, global, or scoped background tasks. These primitives ensure resource safety and enable graceful shutdown by controlling fiber lifecycles within defined scopes.

How does fiber-based concurrency handle backpressure and synchronization?

Fiber-based concurrency uses synchronization primitives like Deferred, Semaphore, and Queue to coordinate tasks and apply backpressure. This ensures reliable parallelism by managing task flow and preventing overwhelming downstream resources.

Can I validate multiple independent asynchronous tasks and collect all errors in TypeScript?

Yes, use the 'validate' mode with Effect.all to run independent tasks in parallel and collect all errors. This differs from default fail-fast behavior by accumulating failures into a Cause tree, allowing comprehensive error reporting.