csharp-async
Get best practices for C# async programming
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Get best practices for C# async programming
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Get best practices for MSTest 3.x/4.x unit testing, including modern assertion APIs and data-driven tests
Ensure .NET/C# code meets best practices for the solution/project.
Correctly call native (C/C++) libraries from .NET using P/Invoke and LibraryImport. Covers function signatures, string marshalling, memory lifetime, SafeHandle, and cross-platform patterns. USE FOR: writing new P/Invoke or LibraryImport declarations, reviewing or debugging existing native interop code, wrapping a C or C++ library for use in .NET, diagnosing crashes, memory leaks, or corruption at the managed/native boundary. DO NOT USE FOR: COM interop, C++/CLI mixed-mode assemblies, or pure managed code with no native dependencies.
Guide developers through capturing diagnostic artifacts to diagnose production .NET performance issues. Use when the user needs help choosing diagnostic tools, collecting performance data, or understanding tool trade-offs across different environments (Windows/Linux, .NET Framework/modern .NET, container/non-container).
Three-layer verification pipeline for AI output. Extracts verifiable claims, finds supporting or contradicting sources via web search, runs adversarial review for hallucination patterns, and produces a structured verification report with source links for human review.
Visual whiteboard collaboration for Copilot CLI. Creates an interactive whiteboard that opens in your browser — draw, sketch, add sticky notes, then share everything back with Copilot. Copilot sees your drawings and text, and responds with analysis, suggestions, and ideas.
| name | csharp-async |
| description | Get best practices for C# async programming |
Your goal is to help me follow best practices for asynchronous programming in C#.
GetDataAsync() for GetData())Task<T> when the method returns a valueTask when the method doesn't return a valueValueTask<T> for high-performance scenarios to reduce allocationsvoid for async methods except for event handlersConfigureAwait(false) when appropriate to prevent deadlocks in library codeTask.FromException() instead of throwing in async Task returning methodsTask.WhenAll() for parallel execution of multiple tasksTask.WhenAny() for implementing timeouts or taking the first completed task.Wait(), .Result, or .GetAwaiter().GetResult() in async codeWhen reviewing my C# code, identify these issues and suggest improvements that follow these best practices.