What problem does it solve? Building durable async workflows with Upstash Workflow and QStash requires handling rate limits, step limits, and idempotent retries, and ad-hoc implementations often duplicate work or lose data when fanning out large batches. ## Core Features & Use Cases - Three-Layer Architecture: Standardizes workflows into an entry point (process-), pagination layer (paginate-), and single-item execution layer (execute-/generate-). - Dry-Run Mode: Preview statistics on how many items would be processed before triggering any side effects. - Fan-Out Pattern: Splits oversized batches into chunks (CHUNK_SIZE=20) and recursively re-triggers pagination to stay within workflow step limits. - Use Case: Generate AI welcome placeholders for thousands of users by paginating through the database, filtering already-cached users in Redis, and executing one user per workflow invocation with tuned flowControl parallelism. ## Quick Start Use the upstash-workflow skill to scaffold a new three-layer Upstash Workflow that processes agents with dry-run support and fan-out pagination.