effect-atom

Manage React state with Effect Atom primitives for derived data and side effects.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/lucas-barake/dotai --skill effect-atom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-atom
Source: https://github.com/lucas-barake/dotai/tree/main/canonical/skills/effect-atom
Command: npx skills add https://github.com/lucas-barake/dotai --skill effect-atom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Effect Atom patterns provide a principled way to model and manage React state using atomic primitives, enabling predictable composition of state, effects, and persistence.

Core Features & Use Cases

  • Pattern-based atom creation with Atom.make, Atom.readable, and Atom.writable.
  • Derived state, effects, and streams via Atom.fn, Atom.pull, Atom.family, and Atom.kvs, plus runtime integration.
  • Runtime integrations with services and React hooks for data fetching, optimistic updates, and local persistence.

Quick Start

Create a simple counter atom using Atom.make(0) and read it in a React component.

Frequently Asked Questions about effect-atom

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

FAQPage Schema
How do I manage predictable React state with atomic primitives?

Predictable React state management uses Effect Atom primitives like Atom.make, Atom.readable, and Atom.writable to model shared and derived state compositionally. These atoms provide a principled way to handle reactive state, side effects, and local persistence.

Can I handle data fetching and optimistic updates in React without external state libraries?

Data fetching and optimistic updates in React are handled by integrating Effect Atoms with runtime services and React hooks. Using Atom.pull for streams and Atom.fn for derived state allows you to execute remote fetches and apply optimistic updates predictably.

How do I create derived state and side effects in TypeScript React applications?

Derived state and side effects in TypeScript React applications are created using Atom.fn, Atom.pull, and Atom.family primitives. These compositions model reactive data flows and streams, enabling predictable state derivation and side effect execution within your UI components.

What is the best way to structure local persistence and key-value state in React?

Local persistence and key-value state in React are structured using the Atom.kvs composition. This primitive models persistent state storage, allowing your application to maintain reactive key-value data locally while remaining synchronized with your React component tree.

Does this atomic state management approach support React Suspense for asynchronous data?

This atomic state management approach supports React Suspense for asynchronous data through the useAtomSuspense hook. It integrates runtime data fetching directly with React's Suspense boundaries, allowing components to read derived atom values while waiting for resources to load.

When should I choose Effect Atoms over traditional React state for UI applications?

Choose Effect Atoms over traditional React state when your UI apps require complex reactive state, derived data streams, and orchestrated side effects. This pattern-based approach provides a more principled architecture for managing shared state than standard hooks.