agentleFS
d-padmanabhand-padmanabhan/agent-engineering-handbook/skills/observability/SKILL.md

observability

Skill17 starsChanged 55 days agoMITView on GitHub

Designs and reviews production observability using structured logging, NDJSON, metrics, SLIs and SLOs, distributed tracing, OpenTelemetry, dashboards, alerts, telemetry pipelines, redaction, retention, and cost controls. Use when instrumenting services, defining log schemas, correlating microservices, designing monitoring or alerting, reviewing telemetry cardinality, or diagnosing whether production signals can answer operational questions.

87 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use gitops, background-jobs and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • kcns008Skill

    gitops

    GitOps Agent (Flow) — manages ArgoCD applications, Helm charts, Kustomize overlays, deployment strategies (canary, blue-green, rolling), multi-cluster GitOps, and drift detection for Kubernetes and OpenShift clusters.

    Also in 4 projects that use this

  • YepAPISkill

    background-jobs

    Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

    Also in 4 projects that use this

  • Mushfiqur-Rahman-RobinSkill

    rag-systems

    Best practices for building Retrieval-Augmented Generation systems — chunking, embedding, hybrid retrieval, reranking, indexing, caching, evaluation, observability — plus a catalog of RAG patterns and when each applies.

    Also in 3 projects that use this

  • YepAPISkill

    data-pipelines

    ETL patterns, cron scheduling, queue-based processing, and batch jobs with Inngest/BullMQ.

    Also in 4 projects that use this

  • wpankSkill

    caching

    Caching strategies, invalidation, eviction policies, HTTP caching, distributed caching, and anti-patterns. Use when designing cache layers, choosing eviction policies, debugging stale data, or optimizing read-heavy workloads.

    Also in 5 projects that use this

  • JohnJBorenSkill

    ci-cd

    CI/CD pipeline design, GitHub Actions, testing automation, and deployment strategies

    Also in 13 projects that use this

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 70 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Start with critical journeys, SLIs, SLOs, failure modes, and the questions an operator must answer during an incident.

    line 15
  2. Distinctive:

    Use metrics for bounded aggregate behavior, traces for request and dependency paths, and logs for discrete events requiring detailed …

    line 17
  3. Distinctive:

    Keep metric labels and span names bounded.

    line 24
  4. Distinctive:

    Treat telemetry as sensitive data.

    line 26
  5. Distinctive:

    Keep security audit events separate from ordinary application logs when integrity, access, or retention requirements differ.

    line 28
  6. Distinctive:

    Do not begin with a vendor, agent, collector, dashboard, or list of fields.

    line 50
  7. Very specific:

    Use the structured logging reference (${HANDBOOK_ROOT}/skills/observability/references/structured-logging.md), the metrics and alerting …

    line 97
  8. Distinctive:

    Prefer vendor-neutral instrumentation and OpenTelemetry Protocol (OTLP) at service boundaries where ecosystem support is mature.

    line 107
  9. Distinctive:

    Start service dashboards with:

    line 126
  10. Distinctive:

    Use multi-window burn-rate alerts where an SLO supports them.

    line 134
  11. Distinctive:

    Verify from generated telemetry in the target backend, not only from unit tests or local console output.

    line 151

“Common” is measured: kept by at least 6 in 10 of the 70 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Observability

Design observability from operational questions and user-visible outcomes. Do not add logs, metrics, or spans merely to satisfy a three-pillars checklist. Each signal must support a diagnostic, reliability, security, or business decision at an acceptable cost.

Observability Contract

  • Start with critical journeys, SLIs, SLOs, failure modes, and the questions an operator must answer during an incident.
  • Use metrics for bounded aggregate behavior, traces for request and dependency paths, and logs for discrete events requiring detailed context.
  • Emit structured logs. For container streams, prefer one JSON object per physical line on stdout or stderr; let the platform collect and rotate logs.
  • Propagate W3C trace context across process boundaries and correlate logs with valid trace and span identifiers when context exists.
  • Keep metric labels and span names bounded. Never use user IDs, request IDs, email addresses, raw URLs, or other unbounded values as metric labels.
  • Treat telemetry as sensitive data. Minimize, classify, redact, retain, and authorize it deliberately.
  • Keep security audit events separate from ordinary application logs when integrity, access, or retention requirements differ.
  • Bound telemetry queues, retries, memory, disk, network, and cost. Define which data may be sampled or dropped under pressure.
  • Alert on actionable user impact or imminent budget exhaustion. Every page needs an owner, urgency, evidence, and runbook.
  • Instrument the telemetry pipeline itself so loss, refusal, delay, and cost are visible.

Workflow

1. Define Questions and Reliability Targets

State:

  • critical user journeys and owners;
  • availability, latency, correctness, freshness, and durability SLIs;
  • SLO windows and error budgets;
  • known failure and overload modes;
  • forensic or regulatory requirements;
  • incident questions the current system cannot answer.

Do not begin with a vendor, agent, collector, dashboard, or list of fields.

2. Select the Smallest Useful Signals

Choose signals by purpose:

  • Metrics: rates, ratios, distributions, saturation, queue age, and resource budgets that need efficient aggregation and alerting.
  • Traces: end-to-end latency, dependency paths, retries, fan-out, and request-scoped failure analysis.
  • Logs: state transitions, classified failures, policy decisions, recovery actions, and bounded diagnostic details.
  • Profiles: code-level resource attribution when sampling overhead and runtime support are acceptable.

One event may contribute to several signals, but avoid recording the same large payload in each.

3. Define Signal Contracts

For logs, define:

  • event name and schema version;
  • event and observed timestamps;
  • severity semantics;
  • service resource identity and deployment environment;
  • trace, span, request, correlation, and causation identifiers where relevant;
  • allowed attributes, sensitivity classification, size limit, and retention;
  • exception shape and redaction behavior.

For metrics, define:

  • user-visible or resource outcome;
  • type, unit, monotonicity, and aggregation;
  • bounded label set and estimated worst-case series count;
  • collection interval and retention;
  • SLI numerator, denominator, exclusions, and missing-data behavior.

For traces, define:

  • propagation format and trust boundary;
  • stable low-cardinality span names;
  • semantic attributes and error status;
  • head or tail sampling policy;
  • baggage allowlist, size, and sensitivity policy;
  • maximum attributes, events, links, and payload sizes.

Use the structured logging reference (${HANDBOOK_ROOT}/skills/observability/references/structured-logging.md), the metrics and alerting reference (${HANDBOOK_ROOT}/skills/observability/references/metrics-slos-alerting.md), and the tracing and pipeline reference (${HANDBOOK_ROOT}/skills/observability/references/tracing-telemetry-pipelines.md) for detailed contracts.

4. Design Collection and Export

Prefer vendor-neutral instrumentation and OpenTelemetry Protocol (OTLP) at service boundaries where ecosystem support is mature. Keep instrumentation libraries separate from exporter and backend selection.

Define:

  • process, node, sidecar, agent, and gateway responsibilities;
  • batching, queue, retry, timeout, and backpressure limits;
  • behavior during backend outage or collector saturation;
  • egress allowlists, authentication, encryption, and tenant isolation;
  • schema transformation and enrichment ownership;
  • data residency, retention, deletion, and archive policy;
  • cost budgets by signal, tenant, service, and environment.

A persistent collector queue reduces some losses but is not a no-loss guarantee. Document overflow, expiry, disk failure, and shutdown behavior.

5. Build Dashboards and Alerts

Start service dashboards with:

  • SLI attainment and error-budget consumption;
  • request or job rate, errors, and latency distribution;
  • saturation, queue age, rejected work, and dependency health;
  • deployment, configuration, and feature-flag changes;
  • telemetry pipeline health and data freshness.

Use multi-window burn-rate alerts where an SLO supports them. Page only for urgent, actionable conditions. Route slower budget consumption and maintenance risks to tickets or planned work.

6. Verify End to End

Test:

  • schema validity and single-line encoding;
  • redaction against representative secrets and sensitive fields;
  • trace propagation through asynchronous and synchronous boundaries;
  • metric cardinality under worst-case inputs;
  • SLI calculations, alert firing, inhibition, routing, and recovery;
  • collector backpressure, queue overflow, restart, and backend outage;
  • telemetry delay, duplication, sampling, and loss;
  • dashboard and runbook usability during a controlled failure.

Verify from generated telemetry in the target backend, not only from unit tests or local console output.

Required Review Output

For an observability design or review, provide:

  1. operational questions, critical journeys, and SLOs;
  2. signal contracts and correlation strategy;
  3. sensitivity, redaction, retention, and access policy;
  4. metric cardinality and telemetry volume estimates;
  5. collection, export, buffering, retry, and loss behavior;
  6. dashboards, alerts, owners, and runbooks;
  7. verification plan and known blind spots;
  8. cost budget and conditions for reducing telemetry.

Anti-Patterns

  • Logging prose and parsing it later with fragile regular expressions.
  • Writing application log files inside containers without an explicit platform requirement.
  • Treating NDJSON as the only valid telemetry transport.
  • Logging raw request or response bodies, tokens, credentials, or unrestricted exception context.
  • Putting user, request, session, or raw path identifiers in metric labels.
  • Generating a new trace or correlation ID at every service hop.
  • Marking every span as an error because the business operation was declined.
  • Sampling required audit events without a policy that preserves obligations.
  • Alerting on CPU alone without connecting it to user impact or capacity risk.
  • Unbounded collector queues or retries presented as loss prevention.
  • Assuming observability storage is an immutable audit system.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.