Skip to content
cccskills
FreePublished on GitHub

error-tracking

Load for .NET observability changes involving structured logs/Loki, Prometheus metrics, OpenTelemetry traces, exception handling, correlation IDs, dashboards, alerts, or production error diagnosis; not for ordinary business validation errors.

The English summary is being prepared. Showing the original description.

See how to install

Files included (10)

  • SKILL.md3.3 KB
  • resources/api-error-responses.md1.5 KB
  • resources/api-exception-handling.md445 B
  • resources/blazor-error-boundary.md450 B
  • resources/db-performance-monitoring.md424 B
  • resources/loki-logging.md1.0 KB
  • resources/native-operation-logging.md380 B
  • resources/observability-stack.md582 B
  • resources/opentelemetry-tracing.md968 B
  • resources/prometheus-metrics.md807 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

ABOUTME: Error handling + observability rules for .NET services. ABOUTME: Read referenced resources before applying.

Error Tracking & Observability Guidelines

Project-Agnostic Observability Patterns for .NET

Placeholders use {Placeholder} syntax - see docs/internal/TEMPLATE_GLOSSARY.md.

Non‑Inferable Rules (Must Follow)

  • Do not swallow exceptions.
  • Use RFC 7807 ProblemDetails for API errors.
  • Sentry is not used — use OTEL + Prometheus + Loki.
  • Chained IExceptionHandler (not middleware): ValidationExceptionHandler (handles validation exceptions → 400) → GlobalExceptionHandler (catch-all → 500 in prod, full detail in dev). Each returns true to stop the chain once handled.
  • .NET 10 handled-exception diagnostics: app.UseExceptionHandler() currently runs without a SuppressDiagnosticsCallback override. In .NET 10, handled exceptions may suppress logs/metrics/events by default once an IExceptionHandler returns true. Treat this as an explicit observability decision when editing exception handling.
  • RFC 7807 extensions: All ProblemDetails include traceId (HttpContext.TraceIdentifier), timestamp (ISO 8601), and correlationId when available. 500 errors hide detail in production.
  • CorrelationIdMiddleware: Reads X-Correlation-ID or X-Request-ID from inbound requests, generates GUID if absent, pushes to Serilog.LogContext. Added to response headers.
  • RequestLoggingMiddleware: Structured logging with method, path, status, duration, userId, tenantId, correlationId.
  • BusinessMetrics (OpenTelemetry): Meter "Explore.Business" with counters: events.created, events.published, registrations.created, organizations.created, authorization.decisions. All tagged with tenant_id, resource_type.
  • PerformanceBehavior (Native operation pipeline): Warning for >500ms, error for >3000ms. Includes handler name and elapsed time.
  • Rate limiting 429: Rejection response is RFC 6585 ProblemDetails with Retry-After when available plus X-RateLimit-Limit and X-RateLimit-Remaining.

Resources (Read Before Applying)

Related Documentation

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Load for Blazor/MudBlazor UI changes involving forms, dialogs, focus, keyboard navigation, landmarks, ARIA, color contrast, RTL-safe styling, or WCAG 2.2 AA tests; not for backend-only changes.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

Load when a task asks to research, verify, compare, or look up framework/package behavior, release notes, standards, RFCs, CVEs, or unfamiliar APIs; use repository evidence first, then official docs, and not for codebase navigation alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

aspire

Free

Load for Aspire AppHost work: start/stop/wait resources, inspect dashboard/logs/traces, add integrations/resources, rebuild a service, run isolated worktrees, or diagnose Aspire orchestration; not for plain dotnet apps, container-only deployments, or cloud deployment.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

Load for authentication or authorization changes involving BFF cookies/tokens, JWT validation, claims/user ID extraction, policies, handler access checks, impersonation, or 401/403 bugs; not for UI affordance gating alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

Load for Blazor BFF server work involving YARP proxy routes, cookie sessions, access-token forwarding/refresh, downstream API calls, BFF handlers, or browser-to-API auth failures; not for client component rendering or API JWT validation alone.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

Load when editing Blazor `.razor.css`, scoped selectors, `::deep`, BEM class names, RTL/logical CSS properties, or styling nested MudBlazor components; not for global design tokens or non-Blazor CSS.

The English summary is being prepared. Showing the original description.

islamu-ngo/Event8Updated Oct 19, 2026

See all skills by islamu-ngo

Report a problem with this skill