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.