observability-and-reliability
Makes systems debuggable and reliably operable — instrumentation, alerting that is worth waking for, service objectives, and learning from failure. Use this to instrument a service, fix alerting that is ignored, set error budgets or reliability targets, prepare for on-call, or ru
Install
npx skills add https://github.com/cbrock84/headcount/tree/main/plugins/technology/skills/observability-and-reliability
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install cbrock84-headcount@llmmart
git clone https://github.com/cbrock84/headcount.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole cbrock84/headcount collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Observability and reliability
Monitoring tells you a thing you predicted is happening. Observability lets you ask a question you did not anticipate. Production failures are mostly the unanticipated kind.
Instrument for questions you have not thought of yet
Emit structured events with enough context to slice afterwards — request identifiers, user or tenant, version, dependency, outcome, duration. Free-text logs are unsearchable at volume and become expensive noise.
Propagate a correlation identifier across every hop. Without it, a distributed system is a set of independent stories and reconstructing one request is manual archaeology.
Measure what the user experiences at the percentile they experience it. A p50 latency graph is mostly a graph of the people who were not affected.
Alert on symptoms, not causes
Alert when users are affected or imminently will be. High CPU is not an alert; requests failing or slowing is. Cause-based alerting produces pages for conditions the system handled and no page for novel failures that hurt.
Every alert must be actionable, urgent and specific. If the recipient's honest response is to look and close it, delete the alert — it is training the on-call to ignore the page, and the ignored page is eventually the real one.
Alert fatigue is the actual reliability risk in most organizations. Fewer, better alerts beat coverage.
Objectives and error budgets
Set service level objectives from what users need, then treat the remainder as a budget to spend. This converts a sterile argument between shipping and stability into arithmetic: budget remaining means ship, budget exhausted means the next work is reliability.
Keep the internal objective tighter than any external commitment made through
operations:service-level-management, so you find out before the customer does.
Learn from incidents
Post-incident review exists to find what made the failure possible and hard to detect, not who touched it last. Human error is a starting question, never the finding: what made the error easy, and why did nothing catch it?
Track the time to detect separately from time to resolve. Long detection is an observability defect, and it is the part that repeats.
Produce a small number of real actions with owners and dates. A review generating fifteen actions generates none.
Sources
references/sources.md in this skill lists the outside authorities that settle the questions
here — what each one is authoritative for, and what you may do with it. Check them before
answering on anything they cover, and cite what you used. Most are free to read and not free
to reproduce; the use note on each is binding.
Tooling
Metrics and traces: Datadog, Grafana with Prometheus, New Relic, Honeycomb, and similar. Errors: Sentry, Rollbar, and similar. Logs: Elastic, OpenSearch, Loki, Splunk, and similar.
On-call and incident management: PagerDuty, Opsgenie, incident.io, FireHydrant, and similar.
Instrument with OpenTelemetry wherever you can. Vendor-specific instrumentation is the part that makes leaving expensive.
Never
- Page a human for something they cannot act on.
- Alert on a cause when you can alert on the symptom.
- Report reliability as an average when users experience the tail.
- Close an incident review with the finding that someone was careless.
Files (headcount)
-
references
-
sources.md 1.7 KB
# Sources — `technology:observability-and-reliability` <!-- Generated by scripts/build-sources.py from sources/*.toml. Do not edit. --> Check these before answering on anything they cover, and cite what you used. The use note on each one is binding: most of what a professional cites is free to read and not free to reproduce. ## OpenTelemetry specification and semantic conventions OpenTelemetry project, Cloud Native Computing Foundation · global · CC BY — quote with attribution <https://opentelemetry.io/docs/specs/otel/> Machine-readable: <https://opentelemetry.io/docs/specs/semconv/> **Authoritative for:** The data model for traces, metrics and logs, and — in the semantic conventions — the attribute names themselves, which is what naming arguments actually turn on. ## Site Reliability Engineering and The SRE Workbook Google · global · **read and cite only — copyrighted, do not reproduce** <https://sre.google/sre-book/table-of-contents/> Machine-readable: <https://sre.google/workbook/table-of-contents/> **Authoritative for:** The definitions the reliability vocabulary rests on — indicator against objective against agreement, error budget, toil. It settles what the words mean, not whether a practice suits your organization. ## Trace Context World Wide Web Consortium · global · **read and cite only — copyrighted, do not reproduce** <https://www.w3.org/TR/trace-context/> **Authoritative for:** The on-the-wire format of the traceparent and tracestate headers, which settles how trace context propagates between tools from different vendors. --- Sources are maintained in `sources/` upstream, not here. If one is wrong, out of date, or missing, fix it there — this file is regenerated and an edit to it is lost.
-
-
SKILL.md 3.6 KB
--- name: observability-and-reliability description: Makes systems debuggable and reliably operable — instrumentation, alerting that is worth waking for, service objectives, and learning from failure. Use this to instrument a service, fix alerting that is ignored, set error budgets or reliability targets, prepare for on-call, or run a blameless post-incident review. --- # Observability and reliability Monitoring tells you a thing you predicted is happening. Observability lets you ask a question you did not anticipate. Production failures are mostly the unanticipated kind. ## Instrument for questions you have not thought of yet Emit structured events with enough context to slice afterwards — request identifiers, user or tenant, version, dependency, outcome, duration. Free-text logs are unsearchable at volume and become expensive noise. Propagate a correlation identifier across every hop. Without it, a distributed system is a set of independent stories and reconstructing one request is manual archaeology. Measure what the user experiences at the percentile they experience it. A p50 latency graph is mostly a graph of the people who were not affected. ## Alert on symptoms, not causes Alert when users are affected or imminently will be. High CPU is not an alert; requests failing or slowing is. Cause-based alerting produces pages for conditions the system handled and no page for novel failures that hurt. Every alert must be **actionable, urgent and specific**. If the recipient's honest response is to look and close it, delete the alert — it is training the on-call to ignore the page, and the ignored page is eventually the real one. Alert fatigue is the actual reliability risk in most organizations. Fewer, better alerts beat coverage. ## Objectives and error budgets Set service level objectives from what users need, then treat the remainder as a budget to spend. This converts a sterile argument between shipping and stability into arithmetic: budget remaining means ship, budget exhausted means the next work is reliability. Keep the internal objective tighter than any external commitment made through `operations:service-level-management`, so you find out before the customer does. ## Learn from incidents Post-incident review exists to find what made the failure possible and hard to detect, not who touched it last. Human error is a starting question, never the finding: what made the error easy, and why did nothing catch it? Track the time to *detect* separately from time to resolve. Long detection is an observability defect, and it is the part that repeats. Produce a small number of real actions with owners and dates. A review generating fifteen actions generates none. ## Sources `references/sources.md` in this skill lists the outside authorities that settle the questions here — what each one is authoritative for, and what you may do with it. Check them before answering on anything they cover, and cite what you used. Most are free to read and not free to reproduce; the use note on each is binding. ## Tooling Metrics and traces: Datadog, Grafana with Prometheus, New Relic, Honeycomb, and similar. Errors: Sentry, Rollbar, and similar. Logs: Elastic, OpenSearch, Loki, Splunk, and similar. On-call and incident management: PagerDuty, Opsgenie, incident.io, FireHydrant, and similar. Instrument with OpenTelemetry wherever you can. Vendor-specific instrumentation is the part that makes leaving expensive. ## Never - Page a human for something they cannot act on. - Alert on a cause when you can alert on the symptom. - Report reliability as an average when users experience the tail. - Close an incident review with the finding that someone was careless.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.