skills

Repository for skills to assist AI coding agents with .NET and C#

96 articles 2.4k View on GitHub ↗
96 articles
Validating Content-Type Headers with Magic Bytes for File Upload Security in .NET Minimal APIs

Secure file uploads in .NET Minimal APIs by validating Content-Type headers against magic bytes. Prevent MIME-type spoofing and enhance security with this essential technique.

how-to-guide
Jul 11, 2026
Handling .NET SDK Version Differences in `dotnet test` Argument Parsing

Master dotnet test argument parsing with .NET SDK version differences. Learn how SDK versions affect argument handling and ensure smooth test execution.

how-to-guide
Jul 11, 2026
Rules for `--blame`, `--blame-crash`, and `--blame-hang-timeout` in dotnet test

Master dotnet test blame flags. Understand `--blame`, `--blame-crash`, and `--blame-hang-timeout` usage across VSTest and MTP for efficient debugging. Avoid common errors with SDK versioning.

how-to-guide
Jul 11, 2026
How to Configure BenchmarkDotNet for Side‑by‑Side Performance Comparisons in the dotnet/skills Repository

Learn to configure BenchmarkDotNet for side-by-side performance comparisons using the dotnet/skills repository. Generate deterministic results with specific flags.

how-to-guide
Jul 11, 2026
What Is the FileWrites Item Group in MSBuild Incremental Builds?

Understand the FileWrites item group in MSBuild incremental builds. Learn how it helps dotnet clean remove generated files and ensures build consistency for efficient development.

internals
Jul 11, 2026
Difference Between `--logger trx` and `--report-trx` for Test Result Generation

Understand the difference between --logger trx and --report-trx for test result generation. Use --logger trx for VSTest and --report-trx for MTP projects to avoid errors.

deep-dive
Jul 11, 2026
Difference Between --filter, --filter-class, --filter-trait, and --filter-query in .NET Testing

Master .NET testing filters: understand the difference between --filter, --filter-class, --filter-trait, and --filter-query to efficiently run your tests in xUnit v3.

deep-dive
Jul 11, 2026
Preventing Path Traversal Attacks with File Uploads in ASP.NET Core Minimal APIs

Learn to prevent path traversal attacks in ASP.NET Core Minimal APIs. Secure file uploads by validating filenames, content types, and enforcing path boundaries.

best-practices
Jul 11, 2026
Diagnosers and Exporters in BenchmarkDotNet: Extending Telemetry and Reporting

Learn how to extend BenchmarkDotNet telemetry and reporting with diagnosers for diagnostics and exporters for shareable results like Markdown, HTML, CSV, and JSON.

deep-dive
Jul 11, 2026
MSBuild Chain Extension Pattern: Why You Should Never Overwrite DependsOn Properties

Learn why you must append to MSBuild DependsOn properties instead of overwriting. Discover how overwriting breaks build chains and silently removes SDK targets.

best-practices
Jul 11, 2026
How to Configure BenchmarkDotNet Jobs for Cross-.NET Version Performance Comparison

Easily compare .NET 8.0 vs .NET 9.0 performance. Learn how to configure BenchmarkDotNet jobs for seamless cross-.NET version performance comparisons within a single benchmark class.

how-to-guide
Jul 11, 2026
Pitfalls of IFormFile for Large File Uploads: How to Use MultipartReader in ASP.NET Core

Avoid IFormFile memory issues for large uploads. Learn how ASP.NET Core MultipartReader streams files efficiently, preventing bottlenecks and exhaustion.

deep-dive
Jul 11, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →