Checks diagnosability through structured logs, metrics, traces, correlation IDs, and useful log levels. Use when auditing incident visibility.
Installation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
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.