effect-observability

Instrument Effect TypeScript apps with logging, spans, and metrics.

22|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/mpsuesser/pi-effect-harness --skill effect-observability
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-observability
Source: https://github.com/mpsuesser/pi-effect-harness/tree/main/harnesses/effect/skills/effect-observability
Command: npx skills add https://github.com/mpsuesser/pi-effect-harness --skill effect-observability

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you implement production-grade observability for Effect TypeScript applications so you can understand behavior, diagnose failures, and measure performance with consistent structured telemetry.

Core Features & Use Cases

  • Structured logging: Emit rich log events with key-value metadata, scoped annotations, and timing spans.
  • Distributed tracing: Create spans around effects and annotate span attributes for correlation across services.
  • Metrics collection: Track counters, gauges, histograms, summaries, and frequency distributions, including tagged dimensions.
  • OTLP and Prometheus export: Send logs/traces/metrics to OTLP backends or expose Prometheus-formatted metrics.
  • Common scenarios: Instrument service methods, configure logger layers by environment, and wire observability layers at the app boundary.

Quick Start

Use the skill to set up an OTLP observability layer that exports structured logs, traces, and metrics from your Effect application to your collector endpoint.

Frequently Asked Questions about effect-observability

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

FAQPage Schema
How do I add distributed tracing and structured logging to an Effect TypeScript application?

To add distributed tracing and structured logging in Effect, you configure a Logger.layer and wrap effects with Effect.withSpan or Effect.fn spans. This emits rich log events with key-value metadata and creates annotated tracing spans for correlation across services.

How do I export metrics and traces from Effect to Prometheus or an OTLP backend?

You export metrics and traces from Effect to Prometheus or OTLP by wiring observability exporters from effect/unstable/observability at the app boundary. This sends telemetry to an OTLP collector or exposes Prometheus-formatted metrics endpoints.

What is the best way to track counters and histograms in Effect?

The best way to track counters and histograms in Effect is by defining and updating Metric instruments. You register tagged dimensions for counters, gauges, histograms, summaries, and frequency distributions to measure runtime performance behavior.

Can I configure different observability logger layers per environment in Effect?

Yes, you can configure different observability logger layers per environment in Effect. The approach supports configuring Logger.layers by environment and wiring the specific observability layers at the application boundary to isolate development and production telemetry.

Do I need external dependencies to implement OTLP telemetry export in Effect?

No external Skill dependencies are required to implement OTLP telemetry export in Effect. You utilize the built-in effect/unstable/observability exporters to correctly wire layers and send structured logs, traces, and metrics to your collector endpoint.