observability

Wrap business logic with trace() and structured logs using OpenTelemetry conventions.

3|1|Updated Jan 4, 2026
One-click install
npx skills add https://github.com/jagreehal/jagreehal-claude-skills --skill observability-jagreehal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: observability
Source: https://github.com/jagreehal/jagreehal-claude-skills/tree/main/skills/observability
Command: npx skills add https://github.com/jagreehal/jagreehal-claude-skills --skill observability-jagreehal

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Observability integrates trace() wrappers, structured logs via Pino, and OpenTelemetry to give teams end-to-end visibility into code execution without modifying business logic.

Core Features & Use Cases

  • Trace-wrapped functions enable precise timing and error statuses across API calls, DB queries, and async workflows.
  • Structured logging with Pino ensures redaction and easy correlation with traces.
  • OpenTelemetry-style attributes and spans enable cross-service diagnostics and performance monitoring.

Quick Start

Install autotel and pino, then wrap a function with trace() to instrument your code.

Frequently Asked Questions about observability

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

FAQPage Schema
How do I add distributed tracing and structured logs to API endpoints without modifying business logic?

Distributed tracing and structured logs are added by wrapping functions with trace() and using Pino for logging, eliminating the need to modify business logic. This provides end-to-end visibility and trace-log correlation across API calls.

Can I use OpenTelemetry semantic conventions for background jobs and data processing pipelines?

OpenTelemetry semantic conventions are applied to background jobs and data processing pipelines by wrapping the logic with trace(). This generates spans, logs, and attributes to monitor async workflows and database queries.

What's the best way to correlate Pino logs with OpenTelemetry spans for cross-service diagnostics?

Correlating Pino logs with OpenTelemetry spans is handled by the observability wrapper, which aligns structured logs with trace data. This enables cross-service diagnostics and performance monitoring without altering the core logic.

Do I need to install autotel and pino to enable trace-log correlation in my functions?

Autotel and pino are required dependencies to enable trace-log correlation. Installing these libraries allows you to wrap functions with trace() and produce structured logs following OpenTelemetry conventions.

Why does wrapping business logic with trace() provide better visibility into runtime behavior?

Wrapping business logic with trace() provides visibility by capturing precise timing and error statuses across function executions. It solves the problem of unseen runtime behavior by generating spans and attributes for API calls and async workflows.

Are there limitations when using trace wrappers for async workflows and database queries?

Trace wrappers for async workflows and database queries require the autotel and pino libraries to function. While they provide precise timing and error statuses, they are limited to producing OpenTelemetry-style spans and structured logs.