ln-627-observability-auditor
Scannednpx machina-cli add skill levnikolaevich/claude-code-skills/ln-627-observability-auditor --openclawPaths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Observability Auditor (L3 Worker)
Specialized worker auditing logging, monitoring, and observability.
Purpose & Scope
- Worker in ln-620 coordinator pipeline
- Audit observability (Category 10: Medium Priority)
- Check logging, health checks, metrics, tracing
- Calculate compliance score (X/10)
Inputs (from Coordinator)
Receives contextStore with tech stack, framework, codebase root, output_dir.
Workflow
- Parse context + output_dir
- Check observability patterns
- Collect findings
- Calculate score
- Write Report: Build full markdown report in memory per
shared/templates/audit_worker_report_template.md, write to{output_dir}/627-observability.mdin single Write call - Return Summary: Return minimal summary to coordinator
Audit Rules
1. Structured Logging
Detection:
- Grep for
console.log(unstructured) - Check for proper logger: winston, pino, logrus, zap
Severity:
- MEDIUM: Production code using console.log
- LOW: Dev code using console.log
Recommendation: Use structured logger (winston, pino)
Effort: M (add logger, replace calls)
2. Health Check Endpoints
Detection:
- Grep for
/health,/ready,/liveroutes - Check API route definitions
Severity:
- HIGH: No health check endpoint (monitoring blind spot)
Recommendation: Add /health endpoint
Effort: S (add simple route)
3. Metrics Collection
Detection:
- Check for Prometheus client, StatsD, CloudWatch
- Grep for metric recording:
histogram,counter
Severity:
- MEDIUM: No metrics instrumentation
Recommendation: Add Prometheus metrics
Effort: M (instrument code)
4. Request Tracing
Detection:
- Check for correlation IDs in logs
- Verify trace propagation (OpenTelemetry, Zipkin)
Severity:
- MEDIUM: No correlation IDs (hard to debug distributed systems)
Recommendation: Add request ID middleware
Effort: M (add middleware, propagate IDs)
5. Log Levels
Detection:
- Check if logger supports levels (info, warn, error, debug)
- Verify proper level usage
Severity:
- LOW: Only error logging (insufficient visibility)
Recommendation: Add info/debug logs
Effort: S (add log statements)
Scoring Algorithm
MANDATORY READ: Load shared/references/audit_scoring.md for unified scoring formula.
Output Format
MANDATORY READ: Load shared/templates/audit_worker_report_template.md for file format.
Write report to {output_dir}/627-observability.md with category: "Observability" and checks: structured_logging, health_endpoints, metrics_collection, request_tracing, log_levels.
Return summary to coordinator:
Report written: docs/project/.audit/ln-620/{YYYY-MM-DD}/627-observability.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
Reference Files
- Worker report template:
shared/templates/audit_worker_report_template.md - Audit scoring formula:
shared/references/audit_scoring.md - Audit output schema:
shared/references/audit_output_schema.md
Critical Rules
- Do not auto-fix: Report only, never inject logging or endpoints
- Framework-aware detection: Adapt patterns to project's tech stack (winston/pino for Node, logrus/zap for Go, etc.)
- Effort realism: S = <1h, M = 1-4h, L = >4h
- Exclusions: Skip test files for console.log detection, skip dev-only scripts
- Context-sensitive severity: console.log in production code = MEDIUM, in dev utilities = LOW
Definition of Done
- contextStore parsed (tech stack, framework, output_dir)
- All 5 checks completed (structured logging, health endpoints, metrics, request tracing, log levels)
- Findings collected with severity, location, effort, recommendation
- Score calculated per
shared/references/audit_scoring.md - Report written to
{output_dir}/627-observability.md(atomic single Write call) - Summary returned to coordinator
Version: 3.0.0 Last Updated: 2025-12-23
Source
git clone https://github.com/levnikolaevich/claude-code-skills/blob/master/ln-627-observability-auditor/SKILL.mdView on GitHub Overview
The Observability Auditor (L3) reviews logging, health checks, metrics, tracing, and log levels across a project. It parses inputs, checks observability patterns, collects findings with severity and recommended actions, and outputs a markdown report.
How This Skill Works
It consumes contextStore and output_dir, checks observability patterns (structured logging, health endpoints, metrics, tracing, log levels), and aggregates findings. It computes a score using the unified scoring algorithm and writes a detailed report via a template to the output_dir, then returns a concise summary to the coordinator.
When to Use It
- You are auditing a Node/Go project’s logging setup for production readiness
- You need to confirm presence of health check endpoints for monitoring
- You want to verify metrics instrumentation and visibility in dashboards
- You require tracing support with correlation IDs across services
- You must improve log visibility by using proper log levels and structured logs
Quick Start
- Step 1: Provide the required contextStore and output_dir to the auditor
- Step 2: Run the Observability Auditor (ln-627-observability-auditor) in your environment
- Step 3: Open {output_dir}/627-observability.md to review the Observability checks and findings
Best Practices
- Use a structured logger (e.g., winston/pino for Node, logrus/zap for Go) instead of console.log in production code
- Expose health endpoints (/health, /ready, /live) and document their statuses
- Instrument metrics with Prometheus (or StatsD/CloudWatch) and expose counters/histograms
- Implement request IDs and propagate tracing context across services (OpenTelemetry/Zipkin)
- Enforce multi-level logging (info/debug/warn/error) for clear visibility
Example Use Cases
- Audit report flags console.log usage in production modules
- Missing /health endpoint detected in multiple services
- No metrics instrumentation found in the codebase
- No correlation IDs found; tracing is not propagated across services
- Only error-level logs present; missing info/debug logs for context