Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Paths: File paths (references/, ../ln-*) are relative to this skill directory.
Diagnosability Auditor (L3 Worker)
Type: L3 Worker
Specialized worker auditing whether operators can diagnose incidents.
Purpose & Scope
Audit diagnosability (Category 10: Medium Priority)
Check structured logs, metrics, tracing, correlation IDs, and log levels
Emit ADD_DIAGNOSTIC_SIGNAL, STRUCTURE_LOGS, or PROPAGATE_CORRELATION
Calculate compliance score (X/10)
Inputs
MANDATORY READ: Load references/audit_worker_core_contract.md.
Tool policy: follow host AGENTS.md MCP preferences; load references/mcp_tool_preferences.md and references/mcp_integration_patterns.md only when host policy is absent or MCP behavior is unclear.
Receives contextStore with tech stack, framework, codebase root, output_dir.
Use hex-graph first when traces, call paths, or cross-file references materially improve the audit. Use hex-line first for local code reads when available. If MCP is unavailable, unsupported, or not indexed, continue with built-in Read/Grep/Glob/Bash and state the fallback in the report.
Workflow
Detection policy: use two-layer detection (candidate scan, then context verification); load references/two_layer_detection.md only when the verification method is ambiguous.
Parse context + output_dir
Determine project type (Layer 2 pre-check): Is this a web service (all checks apply), CLI tool (health/probes not applicable), or library (most checks optional)? Adjust applicable checks accordingly.
Check observability patterns (Layer 1: grep)
Analyze context per candidate (Layer 2):
Structured logging: is this a library (no logging OK) or a service (logging required)?
Request tracing: monolith -> less needed. Microservice -> critical
Collect confirmed findings
Calculate score
Write Report: Build full markdown report in memory per references/templates/audit_worker_report_template.md, write to {output_dir}/ln-627--global.md in single Write call
Return Summary: Return minimal summary
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. Correlation IDs
Detection:
Check for request ID/correlation ID middleware
Verify IDs appear in logs and are propagated to outbound calls
Severity:
MEDIUM: No correlation IDs in request-handling services
Recommendation: Add request ID middleware and include correlation ID in structured logs
Effort: M
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)
Write JSON summary per references/audit_summary_contract.md. In managed mode the caller passes both runId and summaryArtifactPath; in standalone mode the worker generates its own run-scoped artifact path per shared contract.
Write report to {output_dir}/ln-627--global.md with category: "Diagnosability" and checks: structured_logging, correlation_ids, metrics_collection, request_tracing, log_levels.
Return summary per references/audit_summary_contract.md.
When summaryArtifactPath is absent, write the standalone runtime summary under .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json and optionally echo the same summary in structured output.