Official agent skill

Sentry Dotnet SDK

by getsentry in getsentry/sentry-for-ai

Full Sentry SDK setup for .NET. An agent skill from getsentry/sentry-for-ai.

OfficialApache-2.0Auto-check passedProductivity & Automation

Install Sentry Dotnet SDK

skills CLI
$ npx skills add getsentry/sentry-for-ai --skill sentry-dotnet-sdk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install getsentry/sentry-for-ai sentry-dotnet-sdk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/getsentry/sentry-for-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills-legacy/sentry-dotnet-sdk .claude/skills/sentry-dotnet-sdk && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sentry-dotnet-sdk
GitHub stars
268
Token cost
~5.8k tokens
SKILL.md length
1,492 words
Files
7 (incl. references)
Skills in repo
32
Repo updated
First seen
Licence
Apache-2.0

At a glance

Full Sentry SDK setup for .NET. An agent skill from getsentry/sentry-for-ai.

  • Works in 4 steps: Detect → Recommend → Guide → …
  • Asked to add Sentry to .NET
  • SKILL.md covers Invoke This Skill When, Phase 1: Detect, Phase 2: Recommend and Phase 3: Guide, plus 4 more sections
  • Calls dotnet; reaches o0.ingest.sentry.io; needs SENTRY_AUTH_TOKEN

What it does

Sentry Dotnet SDK is an agent skill from getsentry/sentry-for-ai, published by the product's own GitHub organization. Full Sentry SDK setup for .NET. Use when asked to "add Sentry to .NET", "install Sentry for C", or configure error monitoring, tracing, profiling, logging, or crons for ASP.NET Core, MAUI, WPF, WinForms, Blazor, Azure Functions, or any other .NET application.

Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/crons.md`, `references/error-monitoring.md` and `references/logging.md`).

It sits in Productivity & Automation, covering Scheduled and recurring tasks and Cross-platform mobile apps. It works with Sentry, .NET, ASP.NET Core and Azure Functions. The repository describes itself as: Teach your AI coding assistant how to use Sentry - setup, debugging, alerts, and more. The licence is Apache-2.0.

When your agent uses it

  • Asked to add Sentry to .NET
  • Install Sentry for C
  • Configure error monitoring
  • Crons for ASP.NET Core

Example prompts

  • “add Sentry to .NET”
  • “install Sentry for C”
  • “/sentry-dotnet-sdk”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Detect
  2. Recommend
  3. Guide
  4. Cross-Link

What it can do on your machine

Read from SKILL.md and the folder at commit d8fd106. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • o0.ingest.sentry.io

    Also links to:

    • docs.sentry.io
    • sentry.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SENTRY_AUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sentry Dotnet SDK loads about 5.8k tokens when it runs, and up to ~34k if it reads all its reference files. Until then it costs about 70 tokens; SKILL.md has 1,492 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~5.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~34k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from getsentry/sentry-for-ai at commit d8fd106, republished under its Apache-2.0 licence (© getsentry). 1,492 words, ~5,826 tokens.

Download SKILL.mdSave it as .claude/skills/sentry-dotnet-sdk/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
sentry-dotnet-sdk
description
Full Sentry SDK setup for .NET. Use when asked to "add Sentry to .NET", "install Sentry for C#", or configure error monitoring, tracing, profiling, logging, or crons for ASP.NET Core, MAUI, WPF, WinForms, Blazor, Azure Functions, or any other .NET application.
license
Apache-2.0
category
sdk-setup
parent
sentry-sdk-setup
disable-model-invocation
true

All Skills > SDK Setup > .NET SDK

Sentry .NET SDK

Opinionated wizard that scans your .NET project and guides you through complete Sentry setup: error monitoring, distributed tracing, profiling, structured logging, and cron monitoring across all major .NET frameworks.

Invoke This Skill When

  • User asks to "add Sentry to .NET", "set up Sentry in C#", or "install Sentry for ASP.NET Core"
  • User wants error monitoring, tracing, profiling, logging, or crons for a .NET app
  • User mentions SentrySdk.Init, UseSentry, Sentry.AspNetCore, or Sentry.Maui
  • User wants to capture unhandled exceptions in WPF, WinForms, MAUI, or Azure Functions
  • User asks about SentryOptions, BeforeSend, TracesSampleRate, or symbol upload

Note: SDK version and APIs below reflect Sentry NuGet packages ≥6.1.0 (OTLP export requires ≥6.5.0). Always verify against docs.sentry.io/platforms/dotnet/ before implementing.


Phase 1: Detect

Run these commands to understand the project before making any recommendations:

bash
# Detect framework type — find all .csproj files
find . -name "*.csproj" | head -20

# Detect framework targets
grep -r "TargetFramework\|Project Sdk" --include="*.csproj" .

# Check for existing Sentry packages
grep -r "Sentry" --include="*.csproj" . | grep "PackageReference"

# Check startup files
ls Program.cs src/Program.cs App.xaml.cs MauiProgram.cs 2>/dev/null

# Check for appsettings
ls appsettings.json src/appsettings.json 2>/dev/null

# Check for logging libraries
grep -r "Serilog\|NLog\|log4net" --include="*.csproj" .

# Check for companion frontend
ls ../frontend ../client ../web 2>/dev/null
cat ../package.json 2>/dev/null | grep -E '"next"|"react"|"vue"' | head -3

What to determine:

QuestionImpact
Framework type?Determines correct package and init pattern
.NET version?.NET 8+ recommended; .NET Framework 4.6.2+ supported
Sentry already installed?Skip install, go to feature config
Logging library (Serilog, NLog)?Recommend matching Sentry sink/target
Async/hosted app (ASP.NET Core)?UseSentry() on WebHost; no IsGlobalModeEnabled needed
Desktop app (WPF, WinForms, WinUI)?Must set IsGlobalModeEnabled = true
Serverless (Azure Functions, Lambda)?Must set FlushOnCompletedRequest = true
Frontend directory found?Trigger Phase 4 cross-link

Framework → Package mapping:

DetectedPackage to install
Sdk="Microsoft.NET.Sdk.Web" (ASP.NET Core)Sentry.AspNetCore
App.xaml.cs with Application baseSentry (WPF)
[STAThread] in Program.csSentry (WinForms)
MauiProgram.csSentry.Maui
WebAssemblyHostBuilderSentry.AspNetCore.Blazor.WebAssembly
FunctionsStartupSentry.Extensions.Logging + Sentry.OpenTelemetry
HttpApplication / Global.asaxSentry.AspNet
Generic host / Worker ServiceSentry.Extensions.Logging

Phase 2: Recommend

Present a concrete recommendation based on what you found. Lead with a proposal — don't ask open-ended questions.

Recommended (core coverage):

  • ✅ Error Monitoring — always; captures unhandled exceptions, structured captures, scope enrichment
  • ✅ Tracing — always for ASP.NET Core and hosted apps; auto-instruments HTTP requests and EF Core queries
  • ✅ Logging — recommended for all apps; routes ILogger / Serilog / NLog entries to Sentry as breadcrumbs and events

Optional (enhanced observability):

  • ⚡ Profiling — CPU profiling; recommend for performance-critical services running on .NET 6+
  • ⚡ Metrics — counters, gauges, distributions linked to traces; recommend for apps that need custom business metrics
  • ⚡ Crons — detect missed/failed scheduled jobs; recommend when Hangfire, Quartz.NET, or scheduled endpoints detected

Recommendation logic:

FeatureRecommend when...
Error MonitoringAlways — non-negotiable baseline
TracingAlways for ASP.NET Core — request traces, EF Core spans, HttpClient spans are high-value
LoggingApp uses ILogger<T>, Serilog, NLog, or log4net
ProfilingPerformance-critical service on .NET 6+
MetricsApp needs custom business metrics (request counts, queue depths, response times)
CronsApp uses Hangfire, Quartz.NET, or scheduled Azure Functions

Propose: "I recommend setting up Error Monitoring + Tracing + Logging. Want me to also add Profiling or Crons?"


Phase 3: Guide

You need to run this yourself — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:

npx @sentry/wizard@latest -i dotnet

It handles login, org/project selection, DSN configuration, and MSBuild symbol upload setup for readable stack traces in production.

Once it finishes, come back and skip to Verification.

If the user skips the wizard, proceed with Option 2 (Manual Setup) below.


Option 2: Manual Setup
Install the right package
bash
# ASP.NET Core
dotnet add package Sentry.AspNetCore -v 6.1.0

# WPF or WinForms or Console
dotnet add package Sentry -v 6.1.0

# .NET MAUI
dotnet add package Sentry.Maui -v 6.1.0

# Blazor WebAssembly
dotnet add package Sentry.AspNetCore.Blazor.WebAssembly -v 6.1.0

# Azure Functions (Isolated Worker)
dotnet add package Sentry.Extensions.Logging -v 6.1.0
dotnet add package Sentry.OpenTelemetry -v 6.1.0

# Classic ASP.NET (System.Web / .NET Framework)
dotnet add package Sentry.AspNet -v 6.1.0

ASP.NET Core — Program.cs
csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseSentry(options =>
{
    options.Dsn = Environment.GetEnvironmentVariable("SENTRY_DSN")
                  ?? "___YOUR_DSN___";
    options.Debug = true;                         // disable in production
    options.SendDefaultPii = true;                // captures user IP, name, email
    options.MaxRequestBodySize = RequestSize.Always;
    options.MinimumBreadcrumbLevel = LogLevel.Debug;
    options.MinimumEventLevel = LogLevel.Warning;
    options.TracesSampleRate = 1.0;               // tune to 0.1–0.2 in production
    options.SetBeforeSend((@event, hint) =>
    {
        @event.ServerName = null;                 // scrub hostname from events
        return @event;
    });
});

var app = builder.Build();
app.Run();

appsettings.json (alternative configuration):

json
{
  "Sentry": {
    "Dsn": "___YOUR_DSN___",
    "SendDefaultPii": true,
    "MaxRequestBodySize": "Always",
    "MinimumBreadcrumbLevel": "Debug",
    "MinimumEventLevel": "Warning",
    "AttachStacktrace": true,
    "Debug": true,
    "TracesSampleRate": 1.0,
    "Environment": "production",
    "Release": "my-app@1.0.0"
  }
}

Environment variables (double underscore as separator):

bash
export Sentry__Dsn="https://examplePublicKey@o0.ingest.sentry.io/0"
export Sentry__TracesSampleRate="0.1"
export Sentry__Environment="staging"

WPF — App.xaml.cs

⚠️ Critical: Initialize in the constructor, NOT in OnStartup(). The constructor fires earlier, catching more failure modes.

csharp
using System.Windows;
using Sentry;

public partial class App : Application
{
    public App()
    {
        SentrySdk.Init(options =>
        {
            options.Dsn = "___YOUR_DSN___";
            options.Debug = true;
            options.SendDefaultPii = true;
            options.TracesSampleRate = 1.0;
            options.IsGlobalModeEnabled = true;   // required for all desktop apps
        });

        // Capture WPF UI-thread exceptions before WPF's crash dialog appears
        DispatcherUnhandledException += App_DispatcherUnhandledException;
    }

    private void App_DispatcherUnhandledException(
        object sender,
        System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
    {
        SentrySdk.CaptureException(e.Exception);
        // Set e.Handled = true to prevent crash dialog and keep app running
    }
}

WinForms — Program.cs
csharp
using System;
using System.Windows.Forms;
using Sentry;

static class Program
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        // Required: allows Sentry to see unhandled WinForms exceptions
        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);

        using (SentrySdk.Init(new SentryOptions
        {
            Dsn = "___YOUR_DSN___",
            Debug = true,
            TracesSampleRate = 1.0,
            IsGlobalModeEnabled = true,           // required for desktop apps
        }))
        {
            Application.Run(new MainForm());
        } // Disposing flushes all pending events
    }
}

.NET MAUI — MauiProgram.cs
csharp
public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseSentry(options =>
            {
                options.Dsn = "___YOUR_DSN___";
                options.Debug = true;
                options.SendDefaultPii = true;
                options.TracesSampleRate = 1.0;
                // MAUI-specific: opt-in breadcrumbs (off by default — PII risk)
                options.IncludeTextInBreadcrumbs = false;
                options.IncludeTitleInBreadcrumbs = false;
                options.IncludeBackgroundingStateInBreadcrumbs = false;
            });

        return builder.Build();
    }
}

Blazor WebAssembly — Program.cs
csharp
var builder = WebAssemblyHostBuilder.CreateDefault(args);

builder.UseSentry(options =>
{
    options.Dsn = "___YOUR_DSN___";
    options.Debug = true;
    options.SendDefaultPii = true;
    options.TracesSampleRate = 0.1;
});

// Hook logging pipeline without re-initializing the SDK
builder.Logging.AddSentry(o => o.InitializeSdk = false);

await builder.Build().RunAsync();

Azure Functions (Isolated Worker) — Program.cs

Recommended: Install Sentry.OpenTelemetry.Exporter (≥6.5.0) for OTLP export. Alternatively, use Sentry.OpenTelemetry for the bridge pattern.

csharp
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using OpenTelemetry.Trace;

// Package: Sentry.OpenTelemetry.Exporter
var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults()
    .ConfigureLogging(logging =>
    {
        logging.AddSentry(options =>
        {
            options.Dsn = "___YOUR_DSN___";
            options.Debug = true;
            options.TracesSampleRate = 1.0;
            options.UseOtlp(); // send OTel spans via OTLP (requires 6.5.0+)
        });
    })
    .ConfigureServices(services =>
    {
        services.AddOpenTelemetry().WithTracing(builder =>
        {
            builder
                .AddHttpClientInstrumentation()
                .AddSentryOtlpExporter("___YOUR_DSN___"); // route spans to Sentry OTLP endpoint
        });
    })
    .Build();

await host.RunAsync();

AWS Lambda — LambdaEntryPoint.cs
csharp
public class LambdaEntryPoint : APIGatewayProxyFunction
{
    protected override void Init(IWebHostBuilder builder)
    {
        builder
            .UseSentry(options =>
            {
                options.Dsn = "___YOUR_DSN___";
                options.TracesSampleRate = 1.0;
                options.FlushOnCompletedRequest = true; // REQUIRED for Lambda
            })
            .UseStartup<Startup>();
    }
}

Classic ASP.NET — Global.asax.cs
csharp
public class MvcApplication : HttpApplication
{
    private IDisposable _sentry;

    protected void Application_Start()
    {
        _sentry = SentrySdk.Init(options =>
        {
            options.Dsn = "___YOUR_DSN___";
            options.TracesSampleRate = 1.0;
            options.AddEntityFramework(); // EF6 query breadcrumbs
            options.AddAspNet();          // Classic ASP.NET integration
        });
    }

    protected void Application_Error() => Server.CaptureLastError();

    protected void Application_BeginRequest() => Context.StartSentryTransaction();
    protected void Application_EndRequest() => Context.FinishSentryTransaction();

    protected void Application_End() => _sentry?.Dispose();
}

Symbol Upload (Readable Stack Traces)

Without debug symbols, stack traces show only method names — no file names or line numbers. The SDK uploads PDB files (and optionally sources) via MSBuild properties on Release builds:

xml
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
  <SentryOrg>___ORG_SLUG___</SentryOrg>
  <SentryProject>___PROJECT_SLUG___</SentryProject>
  <SentryUploadSymbols>true</SentryUploadSymbols>
  <SentryUploadSources>true</SentryUploadSources>
  <SentryCreateRelease>true</SentryCreateRelease>
  <SentrySetCommits>true</SentrySetCommits>
</PropertyGroup>

Upload needs a SENTRY_AUTH_TOKEN set in CI (a secret). For creating the token and the CI wiring, see sentry-source-maps. The SentryCreateRelease / SentrySetCommits properties also create a release with suspect commits — see sentry-releases.


For Each Agreed Feature

Load the corresponding reference file and follow its steps:

FeatureReference fileLoad when...
Error Monitoringreferences/error-monitoring.mdAlways — CaptureException, scopes, enrichment, filtering
Tracingreferences/tracing.mdServer apps, distributed tracing, EF Core spans, custom instrumentation
Profilingreferences/profiling.mdPerformance-critical apps on .NET 6+
Loggingreferences/logging.mdILogger<T>, Serilog, NLog, log4net integration
Metricsreferences/metrics.mdCustom counters, gauges, distributions; EmitCounter, EmitGauge, EmitDistribution
Cronsreferences/crons.mdHangfire, Quartz.NET, or scheduled function monitoring

For each feature: read the reference file, follow its steps exactly, and verify before moving on.


Configuration Reference

Core SentryOptions
OptionTypeDefaultEnv VarNotes
Dsnstring—SENTRY_DSNRequired. SDK disabled if unset.
Debugboolfalse—SDK diagnostic output. Disable in production.
DiagnosticLevelSentryLevelDebug—Debug, Info, Warning, Error, Fatal
ReleasestringautoSENTRY_RELEASEAuto-detected from assembly version + git SHA
Environmentstring"production"SENTRY_ENVIRONMENT"debug" when debugger attached
Diststring——Build variant. Max 64 chars.
SampleRatefloat1.0—Error event sampling rate 0.0–1.0
TracesSampleRatedouble0.0—Transaction sampling. Must be > 0 to enable.
TracesSamplerFunc<SamplingContext, double>——Per-transaction dynamic sampler; overrides TracesSampleRate
ProfilesSampleRatedouble0.0—Fraction of traced transactions to profile. Requires Sentry.Profiling.
SendDefaultPiiboolfalse—Include user IP, name, email
AttachStacktracebooltrue—Attach stack trace to all messages
MaxBreadcrumbsint100—Max breadcrumbs stored per event
IsGlobalModeEnabledboolfalse*—*Auto-true for MAUI, Blazor WASM. Must be true for WPF, WinForms, Console.
AutoSessionTrackingboolfalse*—*Auto-true for MAUI. Enable for Release Health.
CaptureFailedRequestsbooltrue—Auto-capture HTTP client errors
CacheDirectoryPathstring——Offline event caching directory
ShutdownTimeoutTimeSpan——Max wait for event flush on shutdown
HttpProxystring——Proxy URL for Sentry requests
EnableBackpressureHandlingbooltrue—Auto-reduce sample rates on delivery failures
TraceIgnoreStatusCodesIList<HttpStatusCodeRange>[]—Drop transactions whose HTTP response status matches any range; e.g., [404] or [(500, 599)]
StrictTraceContinuationboolfalse—When true, starts a new trace if exactly one side (SDK or incoming sentry-org_id baggage) has an org ID. A full mismatch (both present but different) always starts a new trace regardless of this setting. (requires ≥6.6.0)
OrgIdstringauto—Organization ID for trace validation; auto-parsed from DSN subdomain (e.g., o123.ingest.sentry.io → "123"). Recommended to set explicitly for self-hosted Sentry, local Relay, or custom domains (requires ≥6.6.0)
Show full SKILL.md (495 more words)Show less
ASP.NET Core Extended Options (SentryAspNetCoreOptions)
OptionTypeDefaultNotes
MaxRequestBodySizeRequestSizeNoneNone, Small (~4 KB), Medium (~10 KB), Always
MinimumBreadcrumbLevelLogLevelInformationMin log level for breadcrumbs
MinimumEventLevelLogLevelErrorMin log level to send as Sentry event
CaptureBlockingCallsboolfalseDetect .Wait() / .Result threadpool starvation
FlushOnCompletedRequestboolfalseRequired for Lambda / serverless
IncludeActivityDataboolfalseCapture System.Diagnostics.Activity values
MAUI Extended Options (SentryMauiOptions)
OptionTypeDefaultNotes
IncludeTextInBreadcrumbsboolfalseText from Button, Label, Entry elements. ⚠️ PII risk.
IncludeTitleInBreadcrumbsboolfalseTitles from Window, Page elements. ⚠️ PII risk.
IncludeBackgroundingStateInBreadcrumbsboolfalseWindow.Backgrounding event state. ⚠️ PII risk.
Environment Variables
VariablePurpose
SENTRY_DSNProject DSN
SENTRY_RELEASEApp version (e.g. my-app@1.2.3)
SENTRY_ENVIRONMENTDeployment environment name
SENTRY_AUTH_TOKENMSBuild / sentry-cli symbol upload auth token

ASP.NET Core: use double underscore __ as hierarchy separator:

bash
export Sentry__Dsn="https://..."
export Sentry__TracesSampleRate="0.1"
MSBuild Symbol Upload Properties
PropertyTypeDefaultDescription
SentryOrgstring—Sentry organization slug
SentryProjectstring—Sentry project slug
SentryUploadSymbolsboolfalseUpload PDB files for line numbers in stack traces
SentryUploadSourcesboolfalseUpload source files for source context
SentryCreateReleaseboolfalseAuto-create a Sentry release during build
SentrySetCommitsboolfalseAssociate git commits with the release
SentryUrlstring—Self-hosted Sentry URL

Verification

After wizard or manual setup, add a test throw and remove it after verifying:

csharp
// ASP.NET Core: add a temporary endpoint
app.MapGet("/sentry-test", () =>
{
    throw new Exception("Sentry test error — delete me");
});

// Or capture explicitly anywhere
SentrySdk.CaptureException(new Exception("Sentry test error — delete me"));

Then check your Sentry Issues dashboard — the error should appear within ~30 seconds.

Verification checklist:

CheckHow
Exceptions capturedThrow a test exception, verify in Sentry Issues
Stack traces readableCheck that file names and line numbers appear
Tracing activeCheck Performance tab for transactions
Logging wiredLog an error via ILogger, check it appears as Sentry breadcrumb
Symbol upload workingStack trace shows Controllers/HomeController.cs:42 not <unknown>

After completing .NET setup, check for companion frontend projects:

bash
# Check for frontend in adjacent directories
ls ../frontend ../client ../web ../app 2>/dev/null

# Check for JavaScript framework indicators
cat ../package.json 2>/dev/null | grep -E '"next"|"react"|"vue"|"nuxt"' | head -3

If a frontend is found, suggest the matching SDK skill:

Frontend detectedSuggest skill
Next.js ("next" in package.json)sentry-nextjs-sdk
React SPA ("react" without "next")@sentry/react — see docs.sentry.io/platforms/javascript/guides/react/
Vue.js@sentry/vue — see docs.sentry.io/platforms/javascript/guides/vue/
Nuxt@sentry/nuxt — see docs.sentry.io/platforms/javascript/guides/nuxt/

Connecting frontend and backend with the same Sentry project enables distributed tracing — a single trace view spanning browser, .NET server, and any downstream APIs.


Troubleshooting

IssueCauseSolution
Events not appearingDSN misconfiguredSet Debug = true and check console output for SDK diagnostic messages
Stack traces show no file/linePDB files not uploadedAdd SentryUploadSymbols=true to .csproj; set SENTRY_AUTH_TOKEN in CI
WPF/WinForms exceptions missingIsGlobalModeEnabled not setSet options.IsGlobalModeEnabled = true in SentrySdk.Init()
Lambda/serverless events lostContainer freezes before flushSet options.FlushOnCompletedRequest = true
WPF UI-thread exceptions missingDispatcherUnhandledException not wiredRegister App.DispatcherUnhandledException in constructor (not OnStartup)
Duplicate HTTP spans in Azure FunctionsBoth Sentry and OTel instrument HTTPSet options.DisableSentryHttpMessageHandler = true
TracesSampleRate has no effectRate is 0.0 (default)Set TracesSampleRate > 0 to enable tracing
appsettings.json values ignoredConfig key format wrongUse flat key "Sentry:Dsn" or env var Sentry__Dsn (double underscore)
BeforeSend drops all eventsHook returns null unconditionallyVerify your filter logic; return null only for events you want to drop
MAUI native crashes not capturedWrong packageConfirm Sentry.Maui is installed (not just Sentry)

© getsentry, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in skills-legacy/sentry-dotnet-sdk of getsentry/sentry-for-ai.

  • SKILL.md
  • references/crons.md
  • references/error-monitoring.md
  • references/logging.md
  • references/metrics.md
  • references/profiling.md
  • references/tracing.md

Open the folder on GitHubat commit d8fd106

Compare with similar skills

Sentry Dotnet SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sentry Dotnet SDK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sentry Dotnet SDK this skillgetsentry/sentry-for-ai268—~5.8kAutomated safety check: PassApache-2.0
Using Dotnetnovotnyllc/dotnet-artisan233—~2.3kAutomated safety check: WarnMIT
Maui Hot Reload Diagnosticsdavidortinau/maui-skills174—~1.3kAutomated safety check: PassMIT
Maui Safe Areadotnet/skills5.6k1 repos~3.2kAutomated safety check: PassMIT
Wallet QuickstartNethereum/Nethereum2.3k—~1.6kAutomated safety check: PassMIT
Dotnet Webapidotnet/skills5.6k2 repos~5.5kAutomated safety check: PassMIT

Similar skills

  • Using Dotnet

    novotnyllc/dotnet-artisan

    Detects .NET intent for any C, ASP.NET Core, EF Core, Blazor, MAUI, Uno Platform, WPF, WinUI, SignalR, gRPC, xUnit, NuGet, or MSBuild request from prompt keywords and repository signals (.sln…

    233 GitHub stars~2.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: warnings
  • Maui Hot Reload Diagnostics

    davidortinau/maui-skills

    Diagnose and troubleshoot .NET MAUI Hot Reload issues (C Hot Reload, XAML Hot Reload, Blazor Hybrid).

    174 GitHub stars~1.3k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Maui Safe Area

    dotnet/skills

    Official

    .NET MAUI safe area and edge-to-edge layout guidance for .NET 10+.

    5.6k GitHub starsUsed in 1 repo~3.2k tokens
    MobileAuto-check passed
  • Wallet Quickstart

    Nethereum/Nethereum

    Build a multi-platform wallet application using the Nethereum Wallet SDK with MVVM architecture (.NET/C).

    2.3k GitHub stars~1.6k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Dotnet Webapi

    dotnet/skills

    Official

    Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP semantics, OpenAPI metadata, and error handling.

    5.6k GitHub starsUsed in 2 repos~5.5k tokens
    Backend & APIsAuto-check passed
  • C# and .NET Developer

    Jeffallan/claude-skills

    Guides C# work on .NET 8+: ASP.NET Core APIs, Entity Framework Core data access, Blazor apps and CQRS with MediatR, following a five-step build workflow.

    12k GitHub stars~1.3k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed

More from getsentry/sentry-for-ai

All 32 skills in this repo
  • Sentry Elixir SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Elixir. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Sentry Go SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Go. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Sentry Nextjs SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Next.js. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Sentry Php SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for PHP. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Sentry Python SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for Python. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Sentry React Router Framework SDK

    getsentry/sentry-for-ai

    Official

    Full Sentry SDK setup for React Router Framework mode. An agent skill from getsentry/sentry-for-ai.

    268 GitHub stars~3.8k tokensUpdated today
    Auto-check: notes

Questions about Sentry Dotnet SDK

What does Sentry Dotnet SDK do?

Full Sentry SDK setup for .NET. An agent skill from getsentry/sentry-for-ai. Sentry Dotnet SDK is an agent skill from getsentry/sentry-for-ai, published by the product's own GitHub organization.NET.

When should I use Sentry Dotnet SDK?

Sentry Dotnet SDK fits situations like: asked to add Sentry to .NET; install Sentry for C; configure error monitoring; crons for ASP.NET Core.

How do I install Sentry Dotnet SDK in Claude Code?

Run `npx skills add getsentry/sentry-for-ai --skill sentry-dotnet-sdk -a claude-code`. Or copy the skill folder (skills-legacy/sentry-dotnet-sdk in getsentry/sentry-for-ai) into .claude/skills/sentry-dotnet-sdk in your project. Claude Code loads it when a task matches its description.

How do I install Sentry Dotnet SDK in Codex?

Run `npx skills add getsentry/sentry-for-ai --skill sentry-dotnet-sdk -a codex`. Or copy the skill folder (skills-legacy/sentry-dotnet-sdk in getsentry/sentry-for-ai) into .agents/skills/sentry-dotnet-sdk in your project. Codex loads it when a task matches its description.

Can I use Sentry Dotnet SDK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add getsentry/sentry-for-ai --skill sentry-dotnet-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sentry-dotnet-sdk, .gemini/skills/sentry-dotnet-sdk, .github/skills/sentry-dotnet-sdk and .opencode/skills/sentry-dotnet-sdk in your project.

What does Sentry Dotnet SDK need to run?

Going by SKILL.md and its folder, Sentry Dotnet SDK needs the command-line tools its instructions call (dotnet) and credentials named SENTRY_AUTH_TOKEN. Our summary lists: Node.js.

Does Sentry Dotnet SDK access the network?

SKILL.md names 3 domains. In commands or code: o0.ingest.sentry.io; the agent is likely to contact it when it follows the instructions. As links in the text: docs.sentry.io and sentry.io. This is read from the text; nothing was executed.

Is Sentry Dotnet SDK safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sentry Dotnet SDK use?

Sentry Dotnet SDK is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sentry Dotnet SDK use?

About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 28k tokens, read only when the agent opens those files.

What are the alternatives to Sentry Dotnet SDK?

Skills that share tags, products or a category with Sentry Dotnet SDK: Using Dotnet (novotnyllc/dotnet-artisan, 233 stars), Maui Hot Reload Diagnostics (davidortinau/maui-skills, 174 stars), Maui Safe Area (dotnet/skills, 5.6k stars) and Wallet Quickstart (Nethereum/Nethereum, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sentry Dotnet SDK?

getsentry (a GitHub organization, an official publisher) maintains it in getsentry/sentry-for-ai, which has 268 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 7, 2026.

Source: getsentry/sentry-for-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.