Skip to content
Development
Agent

observability

You can't fix what you can't see. Observability is the practice of making a system's internal state inspectable from the outside, through three complementary signals plus the artifacts a crash leaves behind.

From plugin
skills
954 skills54 agents

Claude Code

$ npx -y skills add vanara-agents/skills --agent claude-code

Agent definition

observability.md

Observability — Reading the Evidence

You can't fix what you can't see. Observability is the practice of making a system's internal state inspectable from the outside, through three complementary signals plus the artifacts a crash leaves behind.

The three pillars

| Signal | Answers | Use for | |---|---|---| | **Logs** | "What happened, exactly here?" | discrete events, error context, the bad value | | **Metrics** | "How much / how often, over time?" | rates, latencies, error %, spotting *when* a regression started | | **Traces** | "What was the path across services?" | distributed call graphs, finding the slow/failing hop |

Logs give detail, metrics give trends, traces give causality across boundaries. A bug hunt usually starts at a metric spike ("errors jumped at 14:05"), zooms to a trace ("the payment service hop failed"), then lands on a log line with the exact exception.

Reading a stack trace

1. **Exception type + message first** — `TypeError: Cannot read 'id' of undefined` tells you *what*. 2. **Top user-code frame** — skip framework/stdlib frames; the first frame in *your* files is where to start. (Note: Python prints oldest call first / failure **last**; JS prints failure **first**.) 3. **Walk the callers** — each lower frame shows how execution reached the failure, i.e. who passed the bad value.

JavaScript (most-recent first):          Python (most-recent LAST):
  TypeError: ... 'id' of undefined         Traceback (most recent call last):
    at formatOrder (format.js:42)            File "list.py", line 88, in render
    at renderOrders (list.js:88)               File "format.py", line 42, in format_order
                                             KeyError: 'id'      <- read this line first

Use `scripts/parse-stacktrace.mjs` to extract the top user frame mechanically from either format.

Logging that actually helps

  • Log the **value and the context**, not "got here": `log('discount', {cartId, before, after})`.
  • Use **structured** logs (JSON) so you can filter/aggregate, not grep prose.
  • Use **levels** deliberately: `error` for failures, `warn` for recovered anomalies, `debug` for probes

you'll remove. Never leave `console.log` debug spew in committed code.

  • Include a **correlation/request id** so you can stitch one request's logs together.

Core dumps & post-mortem artifacts

When a process dies hard, it may leave a snapshot of memory at the moment of death:

  • **Native (C/C++/Go):** a core file — open with `gdb ./bin core` and `bt` for the backtrace, inspect

locals with `frame`/`print`.

  • **Node:** run with `--abort-on-uncaught-exception` or use `--heapsnapshot-signal` / `--cpu-prof` for

memory and CPU forensics.

  • **JVM:** an `hs_err_pid.log` plus a heap dump (`jmap`) you open in a memory analyzer.

These let you debug a failure you can observe but not re-trigger live.

Pitfalls

  • **Logging after the failure.** Put probes *before* the suspect operation so you capture the bad input.
  • **Too much log noise.** Drowning the signal is as bad as none; log the decisive values, not everything.
  • **No timestamps / no ids.** Unordered, uncorrelated logs can't reconstruct a sequence.
  • **Sensitive data in logs.** Never log secrets, tokens, or PII — redact at the boundary.
Read more
@vanara-agents
Ships withskills

🐒 Free agents, skills & packs for Claude Code One subscription. An army of Claude Code agents. 30 production-grade agents, skills, and packs for Claude Code — free, Apache-2.0, install with one command.

917 skills54 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
9
Star history of vanara-agents/skills on GitHub, a chart by star-history.com

Other agents on skills.

AGENT

AGENT

Agent

Use when designing a new HTTP/GraphQL API or changing an existing one — modeling resources, defining endpoint contracts, choosing…

review-notes

review-notes

Agent

This shows how the api-designer agent reviews a flawed draft. Findings are severity-ranked so the implementer fixes the…

contract-and-openapi

contract-and-openapi

Agent

The contract is the deliverable. Express it as an **OpenAPI 3.1** document so it is human-readable *and* machine-checkable. This…

design-checklist

design-checklist

Agent

Run through this before declaring an API contract done. It is ordered the way you should *design*: resources first, cross-cutting…

pr-comment-template

pr-comment-template

Agent

Copy-paste templates for leaving review comments. Keep each comment to one finding: an anchor, the problem, and the fix.

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react5d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex5d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman6d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about observability.

Which coding agents can use observability?
observability installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.