effect-best-practices

Enforces opinionated best-practice patterns for Effect-TS services, errors, layers, and atoms.

Updated Nov 21, 2025
One-click install
npx skills add https://github.com/NathanColosimo/kompose --skill effect-best-practices-nathancolosimo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-best-practices
Source: https://github.com/NathanColosimo/kompose/tree/main/.agents/skills/effect-best-practices
Command: npx skills add https://github.com/NathanColosimo/kompose --skill effect-best-practices-nathancolosimo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Enforces opinionated best-practice patterns for Effect-TS across services, errors, layers, and atoms to ensure consistency and maintainability.

Core Features & Use Cases

  • Opinionated patterns for Effect.Service and Effect.fn for tracing, typing, and composition.
  • Structured error definitions with Schema.TaggedError and catchTag/catchTags for precise frontend mapping.
  • Layer composition and observability guidance including Layer.mergeAll, provideMerge, and Effect.log usage.

Quick Start

Start by wrapping all services with Effect.Service, define errors with Schema.TaggedError, and adopt Layer patterns to compose infrastructure and business logic.

Frequently Asked Questions about effect-best-practices

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

FAQPage Schema
What are the best practices for Effect-TS service definitions and error handling?

Standardize Effect-TS services using Effect.Service and Effect.fn for tracing and composition, while defining errors with Schema.TaggedError and catchTag to ensure type safety and precise frontend error mapping.

How do I compose Effect-TS layers for infrastructure and business logic?

Compose Effect-TS layers using Layer.mergeAll and provideMerge to build observable infrastructure and business logic, incorporating Effect.log guidelines to maintain consistency and maintainability across frontend and backend TypeScript projects.

Does this Effect-TS pattern guidance work with React and effect-atom components?

Yes, the Effect-TS best practices target codebases using effect-atom React components, providing opinionated atom usage guidelines that span both frontend and backend TypeScript projects for type-safe and maintainable code.

What's the best way to define structured errors in Effect-TS for frontend mapping?

The best way to define structured errors in Effect-TS is using Schema.TaggedError combined with catchTag and catchTags, ensuring precise, type-safe error mapping directly on the frontend without losing error context.

When do I need standardized Effect-TS patterns for observability and maintainability?

You need standardized Effect-TS patterns when a codebase scales across services, errors, layers, and atoms, requiring consistent observability guidelines, branded types, and Layer composition to ensure maintainability and type safety.

Can I use Effect.Service and Effect.fn together for tracing and composition?

Yes, Effect.Service and Effect.fn are designed to be used together as an opinionated pattern, delivering consistent tracing, typing, and composition across all defined services in your TypeScript project.