What problem does it solve? Writing concurrent Python code often leads to blocking event loops, forgotten awaits, and unhandled task failures. This Skill provides proven asyncio patterns and decision guidance so you can build correct, high-performance async applications without common pitfalls. ## Core Features & Use Cases - Sync vs Async Decision Guide: A comparison table helps you choose between asyncio, multiprocessing, thread pools, or plain sync code based on your workload type. - Ready-to-Use Patterns: Copy-paste examples for concurrent execution with gather, task management with create_task, batch error handling with return_exceptions, and timeouts with wait_for. - Pitfall Prevention: Explicit coverage of blocking the event loop, missing await keywords, CancelledError handling, and sync/async boundary management. - Use Case: You are building a FastAPI service that must call three external APIs per request. Use the concurrent execution pattern to fire all calls with asyncio.gather, apply per-call timeouts, and collect partial results without crashing the batch. ## Quick Start Ask the AI to refactor a slow synchronous Python script that makes sequential HTTP requests into a concurrent asyncio implementation using gather and proper timeout handling.