Logging, tracing, and monitoring standards using Winston and OpenTelemetry in a NestJS + TypeScript backend.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Observability Skill
## Scope
Apply this skill for any task involving logging, tracing, monitoring, health checks, or error reporting. This project uses **Winston** for structured logging, **OpenTelemetry** for distributed tracing, and **correlation IDs** for request tracking.
---
## Logging Standards
### Log Levels
Use log levels consistently across the codebase:
| Level | When to Use | Example |
|---|---|---|
| `error` | Operation failed, requires attention, may affect users | Database connection lost, external API 5xx, unhandled exception |
| `warn` | Unexpected but recoverable situation, degraded behavior | Deprecated endpoint called, rate limit approaching, retry succeeded |
| `info` | Significant business events, operation milestones | User created, role assigned, password reset requested, login successful |
| `debug` | Diagnostic detail useful during development or troubleshooting | Query parameters, computed values, cache hit/miss, function entry/exit |
### Structured Log Format
All logs must be structured JSON. Never use string interpolation for log data — use the metadata object:
```typescript
// Wrong — unstructured, hard to query
…
The line at the top of this page pins the label git:20260610.47ec162, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_p73xhzwjnlbt2b2s
GET https://markdownregistry.com/api/v1/resolve?ref=jvoliveiran/constellation-harness/observability
GET https://markdownregistry.com/api/v1/blob/5bf92582495cf6ecc3f6fad28514e397e13181c91ef0d83db7170dec8d553620
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
jvoliveiran/constellation-harness · plugins/constellation-stack-frontend/skills/frontend-design/SKILL.md · Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to…
jvoliveiran/constellation-harness · plugins/constellation-stack-infra/skills/oci-container-platform/SKILL.md · Running Docker containers and databases on OCI inside the Always Free tier — the AWS Lightsail equivalent built from…
jvoliveiran/constellation-harness · plugins/constellation-stack-node/skills/graphql-federation/SKILL.md · How to build a graphql federated API approach, composing a supergraph based on subgraph graphql servers
jvoliveiran/constellation-harness · plugins/constellation-stack-node/skills/graphql/SKILL.md · How to use graphql with Nestjs and Typescript on a code-first approach
jvoliveiran/constellation-harness · plugins/constellation-stack-node/skills/nestjs/SKILL.md · Most recommended practices and modules to use alongside with NestJS framework for backend development
jvoliveiran/constellation-harness · plugins/constellation-stack-node/skills/prisma-migrations/SKILL.md · Best practices for Prisma schema changes, migrations, seeding, and rollback in a NestJS + TypeScript backend
jvoliveiran/constellation-harness · plugins/constellation-stack-node/skills/schema-compatibility/SKILL.md · Detect breaking vs safe changes in the auto-generated GraphQL schema to prevent downstream consumer breakage
ericrisco/rsc-harness · skills/observability/SKILL.md · Use when instrumenting a service from the inside so an incident can be explained from telemetry alone — wiring…
nahid-sparktales/agent-dispatcher · skills/devops/observability/SKILL.md · Instrument a service so the questions asked during an incident are answerable from data already being collected — rate…
rjmurillo/ai-agents · .claude/skills/observability/SKILL.md · Use when you say `query agent logs`, `find slow tool calls`, `show agent errors`, or `what to log`. Query and analyze…
outlinedriven/odin-claude-plugin · plugins/odin-infra/skills/observability/SKILL.md · Use when adding telemetry, composing an observability surface, reviewing alerts, shipping a production feature, or…
byerlikaya/claude-starter-kit · kit/skills/observability/SKILL.md · Stack-agnostic observability: structured logs, correlation ids, metrics and traces; no PII or secrets in logs.
Makes a…