SkillAgentSearch skills...

csharp-async

Get best practices for C# async programming

Install / Use

npx skills add github/awesome-copilot --skill csharp-async

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

73/100

Supported Platforms

Universal

Tags

Our assessment of csharp-async

csharp-async scores 73/100 on our quality scale, 1278th of 2,189 Development & Engineering skills we index.

Its SKILL.md is 1.8 KB long, split into 7 sections and no code examples: moderately detailed.

With 39,348 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
20/30
Structure
11/20
Description
8/15
Adoption
20/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 2 days ago, so csharp-async is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

csharp-async compared with similar skills

All 4 of these similar skills score higher than csharp-async; compare them before choosing.

SkillScoreStarsUpdatedFormat
csharp-async (this skill)by github7339.3k2d agoSKILL.md
ai-job-searchby MadsLorentzen10044.0k5d agoCLAUDE.md
claude-howtoby luongnv8910041.7ktodayCLAUDE.md
algorithmic-artby anthropics100177.9k4d agoSKILL.md
pptxby anthropics100177.9k4d agoSKILL.md

Frequently asked questions

How do I install csharp-async?
Run npx skills add github/awesome-copilot --skill csharp-async. The install tabs above show the steps for each supported agent.
Which AI agents does csharp-async work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is csharp-async safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is csharp-async still maintained?
The repository was last updated 2 days ago, so csharp-async is actively maintained.

name: csharp-async description: 'Get best practices for C# async programming'

C# Async Programming Best Practices

Your goal is to help me follow best practices for asynchronous programming in C#.

Naming Conventions

  • Use the 'Async' suffix for all async methods
  • Match method names with their synchronous counterparts when applicable (e.g., GetDataAsync() for GetData())

Return Types

  • Return Task<T> when the method returns a value
  • Return Task when the method doesn't return a value
  • Consider ValueTask<T> for high-performance scenarios to reduce allocations
  • Avoid returning void for async methods except for event handlers

Exception Handling

  • Use try/catch blocks around await expressions
  • Avoid swallowing exceptions in async methods
  • Use ConfigureAwait(false) when appropriate to prevent deadlocks in library code
  • Propagate exceptions with Task.FromException() instead of throwing in async Task returning methods

Performance

  • Use Task.WhenAll() for parallel execution of multiple tasks
  • Use Task.WhenAny() for implementing timeouts or taking the first completed task
  • Avoid unnecessary async/await when simply passing through task results
  • Consider cancellation tokens for long-running operations

Common Pitfalls

  • Never use .Wait(), .Result, or .GetAwaiter().GetResult() in async code
  • Avoid mixing blocking and async code
  • Don't create async void methods (except for event handlers)
  • Always await Task-returning methods

Implementation Patterns

  • Implement the async command pattern for long-running operations
  • Use async streams (IAsyncEnumerable<T>) for processing sequences asynchronously
  • Consider the task-based asynchronous pattern (TAP) for public APIs

When reviewing my C# code, identify these issues and suggest improvements that follow these best practices.

Related Skills

View on GitHub
GitHub Stars39.3k
CategoryDevelopment
Updated2d ago
Forks5.0k

Languages

JavaScript

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions