go-observability

Standardize structured logging, Prometheus metrics, and OpenTelemetry tracing in Go services.

Updated Apr 20, 2026
One-click install
npx skills add https://github.com/vincent119/ai-rules-kit --skill go-observability-vincent119
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-observability
Source: https://github.com/vincent119/ai-rules-kit/tree/main/skills/go-observability
Command: npx skills add https://github.com/vincent119/ai-rules-kit --skill go-observability-vincent119

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Go observability is often assembled in an ad hoc fashion, resulting in inconsistent logs, scattered metrics, and patchy tracing across services. This Skill standardizes logging, metrics naming, and tracing practices to improve debugging, monitoring, and reliability of Go applications.

Core Features & Use Cases

  • Structured logging guidance with fixed fields and context propagation (trace_id, span_id, request_id, user_id)
  • Prometheus-compatible metrics naming and collection patterns
  • OpenTelemetry integration for end-to-end tracing
  • Context-aware logging to correlate events across service boundaries
  • Guidance for log levels and configuration using popular Go libraries such as zap and slog

Quick Start

Configure your Go project to adopt the observability standards and integrate the recommended libraries (zlogger, Prometheus, and OpenTelemetry) to begin collecting structured logs, metrics, and traces.

Frequently Asked Questions about go-observability

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

FAQPage Schema
How do I standardize Go observability with logs, metrics, and traces?

Standardize Go observability by applying structured logging with fixed fields, Prometheus-compatible metrics naming, and OpenTelemetry integration to unify logs, metrics, and traces across modules.

How do I correlate logs with traces across Go service boundaries?

Correlate logs with traces using context-aware logging that propagates trace_id, span_id, request_id, and user_id across service boundaries, ensuring consistent log fields and trace correlation.

What's the best way to configure structured logging in Go using zap and slog?

Configure structured logging in Go by setting log levels and defining fixed fields using popular libraries like zap and slog, enabling consistent context propagation and trace correlation across services.

Does this Go observability approach work with Prometheus and OpenTelemetry?

Yes, this approach integrates Prometheus for compatible metrics naming and collection, and OpenTelemetry for end-to-end tracing, standardizing observability across Go services of varying complexity.

Why are my Go service metrics inconsistent and tracing patchy across modules?

Inconsistent metrics and patchy tracing occur when observability is assembled ad hoc; standardizing metrics naming conventions and integrating OpenTelemetry resolves these scattered observability practices.