What problem does it solve? Production bugs are impossible to fix when logs are unstructured strings, trace context is lost across async boundaries, and errors are silently swallowed. This Skill codifies what to log, what to trace, and what must never be logged (PII, secrets) so debugging starts from real signal instead of guesswork. ## Core Features & Use Cases - Structured logging discipline: Mandates pino via @repo/core/logger with object payloads instead of string interpolation, enforced by a no-console-log-grep hook that blocks console.log in business code. - End-to-end trace propagation: Propagates W3C TraceContext IDs across HTTP, service, job, webhook, and queue boundaries using OpenTelemetry-compatible conventions. - Error boundaries and redaction: Requires typed error handling at every async boundary, Sentry integration with anonymized user scope, and logger-level redaction of passwords, tokens, and PII. - Use Case: When adding a checkout flow, the Skill ensures every use case logs structured events with trace IDs, Stripe adapter errors are caught and returned as typed Results, and no email or token ever reaches the log stream. ## Quick Start Ask the agent to add observability to the checkout flow following the void-observability discipline, with structured logs, trace IDs, and error boundaries.