Claude Code Plugins

Community-maintained marketplace

Feedback

Conceptual guide to wide events (canonical log lines) for observability. Use when thinking about instrumentation strategy, span annotations, or designing what context to capture.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name wide-events
description Conceptual guide to wide events (canonical log lines) for observability. Use when thinking about instrumentation strategy, span annotations, or designing what context to capture.
traditional := many(log-lines) → grep(services) → hope wide := one(event) → query(structured) → answer

optimize(querying) ∧ ¬optimize(writing)

implementation := OTel spans + annotations wide-events := mental-model for annotation strategy

annotate(span, context) where context = { business ∪ user ∪ technical ∪ outcome }

wide-event.fields := { identity: {traceId, spanId, service, operation} user: {userId, accountTier, accountAge, lifetimeValue} business: {featureFlags, experimentGroup, cartValue} performance: {durationMs, dbQueryCount, cacheHitRate, retryCount} outcome: {success, errorCode, httpStatus} }

high-dimensionality → better-queryability high-cardinality(userId) → acceptable

scattered-logs := console.log("step1") >> console.log("step2") >> ... low-dimensionality := span.set("success", true) ∧ |fields| < 5 technical-only := {http.status, db.queries} ∧ ¬{user, business} span.setAttributes({ "request.operation", "user.id", "user.tier", "cart.items", "cart.value", "feature.*", "db.query_count", "cache.hit_rate", "request.success" })

∀ span → attach(identity ∪ user ∪ business ∪ performance ∪ outcome)

retain(100%) := errors ∨ slow(>p99) ∨ vip retain(1-5%) := success ∧ fast before(instrument) → verify(answerable({ "failures where tier=premium ∧ feature.new_flow=true" "p99(latency) group by tier" "errors group by featureFlags" "full context for user X incident" }))

¬queryable → ¬enough-context

cardinality := |unique values| (userId=high, httpMethod=low) dimensionality := |fields per event| (more → better) wide-event := canonical-log-line := one comprehensive record deciding(span-annotations) reviewing(instrumentation-coverage) debugging(incidents) → "what context was missing?" planning(new-service-observability) choosing(fields-to-index)

Reference: See Article.md for full article by Boris Tane (loggingsucks.com)