AgentStack
SKILL verified MIT Self-run

Instrument Observability

skill-etr-groundwork-instrument-observability · by etr

Instrument a change with structured logging, RED metrics, trace spans, and symptom-based alerts - use while building the change, not after an incident proves it was unobservable

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-etr-groundwork-instrument-observability

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-etr-groundwork-instrument-observability)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Instrument Observability? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Instrument Observability

Overview

Observability is added with the code that needs it, not bolted on after an outage. Shift Left: the cheapest time to make a change observable is while you still hold its context — what can fail, what "normal" looks like, which boundary the latency lives behind.

Core principle: A change you cannot observe in production is a change you cannot operate. Logs, metrics, traces, and alerts are part of "done," not a follow-up ticket.

When to Use

  • Adding or changing a service boundary, request handler, job, or external call
  • Code paths that can fail partially, retry, time out, or degrade
  • Any change whose health you would want to confirm during a [[staged-rollout]]

Skip only for changes with no runtime behavior (docs, pure refactors with identical I/O, config-only edits).

Process

Apply each layer to the change.

  1. Structured logging. Emit machine-parseable events (key-value / JSON), not interpolated prose. Attach the correlation/trace id and the dimensions you'd filter on (tenant, route, outcome). Log decisions and failures, not control flow.
  2. RED metrics. For every request-serving surface, instrument the three:
  • Rate — requests per second handled
  • Errors — failed requests per second (and the error class)
  • Duration — latency distribution (histogram, so you get p50/p95/p99 — never a single mean)
  1. Trace spans. Wrap each external boundary (DB query, RPC, queue, third-party API) in a span that propagates context. Spans turn "the request was slow" into "the request was slow here."
  2. Symptom-based alerts. Alert on user-visible symptoms (error rate breached, latency SLO burning), not on causes (CPU high, pod restarted). Causes generate noise; symptoms generate pages worth waking for. Each alert names the symptom and points at the dashboard/runbook.

Rationalizations

| Excuse | Reality | |--------|---------| | "I'll add metrics once it's in prod" | The first incident is the worst time to discover you're blind. Shift Left. | | "The mean latency is fine" | A mean hides the p99 tail where users actually hurt. Use a histogram. | | "There are already logs" | Unstructured logs you can't query are not observability. Structure them. | | "I'll alert on CPU and disk" | Cause-based alerts page you for non-problems and miss real ones. Alert on symptoms. | | "Tracing is a separate project" | One span around each boundary is minutes of work and the only thing that localizes latency. |

Red Flags

  • Latency reported as a single average instead of a distribution
  • Alerts wired to CPU, memory, or restart counts rather than user-visible symptoms
  • log.info("processing " + thing) style string interpolation instead of structured fields
  • An external call (DB, API, queue) with no span around it
  • "We'll add observability after launch" in the plan

Verification

Cite concrete evidence — names and locations, not intentions:

  • [ ] Structured log events added at decision/failure points, carrying the correlation id (name the events)
  • [ ] Rate, Error, and Duration metrics emitted for each request surface; Duration is a histogram (name the metrics)
  • [ ] A trace span wraps every external boundary the change touches (name the spans)
  • [ ] At least one symptom-based alert defined against an SLO, pointing at a dashboard/runbook (name the alert)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.