Claude-skill-registry async-programming-skill

This skill provides async/await patterns and best practices for concurrent programming

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/async-programming-skill" ~/.claude/skills/majiayu000-claude-skill-registry-async-programming-skill && rm -rf "$T"
manifest: skills/data/async-programming-skill/SKILL.md
source content

Async Programming

Purpose

Async/await enables non-blocking concurrent operations. This skill documents patterns for safe async code.

When to Use

Use this skill when:

  • Working with I/O operations
  • Building concurrent systems
  • Managing timeouts
  • Implementing cancellation

Key Patterns

1. All I/O is Async

Never use blocking I/O:

# WRONG
with open(file) as f:
    data = json.load(f)

# CORRECT
async with aiofiles.open(file) as f:
    data = await f.read()

2. Timeout Protection

All async operations need timeouts:

try:
    result = await asyncio.wait_for(operation(), timeout=30.0)
except asyncio.TimeoutError:
    # Handle timeout

3. Error Handling

Async operations need proper error handling:

async def safe_operation():
    try:
        return await risky_operation()
    except Exception as e:
        logger.error(f"Operation failed: {e}")
        raise TradingError(...) from e

See Also