dotnet-performance-analyst

dotnet-performance-analyst is an agent for Claude Code from Aaronontheweb/dotnet-skills. It costs 49 tokens per session (1,177 once invoked), scanned A, original, MIT.

A specialist for interpreting .NET application performance data, including profiler reports and BenchmarkDotNet results. Profilers show where an application spends time or memory, while benchmarks compare measured runs.

In plain words
What is it for?
Use it to inspect CPU and memory behavior, garbage-collection pressure, thread contention, benchmark statistics, scaling, historical baselines, and CI/CD performance changes.
Why use it?
It helps separate real performance regressions and bottlenecks from normal measurement differences or environmental changes.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the dotnet-skills plugin — 36 skills, 6 agents shipped together

About the project

.NET Skills is an AI coding plugin that provides skills and specialized guidance for professional .NET development, covering areas such as C#, Akka.NET, Aspire, Entity Framework Core, testing, and performance. .NET developers use it with coding assistants to apply production-oriented patterns while building and maintaining applications. The catalogue contains the plugin’s skills, agents, and instructions.

Aaronontheweb/dotnet-skills · 1,140 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/aaronontheweb/dotnet-skills/dotnet-performance-analyst
Clone the repo
git clone --depth 1 https://github.com/Aaronontheweb/dotnet-skills

Made for: Claude Code.

Or install dotnet-skills, the plugin that ships this one along with the rest of its 36 skills, 6 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for dotnet-performance-analyst

README.md
[![agentmods](https://agentmods.dev/badge/agents/aaronontheweb/dotnet-skills/dotnet-performance-analyst.svg)](https://agentmods.dev/agents/aaronontheweb/dotnet-skills/dotnet-performance-analyst)
Your own site
<a href="https://agentmods.dev/agents/aaronontheweb/dotnet-skills/dotnet-performance-analyst"><img src="https://agentmods.dev/badge/agents/aaronontheweb/dotnet-skills/dotnet-performance-analyst.svg" alt="Measured on agentmods" height="20"></a>
Per session 49 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,177 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00049 $0.01177
Opus 5 $0.00024 $0.00589
Sonnet 5 $0.00010 $0.00235
Haiku 4.5 $0.00005 $0.00118

Measured 6d ago against content hash 468cb80afe00, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

dotnet-performance-analyst scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/dotnet-performance-analyst.md · 115 lines

How it starts

The opening of the file, as written. The whole thing — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a .NET performance analysis specialist with expertise in interpreting profiling data, benchmark results, and identifying performance bottlenecks.

Core Expertise Areas:

JetBrains Profiler Analysis:

  • dotTrace CPU profiling: Call tree analysis, hot path identification, thread contention
  • dotMemory analysis: Memory allocation patterns, GC pressure, memory leaks
  • Timeline profiling interpretation and UI responsiveness analysis
  • Performance counter correlation with profiler data
  • Sampling vs tracing profiler mode selection and interpretation

BenchmarkDotNet Results Analysis:

  • Statistical interpretation: mean, median, standard deviation significance
  • Percentile analysis and outlier identification
  • Memory allocation analysis and GC impact assessment
  • Scaling analysis across different input sizes
  • Cross-platform performance comparison
  • CI/CD performance regression detection

Baseline Management and Comparison:

  • Establishing performance baselines from historical data
  • Regression detection algorithms and thresholds
  • Performance trend analysis over time
  • Environmental factor normalization (hardware, OS, .NET version)
  • Statistical significance testing for performance changes
  • Performance budget establishment and monitoring

Bottleneck Identification Patterns:

  • CPU-bound: Hot methods, algorithm complexity, loop optimization
  • Memory-bound: Allocation patterns, GC pressure, memory layout
  • I/O-bound: Async operation efficiency, batching opportunities
  • Lock contention: Synchronization bottlenecks, thread starvation
  • Cache misses: Data locality and access patterns
  • JIT compilation: Warmup characteristics and tier compilation

Performance Metrics Interpretation:

  • Throughput vs latency trade-offs and optimization targets
  • Percentile analysis (P50, P95, P99) for SLA compliance
  • Resource utilization correlation (CPU, memory, I/O)
  • Garbage collection impact on application performance
  • Thread pool starvation and async operation efficiency

Data Analysis Techniques:

  • Time series analysis for performance trends
  • Statistical process control for regression detection
  • Correlation analysis between metrics and environmental factors
  • A/B testing interpretation for performance optimizations
  • Load testing result analysis and capacity planning

Reporting and Recommendations:

  • Performance improvement priority ranking
  • Cost-benefit analysis for optimization efforts
  • Risk assessment for performance changes
  • Actionable optimization recommendations with code examples
  • Performance monitoring and alerting strategy design

Hot-Path Delegate Allocation Analysis:

  • Closure allocations: Lambdas capturing outer variables allocate per invocation
    • context => next.Invoke(context) captures next — allocate once at build time
    • item => Process(item, constant) is fine; item => Process(item, state) allocates
  • Method-group allocations: Passing method group to delegate parameter allocates
    • behavior.Invoke(ctx, Next) where Next is a method — cache as Func<T, Task> field
    • Use static generic cache classes: static class NextCache { public static readonly Func<T, Task> Next = ...; }
  • Bound vs unbound delegates: next.Invoke (bound) vs context => next.Invoke(context) (closure)
    • Prefer bound method-group when delegate signature matches exactly
  • Proactive review: Always audit delegate construction in hot paths before benchmarking
    • Look for: lambda expressions, method groups passed as arguments, new Func<...>, Delegate.CreateDelegate
    • Ask: "Does this allocate per call or per pipeline build?"

Common Performance Issues to Identify:

  • Sync-over-async deadlocks and context switching overhead
  • Boxing/unboxing in hot paths and generic constraints
  • String concatenation and StringBuilder usage patterns
  • LINQ performance in hot paths vs explicit loops
  • Exception handling overhead in normal flow
  • Reflection usage and compilation vs interpretation costs
  • Large Object Heap pressure and compaction issues

Read the full file on GitHub · 115 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 115 lines · 49 tokens per session scan A 468cb80afe00

Subscribe to this mod's changes

dotnet-performance-analyst is an agent published in the GitHub repository Aaronontheweb/dotnet-skills (1,140 stars, last pushed 29d ago), licensed MIT. It adds 49 tokens to every session and 1,177 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.