with one click
csharp-async
Get best practices for C# async programming
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Get best practices for C# async programming
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Generate professional commit messages from staged changes following Chris Beams' seven rules. Use when user stages changes and requests commit message. Triggers include: - English: "create commit message", "generate commit message", "write commit" - Context: User has staged changes (git add) and needs a commit message
Manages JIRA issues, projects, and workflows using Atlassian MCP. Use when asked to "create JIRA ticket", "search JIRA", "update JIRA issue", "transition issue", "sprint planning", or "epic management".
Ensure .NET/C# WPF code meets best practices for the solution/project.
Ensure that C# types are documented with XML comments and follow best practices for documentation.
Ensure .NET/C# code meets best practices for the solution/project.
Review the C#/.NET code for design pattern implementation and suggest improvements.
| description | Get best practices for C# async programming |
| metadata | {"github-path":"skills/csharp-async","github-ref":"refs/heads/main","github-repo":"https://github.com/github/awesome-copilot","github-tree-sha":"d4a1f9827d947b66c98581399424fd9510d1a8bf"} |
| name | csharp-async |
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.