What problem does it solve? Async systems fail silently: jobs vanish, queues overflow, events arrive out of order, and retries duplicate work. This Skill gives coding agents a concrete rule set for designing and reviewing concurrency, queues, streams, and pub/sub so every async boundary names its ownership, lifetime, backpressure, and failure semantics. ## Core Features & Use Cases - Async boundary rules: Enforces immutable payloads, single-ownership of mutable state, bounded queues with overflow policies, and supervised task lifetimes with deterministic shutdown. - Transport selection guidance: Starts with polling, SSE, or WebSockets for live updates and escalates to Kafka, Kinesis, or Redis Streams only when a named requirement (replay, retention, fanout) justifies it. - Tripwire detection: Flags common mistakes like passing session objects to jobs, enqueueing inside transactions, swallowing job failures, and using one queue for all workloads. - Use Case: When reviewing a background job system that silently drops exhausted jobs, use this Skill to require visible failure signals, idempotent consumers, and explicit DLQ and poison-message handling. ## Quick Start Use the async-systems skill to review my background job and streaming design for ownership, backpressure, ordering, and failure handling.