observability-design
Skill1 starsChanged 50 days agoMITView on GitHub
Design a system's observability from first principles — SLI/SLO and error-budget definition, trace architecture across service boundaries, structured logging strategy, and alerting that stays actionable instead of degrading into noise. Use when designing new observability for a system, when an existing system is "hard to debug in production," or when alert fatigue is a stated problem. Distinct from adding a few log lines to existing code — this is the design of the observability layer itself.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- anuragsarkar97/skillstheir own version, first seen Nov 8, 2026
- SWEStash/swe-workflow-skillstheir own version, first seen Nov 8, 2026
- l-gevity/l-gevity-skillstheir own version, first seen Nov 6, 2026
- bingyue/fde-skillstheir own version, first seen Oct 13, 2026
- zhuochun/skillstheir own version, first seen Jul 21, 2026
- gclm/super-stacktheir own version, first seen Mar 29, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- l-gevity/l-gevity-skills★ 80same name
- bingyue/fde-skills★ 5same name
- SWEStash/swe-workflow-skills★ 1same name
- zhuochun/skills★ 1same name
- anuragsarkar97/skills★ 0same name
- gclm/super-stack★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- agent-system-designSkill
- api-contract-designSkill
- architecture-designSkill
- architecture-optimizationSkill
- ci-speedupSkill
- code-handoffSkill
- cross-ai-handoffSkill
- crypto-storage-auditSkill
- database-designSkill
- dataset-sourcingSkill
- distributed-debuggerSkill
- embedded-constrained-codingSkill
- freedom-to-operate-analysisSkill
- frontend-architectureSkill
- github-masterSkill
- idea-finderSkill
- ieee-paper-drafterSkill
- memory-leak-hunterSkill
- ml-model-selectionSkill
- ml-security-auditSkill
- mobile-platform-architectureSkill
- patent-drafterSkill
- patent-novelty-evaluatorSkill
- performance-optimizationSkill
- project-scaffoldingSkill
- researcher-evaluatorSkill
- researcherSkill
- safety-compliance-scopingSkill
- scale-refactorSkill
- secure-code-reviewSkill
- slow-query-optimizerSkill
- test-architectSkill
The file
Files
Observability Design
Observability that can't answer "why did this break" during an actual incident isn't observability, it's a pile of dashboards. This skill designs it so the answer is actually there when it's needed, and designs the alerting so people still trust it after month three.
Step 1 — Define SLIs tied to actual user-facing behavior
A Service Level Indicator should measure what a user actually experiences (request success rate, latency at the percentile that matters, correctness of the result) — not an internal proxy like CPU usage that can be fine while the user-facing behavior is broken. Set the Service Level Objective as an explicit target against each SLI, and derive an error budget from it (how much failure is tolerable before it's a problem worth stopping other work for).
Step 2 — Give each observability pillar its actual job
- Metrics — for counting and aggregating (rates, durations, error counts) cheaply at high volume.
- Logs — for the specific detail of a specific event, when you already know roughly where to look.
- Traces — for following one request's actual path across service/async boundaries to see where time and errors accumulate. Using logs to do what metrics should (counting events by grepping/aggregating log lines) is expensive and slow exactly when speed matters most during an incident — assign the right pillar up front.
Step 3 — Design trace propagation across every real boundary
Context must survive not just synchronous HTTP calls but every async boundary the request actually crosses — message queues, background jobs, batched processing. A trace that silently drops at the first queue hop isn't tracing the actual system, it's tracing the easy half of it.
Step 4 — Alert on symptoms, not causes, and make every alert actionable
Alert on SLO burn rate (the user-facing thing that matters) rather than every underlying cause independently — a dozen different causes can all threaten the same SLO, and alerting on each separately is how alert fatigue starts. For every alert that pages someone: if there's no runbook or concrete action attached, that's a sign it shouldn't page at all — route it to a dashboard or a lower-urgency channel instead.
Step 5 — Control cardinality deliberately
High-cardinality labels (user IDs, full URLs, unbounded free-text fields) on metrics blow up storage cost and query latency, often invisibly until the bill or the dashboard timeout arrives. Decide label cardinality as a design choice, not an accident of "just tag everything that might be useful."
Step 6 — Design dashboards for the actual incident workflow
Top-down: user impact first, then the service most likely responsible, then the component-level detail — not a flat wall of every graph available with no path through it. A dashboard designed for "what do I check first during an incident" is a different artifact from "everything we happen to measure."
Output
# Observability design: [system]
## SLIs / SLOs / error budgets
## Pillar assignment (what's a metric, what's a log, what's a trace, and why)
## Trace propagation boundaries covered
## Alerting policy: [metric, threshold, burn-rate window, runbook/action]
## Cardinality decisions
## Dashboard structure (top-down incident path)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
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.

