observability-and-instrumentation
Skill1 starsChanged 2 months agoMITView on GitHub
Instrument a diff so a production failure leaves evidence — on-call questions first, then structured logs, RED metrics, spans and symptom alerts, then exercise the telemetry. Reach for it on any error branch, retry, job or outbound call. Diagnosing a live failure is `debugging-and-error-recovery`; slowness, `performance-optimization`.
49 other projects use a version of this.
Adopted by
Most recently taken up by
- xuweizhengo/skills-hubtheir own version, first seen Nov 8, 2026
- ishandutta2007/Awesome-Agent-Skillstheir own version, first seen Nov 8, 2026
- TheAstroByte/astrobyte-agent-skillstheir own version, first seen Nov 8, 2026
- MMACABRE/SKILLStheir own version, first seen Nov 8, 2026
- steven123397/nexuskit-skillstheir own version, first seen Nov 1, 2026
- oleg494/coding-kittheir own version, first seen Nov 1, 2026
Used with
Projects with it also use constraint-driven-development, marketing-ideas and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MrCipherSmithSkillconstraint-driven-development
Use when a project needs a persistent, measurable quality bar — starting a project without documented standards, 'set up constraints', or when coverage/perf/a11y thresholds get re-debated per-PR. Produces CONSTRAINTS.md with enforceable numbers, ratchets, and a guard against silent weakening. NOT for throwaway prototypes or a one-off CI setup.
Also in 17 projects that use this
silvainfmSkillmarketing-ideas
When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the user asks for 'marketing ideas,' 'growth ideas,' 'how to market,' 'marketing strategies,' 'marketing tactics,' 'ways to promote,' or 'ideas to grow.' This skill provides 140 proven marketing approaches organized by category.
Also in 4 projects that use this
CloudflareSkillreceiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
Also in 5 projects that use this
IgorGanapolskySkillgraphify
Query the local Graphify-Labs AST knowledge graph for ThumbGate architecture questions (what connects X to Y, explain a symbol, PreToolUse/gates/adapters). Slash: /graphify.
Also in 4 projects that use this
GoogleSkillponytail
Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes).
Also in 4 projects that use this
silvainfmSkillpricing-strategy
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' or 'monetization.' This skill covers pricing research, tier structure, and packaging strategy.
Also in 3 projects that use this
Other versions49 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 49
- addyosmani/agent-skills★ 114ksame name
- ollaya-dev/ollaya★ 1.4ksame name
- songjiun10-collab/Senior-thinking-skills★ 87same name
- vinvcn/addyosmani-agent-skills-zh★ 46same name
- jmxt3/gitscape.ai★ 33same name
- jaskirat1616/grok-skills★ 22same name
- ishandutta2007/Awesome-Agent-Skills★ 21same name
- afonsoft/skills★ 14same name
- HK-hub/AgentSkills★ 6same name
- Marvellbrazil/my-agentic-skills★ 4same name
39 more not listed
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 repository41 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- acceptance-criteriaSkill
- aim-higherSkill
- api-designSkill
- architecture-designSkill
- browser-testing-with-devtoolsSkill
- ci-cdSkill
- codebase-designSkill
- codebase-researchSkill
- code-reviewSkill
- code-simplificationSkill
- comprehension-quizSkill
- debugging-and-error-recoverySkill
- deprecation-and-migrationSkill
- documentation-and-adrsSkill
- doubt-driven-developmentSkill
- environment-manifestSkill
- gauntlet-loopSkill
- git-workflowSkill
- handoffSkill
- idea-refineSkill
- incremental-implementationSkill
- interview-meSkill
- literate-explainerSkill
- orchestratorSkill
- performance-optimizationSkill
- plan-breakdownSkill
- preflight-readinessSkill
- project-setupSkill
- pull-requestSkill
- quality-verificationSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- source-driven-developmentSkill
- spec-grillingSkill
- spec-reviewSkill
- test-driven-developmentSkill
- to-prdSkill
- using-agent-skillsSkill
- worktreeSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 45 edited versions we read keep these.
1
Distinctive
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
- Distinctive: line 78
Trace across the gaps: Start OpenTelemetry before the imports it patches, auto-instrument HTTP and the DB clients, add a manual span only …
“Common” is measured: kept by at least 6 in 10 of the 45 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Observability and Instrumentation
Purpose
Stage: cross-cutting. Principles 6, 7, 8.
Instruments a slice's diff so a production failure leaves evidence: on-call questions first, then the structured logs, RED metrics, spans and symptom alerts answering them, then a pass exercising what it added. It emits no artifact — instrumentation ships inside the diff it observes, since code nobody can observe is code nobody can operate.
When to use / when to skip
- A slice adds an error branch, retry, background job, queue or outbound call, and
incremental-implementationis about to commit it. - The Review fan-out dispatches you code-cold over a wave's diffs for that same fact — a
production-failure path emitting no log, metric or trace
(
safety-rails.md, Code-cold dispatch). - Someone asks by hand for logging, metrics or alerting, or an incident closed with "we could not tell what happened".
- The pre-launch gate
shipping-and-launchworks through before a release (observability-checklist.md, Pre-launch gate) — release-level, after a person merges: it blocks a release, not a slice's draft pull request, which ispull-request's. - Skip a diff touching no I/O, retry, queue, job or outbound call: record "no telemetry surface" with that reason and add nothing — signals nobody queries cost a budget and answer no question.
- Near-miss — a live failure is
debugging-and-error-recovery's, and this pass makes the next one fast; measured slownessperformance-optimization's, the five-axis gradecode-review's, a secret in the diffsecurity-and-hardening's.
Inputs
- the diff, or the slice being built — helps: names the surface and which signals it needs · without it:
read
git diff <base>..HEADor the working tree and name the range,derived docs/features/<slug>/prd.md— helps: what the feature is for, so the questions are product-level rather than framework-level · without it: take them from the routes, jobs and calls the diff adds,deriveddocs/features/<slug>/acceptance.md— helps: itserror/edgeandsecurity-observablescenarios, the failure paths already promised observable · without it: derive them from the failure modes the code branches on,deriveddocs/features/<slug>/plan/<slice-id>.md— helps: the files this slice owns, so telemetry lands in its own commits · without it: attribute by file path,derived- the repository's existing telemetry — helps: the logger, metrics client and tracing setup a second
stack beside them would fragment · without it: grep for each and say what you found,
derived
With a person present, ask at most three questions, and only where the gap changes which signals the feature needs.
Process
- Write the on-call questions before adding a signal — two to four an on-call engineer will ask — and map every log line, metric and span to one, dropping any that answers none.
- Match each question to its signal: metrics say that something is wrong, traces where, logs
why. Then walk the changed files through
observability-checklist.md— logging, metrics, tracing, alerting, dashboards — hardest at what the diff introduced. - Log events, not prose: a stable event name and machine-readable fields, never interpolation. A
correlation ID minted or accepted at the boundary rides every line, span and outbound call, or
interleaved traffic buries the request. Allowlist logged fields rather than whole bodies — a
credential's value in a log line, span attribute or metric label is a secret in the diff, a stop-list
item (
safety-rails.md), reported as present with the value unprinted. A client error boundary and a server error middleware are the last places an unhandled error becomes a correlated event; what reaches the user from either is that ID, not the stack (security-checklist.md, Error handling). - RED every endpoint and external dependency — rate, errors, duration — and USE every resource: queues, pools, hosts. Draw labels from small fixed sets, never a user id, raw URL, request id or error string; that detail belongs in a log or a span. Record latency as a histogram whose p95 and p99 are readable.
- Trace across the gaps. Start OpenTelemetry before the imports it patches, auto-instrument HTTP and the DB clients, add a manual span only around work someone would filter by. Propagate context outbound, extract it inbound, carry it through queue messages — a trace ends at the first boundary that drops it, and the hop you lose is usually the slow one.
- Alert on symptoms users feel — error rate, latency, queue age — and route causes like CPU, disk
and restarts to a dashboard. Each alert carries a three-line runbook (meaning, first query,
escalation), a threshold argued from an SLO or from history rather than guessed, and one of two
severities:
pagenow,ticketthis week. Delete any alert whose honest answer is "ignore it, it self-heals". - Exercise the telemetry: force the error path and find it by correlation ID with its fields intact, send traffic and read the series back with the labels you expected, follow one request end to end with no broken span, test-fire each alert to its real channel and runbook link. Return those commands with their real output, naming what you could not reach and why.
- Commit telemetry with the code it observes, in the files the slice names — not a follow-up file, not a later slice.
- Decide the rest and leave the trace — a signal not worth its cost, a vendor matching what the
repository runs, a sampling rate: default, reason, build, one
docs/session-log.mdentry, a Decided-for-you row forpull-request. A code-cold pass returnspass · concerns · block: a missing signal isconcerns,blockis a stop-list item alone, and the band ispull-request's to compute.
Rationalizations
| Rationalization | Reality |
| "I'll add the logging once it works" | "Once it works" arrives as "once it broke" — the hour instrumenting costs most. |
"console.log is fine for now" | Interpolated output cannot be filtered, counted or alerted on; a structured logger costs five minutes once. |
| "We'll check the dashboard when it breaks" | A dashboard built without the on-call questions renders everything except the answer. |
"user_id as a label makes debugging easier" | It multiplies series until the metrics backend falls over, taking the backend down rather than the app. |
| "Alert on everything, we'll tune it later" | A pager that cries wolf gets ignored, the tuning never happens, and the real page is the one missed. |
| "The logger is wired, so the telemetry works" | Instrumentation is code with no test behind it: [object Object], a dropped span and a dead runbook link all compile. |
Red flags
- A retry, queue or outbound call in the diff with no signal added beside it.
- A log line assembled by interpolation, or an orphan line carrying no correlation ID.
- A metric labelled with a user id, a raw URL or an error string.
- Latency reported as an average, with no percentile behind it.
- A pager firing daily and acknowledged without action, or paging on CPU while the user-facing error rate goes unwatched.
- A token, a session cookie or a whole request body in the log output.
Verification
- The on-call questions are written down and every signal answers one — or the diff is recorded "no telemetry surface" with its reason.
- Every new log line is structured, names a stable event and carries the correlation ID, and no credential value or unredacted personal field reached a log, span attribute or metric label.
- Every new endpoint and dependency carries RED with bounded labels, and latency reads as p95/p99.
- The forced error was found by correlation ID, one request ran end to end with no broken span, and each new alert reached its channel with a working runbook link.
- An induced failure was diagnosed from telemetry alone, without reading the source — or what stopped that is named.
- Telemetry sits in the same commits as the code it observes, and each reconstructed input reads
derived. - On a code-cold pass the verdict is one of
pass · concerns · block, and ablocknames the stop-list condition that fired.
Outputs & handoff
Writes instrumentation inside the slice's diff — logger calls, metric definitions, tracing setup, alert rules — committed with the code they observe, scoped to the files the slice names. There is no telemetry artifact: the diff is the deliverable and its cap is the slice's.
Appends one docs/session-log.md entry per decided-for-you call, cap 60 words, shaped as
state-schema.md states. Report each entry's measured length against
that cap; an over-cap draft goes on at its real size, never as one that fit.
Returns in conversation the on-call questions with the signal answering each, the commands that
exercised the telemetry and their real output, anything recorded "no telemetry surface" with its reason,
and on a code-cold pass ## Verdict plus ## Findings — each finding a path:line, the signal it wants,
the question that signal answers.
Nothing on the board — no STATE.md row, no gate flip; the caller owns the slice's transition
(state-schema.md).
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.

