agentleFS
mejbaurbaharmejbaurbahar/fagun/skills/observability-testing/SKILL.md

observability-testing

Skill1 starsChanged 4 months agoMITView on GitHub

Use when correlating a test failure or production issue across logs, metrics, and traces to find root cause; when verifying that a feature emits the logging/metrics/alerting it needs; or when doing shift-right testing via production monitoring.

1 other project uses a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Treat "no observability for this new critical path" as a real finding — file it via [[bug-reporting]] like any other gap, it's cheaper to …

    line 20
  2. Distinctive:

    Canary/feature-flag validation: when a change ships to a subset of traffic, actively compare canary vs.

    line 25

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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 & Production Testing

The core skill: correlate, don't guess

When something fails, follow the chain: test/user report → logs → distributed trace → the specific API call → database query → infra metric. Each link either confirms or rules out a layer. Don't speculate about root cause without walking this chain — "probably a timeout" is not a finding, a trace showing a 30s span on a specific downstream call is.

What to check per signal type

  • Logs: structured (JSON, not free-text — free-text logs are unqueryable at scale), correlation/request ID present and threaded through every service a request touches, log level appropriate (an error path logging at info gets missed; expected/handled conditions logging at error cause alert fatigue), no PII/secrets logged.
  • Metrics: the four golden signals present per service — latency, traffic, errors, saturation. Check that a metric actually changes under real load (a counter that's always zero because it's wired to the wrong code path is a silent observability gap, not a healthy system).
  • Traces: spans cover the actual critical path (DB calls, external API calls, queue publish/consume) not just the top-level request; trace context propagates across service/process boundaries (a broken propagation shows up as disconnected trace fragments instead of one end-to-end trace — this is one of the most common and most damaging observability bugs).

Verifying a feature is observable (do this at feature-test time, not after an incident)

  • Does a new critical code path emit a log/metric on both success and failure?
  • Does a new failure mode have an alert, with a sane threshold (not so sensitive it pages on noise, not so loose it never fires)?
  • Is there a dashboard panel or is this feature invisible until someone manually greps logs during an incident? Treat "no observability for this new critical path" as a real finding — file it via [[bug-reporting]] like any other gap, it's cheaper to add now than after the first unexplained incident.

Shift-right / production testing

  • Synthetic monitoring: scripted checks running continuously against production (not just CI) catch environment-specific issues CI never sees (real DNS, real CDN, real third-party integrations).
  • Real-user monitoring (RUM): actual user-experienced performance/errors, which will differ from synthetic/lab results — reconcile the two rather than trusting only one.
  • Canary/feature-flag validation: when a change ships to a subset of traffic, actively compare canary vs. baseline metrics (error rate, latency, business metric) before widening rollout — don't just "wait and see if anyone complains."
  • Error-rate/alert testing: periodically verify alerts actually fire (trigger a known condition in staging, confirm the page/notification arrives) — an alert that's silently broken is worse than no alert, because it creates false confidence.

Tools

  • Logs: structured logging + a queryable backend (CloudWatch Logs Insights, Datadog Logs, Loki).
  • Metrics: Prometheus + Grafana, Datadog, CloudWatch Metrics.
  • Tracing: OpenTelemetry (vendor-neutral instrumentation) feeding into Jaeger, Tempo, Datadog APM, or similar.
  • Error tracking: Sentry — correlates errors with release/deploy, gives stack traces and affected-user counts; use mcp__claude_ai_Sentry__* tools in this environment when investigating a live issue.

Cross-link

Feeds directly into [[qa-code-intelligence]] for root-cause analysis, and into [[autonomous-qa-orchestration]]'s step of investigating backend state before filing a bug.

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.