effect-services

Define and compose Effect-TS services using ServiceMap, IdentityComposer, and Layer utilities.

68|13|Updated Aug 9, 2025
One-click install
npx skills add https://github.com/kriegcloud/beep-effect --skill effect-services
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-services
Source: https://github.com/kriegcloud/beep-effect/tree/main/.agents/skills/effect-services
Command: npx skills add https://github.com/kriegcloud/beep-effect --skill effect-services

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a structured and type-safe way to define, construct, and consume services within the Effect-TS framework, ensuring maintainability and reducing boilerplate code.

Core Features & Use Cases

  • Service Definition: Define services with clear interfaces using ServiceMap.Service.
  • Identity Management: Utilize IdentityComposer for type-safe, compile-time validated service keys.
  • Dependency Injection: Compose complex dependency graphs using Layer composition and Layer.provide.
  • Use Case: Building a microservice architecture where each service (e.g., Notifications, UserService) has a well-defined API and lifecycle, managed efficiently through Effect's Layer system.

Quick Start

Define a new service called 'EmailService' with a method 'sendEmail' that takes a recipient and message.

Frequently Asked Questions about effect-services

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

FAQPage Schema
How do I define and compose services in Effect-TS?

Define and compose Effect-TS services using ServiceMap.Service for interfaces, IdentityComposer for type-safe keys, and Layer utilities for declarative dependency injection and layer composition.

How does dependency injection work with Effect-TS Layer composition?

Dependency injection in Effect-TS uses Layer composition and Layer.provide to build complex dependency graphs, ensuring explicit dependency management and modular application architectures.

What's the best way to manage service identities in TypeScript using Effect?

Manage service identities in TypeScript using Effect's IdentityComposer, which provides type-safe, compile-time validated service keys to reduce boilerplate and ensure maintainability.

Can I build microservice architectures with Effect-TS service layers?

Yes, you can build microservice architectures with Effect-TS by defining services like UserService with clear APIs and managing their lifecycles efficiently through the Layer system.

Why should I use declarative layer composition for TypeScript service management?

Declarative layer composition provides type-safe service identification and explicit dependency management, reducing boilerplate code and ensuring maintainable, modular TypeScript applications.