Observability and monitoring
Skill agent-packs/registry/skills/observability-and-monitoring
Instrument code with structured logs, metrics, and distributed traces. Use when adding observability to services, debugging production issues, or setting up monitoring.From its SKILL.md
npx -y skills add agent-packs/registry --skill observability-and-monitoringAssembled 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.
- 0 stars0 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 file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. 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.6 KB, 530 tokens by cl100k_base, as published. Nobody here has run it
Observability and Monitoring
Instrument first, debug second. Good observability is built into code, not bolted on after incidents.
Structured Logging
- Use structured (JSON) log output with consistent field names:
level,timestamp,service,trace_id,span_id,message. - Log at the boundary of operations: request received, external call made, result returned.
- Never log secrets, PII, or tokens — redact at the log site, not in a post-processor.
- Use log levels correctly: DEBUG for trace/context, INFO for state transitions, WARN for degraded but recoverable, ERROR for failures needing attention.
Metrics
- Instrument services with the RED method: Request rate, Error rate, Duration (latency p50/p95/p99).
- For workers and queues use the USE method: Utilization, Saturation, Errors.
- Name metrics with
service_subsystem_unit_totalorservice_subsystem_unit_secondsconventions. - Add cardinality-bounded labels: status code, method, route template (not full URL), region. Never use user IDs or request IDs as labels.
Distributed Tracing
- Propagate trace context (W3C TraceContext or B3) across all service boundaries: HTTP headers, message queue attributes, gRPC metadata.
- Name spans with
verb.nounconventions:db.query,cache.get,http.post. - Add span attributes at the point where the context is known.
- Mark spans with error status and record the exception when errors propagate out.
Alerting and SLOs
- Define SLOs before adding alerts. Alert on SLO burn rate, not raw thresholds.
- Every alert must have a runbook link in its annotation.
- Use multi-window burn rate alerts: short window for fast burn, long window for slow burn.
Health Endpoints
/healthzreturns 200 only when the process is alive (liveness)./readyzreturns 200 only when all critical dependencies (database, cache) are reachable (readiness).- Log service startup and shutdown with version, commit SHA, and config hash.
Checklist
- All external calls wrapped in a span with error and latency attributes.
- Metrics include RED signals on every service boundary.
- Trace context propagated across every async boundary.
-
/healthzand/readyzendpoints implemented and tested. - No secrets or PII in log lines.
- Every alert has a runbook link.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.