Agent-skills-standard nestjs-observability
Configure structured logging with Pino, Prometheus metrics, and health checks for NestJS services. Use when adding JSON logging, request tracing with correlation IDs, Prometheus metric endpoints, or liveness/readiness health checks. (triggers: main.ts, **/*.module.ts, nestjs-pino, Prometheus, Logger, reqId)
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/nestjs/nestjs-observability" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-nestjs-observability && rm -rf "$T"
manifest:
skills/nestjs/nestjs-observability/SKILL.mdsource content
Observability Standards
Priority: P1 (OPERATIONAL)
Structured Logging (Pino)
Use
nestjs-pino for high-performance, async JSON logging. Node's console.log blocking and unstructured.
Tracing (Correlation)
- Request ID: Every log line must include
.reqId
handles this vianestjs-pino
.AsyncLocalStorage - Propagation: Pass
to downstream microservices and database queries for end-to-end tracing.x-request-id
Metrics
Expose
/metrics for Prometheus scraping using @willsoto/nestjs-prometheus.
Health Checks
- Terminus: Implement "Liveness" (I'm alive) vs "Readiness" (I can take traffic).
- DB Check:
/TypeOrmHealthIndicator
.PrismaHealthIndicator - Memory Check: Fail readiness if Heap > 300MB to prevent crash loops.
Performance Headers (Dev Only)
,X-Response-Duration-Ms
,X-DB-Execution-MsX-API-Overhead-Ms- Gate behind
feature flag; never expose in production.ENABLE_PERFORMANCE_BENCHMARK
Anti-Patterns
- No console.log: Use nestjs-pino for async, structured, JSON-formatted logging.
- No missing reqId: Propagate
header to all downstream services and queries.x-request-id - No perf data in production by default: Gate benchmarking behind
flag.ENABLE_PERFORMANCE_BENCHMARK