Skillshub common-observability
Standards for structured logging, distributed tracing, and metrics. (triggers: **/*.service.ts, **/*.handler.ts, **/*.middleware.ts, **/*.interceptor.ts, **/*.go, **/*.java, **/*.kt, **/*.py, logging, tracing, metrics, opentelemetry, observability, slo)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/common-observability" ~/.claude/skills/comeonoliver-skillshub-common-observability && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/common-observability/SKILL.mdsource content
Common Observability Standards
Priority: P1 (OPERATIONAL)
📋 Logging & Tracing
- JSON Logs: Always emit JSON structured logs. Never plain-text in prod.
- Correlation: Extract
orX-Request-Id
. Attach to async context.traceparent - Tracing: Use OpenTelemetry. Propagate W3C
.traceparent - Spans: Name spans like
(<HTTP_METHOD> <route>
).GET /users/:id
📊 Metrics
- Required: Request rate, Error rate, Latency histogram (p50/p95/p99), Saturation.
- SLOs: Alert on SLO burn rates, not raw threshold spikes.
🚫 Anti-Patterns
- Console.log: Do not use in prod; use a structured logger (
,pino
).zap - PII in Logs: Never log tokens, passwords, or full request bodies.
- Dynamic Span Names:
causes cardinality explosion. UseGET /users/123
.GET /users/:id - Missing Cleanup: Always end tracing spans.