What problem does it solve? Long-running workflows break when processes restart, and coordinating delays, approvals, and retries manually is error-prone. This Skill guides you through Inngest's step methods so each unit of work is independently retried, memoized, and survives crashes. ## Core Features & Use Cases - Durable execution with step.run: Wrap non-deterministic code (API calls, DB queries) in retriable steps that memoize results on retry. - Delays and event coordination: Use step.sleep, step.sleepUntil, step.waitForEvent, and step.waitForSignal for scheduled follow-ups, human approval gates, and webhook callbacks with timeouts. - Composition and parallelism: Fan out with step.sendEvent, call other functions with step.invoke, and run parallel work with Promise.all and chunked batch processing. - Use Case: Build a cart abandonment flow that sends a welcome email, sleeps 24 hours, waits for a purchase event with a 7-day timeout, and invokes a discount function if the user never checks out. ## Quick Start Use the inngest-steps skill to write an Inngest function that sends a welcome email, waits 24 hours, then waits for a purchase event with a timeout.