Repository inventory

aaronontheweb/dotnet-skills

Skills indexed from this repository, with install-style signals scoped to the repo.
25 skills16K GitHub stars0 weekly installsShellGitHubOwner profile

Overview

This skill provides pragmatic guidance for implementing OpenTelemetry instrumentation in .NET projects. It covers trace (Activity/Span) and metric design, naming conventions, error handling, performance guardians, and telemetry API surface considerations. The guidance is focused on safe, low-overhead instrumentation that integrates with OpenTelemetry semantic conventions.

How this skill works

The skill inspects common .NET telemetry patterns and prescribes concrete rules: how to create and name ActivitySources, when to start Activities, how to set attributes and events, and how to design Meter-based metrics. It emphasizes cheap fast-path checks (e.g., ActivitySource.HasListeners, activity.IsAllDataRequested), null-safety, and low-cardinality metric dimensions. It also outlines error recording, status semantics, and API ergonomics for telemetry surfaces.

When to use it

  • Adding OpenTelemetry instrumentation to an existing .NET codebase
  • Creating or reviewing ActivitySource and Meter definitions
  • Designing public telemetry APIs for libraries or components
  • Hardening telemetry for production performance and resiliency
  • Defining metric dimensions and ensuring low cardinality

Best practices

  • Guard all diagnostic code so it cannot throw or affect application logic; assume Activity can be null
  • Check ActivitySource.HasListeners() and activity.IsAllDataRequested before doing allocations or expensive work
  • Name ActivitySources and Activities with stable, compile-time identifiers; use DisplayName for runtime specifics
  • Follow OpenTelemetry semantic conventions and prefer standard attributes over custom ones; attributes must be non-null, non-empty
  • Keep metric dimensions low-cardinality and predefined; make high-cardinality dimensions opt-in
  • Measure durations with timestamp math (Stopwatch.GetTimestamp) and avoid per-operation allocations

Example use cases

  • Instrument a library with a primary ActivitySource and a separate Detailed ActivitySource for opt-in traces
  • Record order processing duration with a Histogram and low-cardinality dimensions (order_type, region, outcome)
  • Implement safe exception recording: set ActivityStatusCode.Error, add otel.status_* tags, and add exception events
  • Add counters for connection lifecycle using explicit methods like ConnectionOpened/ConnectionClosed
  • Audit telemetry code for hidden allocations: string interpolation, LINQ, or disposable timing helpers

FAQ

No. Operation names must be stable and not contain runtime data; use DisplayName or tags for specifics.

How do I avoid metric cardinality explosion?

Only use low-cardinality, predefined dimensions. Make any high-cardinality label opt-in and avoid user or object IDs as metric labels.

25 skills

aspire-configuration
Api

This skill helps configure Aspire AppHost to emit explicit environment variables for app settings, keeping code free of Aspire clients and service discovery.

AutomationBackendCloudDevops+2
opentelementry-dotnet-instrumentation
Api

This skill guides implementing OpenTelemetry instrumentation in .NET apps, covering tracing, metrics, naming, error handling, performance, and API design.

Code ReviewCsharpDebuggingMonitoring+3
csharp-coding-standards
Api

This skill helps you write modern high-performance C# code using records, value objects, pattern matching, and async design for robust APIs.

Code ReviewCsharpDesignPerformance+2
akka-testing-patterns
Backend

This skill helps you test Akka.NET actors using Akka.Hosting.TestKit patterns with DI, TestProbes, and in-memory persistence.

CsharpIntegration TestsTestingUnit Tests+1
aspire-service-defaults
Api

This skill centralizes observability, health checks, resilience, and service discovery for Aspire apps, wiring OpenTelemetry, health endpoints, and HttpClient

BackendDevopsMonitoringObservability+2
csharp-concurrency-patterns
Backend

This skill helps you choose the right .NET concurrency abstraction, guiding async/await, channels, Akka.NET, and avoiding locks.

CsharpPerformanceRefactorShell
microsoft-extensions-configuration
Api

This skill helps .NET developers implement robust configuration binding, validation, and monitoring using Microsoft.Extensions.Options patterns for reliable

BackendCi CdDebuggingSql+2
akka-best-practices
Api

This skill helps .NET developers implement robust Akka.NET patterns for event streams, supervision, error handling, DI, and testable cluster abstractions.

BackendCode ReviewDebuggingRefactor+2
aspire-integration-testing
Api

This skill helps you write end-to-end integration tests for .NET Aspire apps using xUnit, real dependencies, and dynamic endpoint discovery.

BackendDatabaseDevopsIntegration Tests+2
ilspy-decompile
Cli

This skill decompiles .NET assemblies with ILSpy to reveal implementation details, aiding understanding, debugging, and auditing library behavior.

Code ReviewCsharpDebuggingProductivity+2
playwright-ci-caching
Automation

This skill speeds up CI by caching Playwright browsers across Linux, macOS, and Windows, reducing download overhead and ensuring version-aligned caches.

Ci CdCloudDevopsPerformance+2
microsoft-extensions-dependency-injection
Backend

This skill helps organize dependency injection registrations via extension methods, enabling cohesive grouping, reuse in production and tests, and cleaner

Code ReviewCsharpRefactorTesting+1
csharp-api-design
Api

This skill helps you design stable public APIs and manage compatibility across versions by applying extend-only principles for .NET libraries.

Code ReviewDesignPlanningTesting+1
aspire-mailpit-integration
Backend

This skill helps you test emails locally with Mailpit in .NET Aspire, capturing messages and validating content in integration tests.

DebuggingIntegration TestsTestingShell
akka-management
Api

This skill helps you deploy Akka.NET clusters with dynamic service discovery via Akka.Management, replacing static seeds and enabling auto-formation.

BackendCloudDevopsKubernetes+3
verify-email-snapshots
Automation

This skill enables snapshot testing of email templates with Verify to catch regressions in rendered HTML across MJML templates.

BackendCi CdCode ReviewTesting+1
dotnet-devcert-trust
Csharp

This skill helps diagnose and fix Linux .NET HTTPS dev certificate trust issues from generation to system CA integration.

DebuggingDevopsDockerSecurity+1
skills-index-snippets
Automation

This skill helps maintain AGENTS.md and CLAUDE.md indexes to route .NET skills and agents efficiently and automatically.

Ci CdCode ReviewCsharpDocs+2
serialization
Api

This skill helps you choose optimal .NET serialization formats, emphasizing schema-based options and AOT-ready System.Text.Json across APIs, messaging, and

BackendCsharpMigrationPerformance+1
playwright-blazor
Ci Cd

This skill helps you author robust Playwright tests for Blazor apps by guiding stable selectors, navigation, and authentication patterns.

CsharpDebuggingFrontendTesting+1
crap-analysis
Ci Cd

This skill analyzes code CRAP scores and coverage to highlight high-risk, untested code paths and guide refactoring priorities.

Code ReviewDebuggingRefactorTesting+1
testcontainers
Backend

This skill helps you write integration tests using TestContainers for .NET with xUnit against real infrastructure in Docker.

DataDatabaseDevopsInfra+4
efcore-patterns
Backend

This skill helps you apply EF Core best practices for performance, migrations, and reliable no-tracking queries across projects.

CsharpDatabaseDebuggingMigration+2
snapshot-testing
Api

This skill enables robust snapshot testing in .NET using Verify to catch unintended changes in APIs, responses, and serialized outputs via human-reviewed

BackendCi CdCode ReviewTesting+1
service-defaults
Backend

This skill standardizes observability, health checks, and resilience across Aspire services by providing a shared ServiceDefaults project.

DevopsMonitoringObservabilityPerformance+1
More from this maintainer
Other repositories and skills published under the same GitHub owner.
Skills library
Jump back to the full directory or explore grouped topics.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational