What problem does it solve? Writing concurrent Python code with asyncio is error-prone: developers forget awaits, block the event loop, mishandle cancellation, or lack patterns for rate limiting and backpressure. This Skill provides structured guidance and ready-to-adapt patterns for building correct async applications. ## Core Features & Use Cases - Concurrency Patterns: Covers gather(), task creation, producer-consumer queues, semaphores for rate limiting, and async locks for shared state. - Robustness Guidance: Includes timeout handling, structured error handling with gather(return_exceptions=True), and proper cancellation cleanup. - Real-World Examples: Demonstrates web scraping with aiohttp, concurrent database queries, WebSocket servers, and connection pooling. - Use Case: When building a FastAPI service that must call 20 upstream APIs per request, use the semaphore and gather patterns to run requests concurrently with controlled rate limits and timeouts. ## Quick Start Ask the AI to show how to fetch multiple URLs concurrently in Python with asyncio, including timeouts, rate limiting, and error handling.