Nestjs observability
Skill FilippoDeSilva/skills/skills/nestjs/nestjs-observability
Skills for my agentic development workflow.
npx -y skills add FilippoDeSilva/skills --skill nestjs-observabilityAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.0 KB, as published. Nobody here has run it
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.nestjs-pinohandles this viaAsyncLocalStorage. - Propagation: Pass
x-request-idto downstream microservices and database queries for end-to-end tracing.
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-Ms,X-API-Overhead-Ms- Gate behind
ENABLE_PERFORMANCE_BENCHMARKfeature flag; never expose in production.
Anti-Patterns
- No console.log: Use nestjs-pino for async, structured, JSON-formatted logging.
- No missing reqId: Propagate
x-request-idheader to all downstream services and queries. - No perf data in production by default: Gate benchmarking behind
ENABLE_PERFORMANCE_BENCHMARKflag.