effect-service-implementation

Community

Build focused Effect services that compose

Authormpsuesser
Version1.0.0
Installs0

System Documentation

What problem does it solve?

It solves the problem of building large, monolithic or poorly separated Effect codebases by guiding you to implement each capability as a small, composable Effect service with clear dependency wiring.

Core Features & Use Cases

  • Namespace-module service structure: Keep Interface, Service tag, layer, and (optionally) defaultLayer together for an explicit service graph.
  • Dependency-safe construction: Use Layer.effect with captured dependencies via yield*, while ensuring service method Requirements stay as never (no requirement leakage).
  • Production composition by default: Build defaultLayer via Layer.provide so wiring is straightforward, testable, and maintainable.
  • Capability-based design: Split features into single-responsibility services like repositories, gateways, coordinators, and run-state.
  • Testing-friendly layers: Promote implementation details into layers so you can swap behavior using Layer.succeed or Layer.mock.

Quick Start

Implement your capability as a namespace that defines an Interface, an empty Context.Service tag, a layer built with Layer.effect and Effect.gen, and a defaultLayer that wires in dependencies with Layer.provide only when needed.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: effect-service-implementation
Download link: https://github.com/mpsuesser/pi-effect-harness/archive/main.zip#effect-service-implementation

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.