inngest-steps

Orchestrate durable, retryable workflows with Inngest step primitives.

1|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/supersterling/primus --skill inngest-steps-supersterling
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: inngest-steps
Source: https://github.com/supersterling/primus/tree/main/.agents/skills/inngest-steps
Command: npx skills add https://github.com/supersterling/primus --skill inngest-steps-supersterling

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Inngest steps provide a reliable foundation for building durable, retryable workflows by composing fine-grained step primitives such as step.run, step.sleep, step.waitForEvent, step.waitForSignal, step.sendEvent, step.invoke, and step.ai, enabling deterministic and observable execution.

Core Features & Use Cases

  • Deterministic steps: Put non-deterministic work inside steps to guarantee repeatable execution.
  • Extensive step primitives: Use step.run, step.sleep, step.waitForEvent, step.waitForSignal, step.sendEvent, step.invoke, and step.ai to orchestrate complex flows.
  • Patterns for loops and parallelism: Build batch processing, multi-step pipelines, and parallel tasks with safe reuse of step IDs.

Quick Start

Create an inngest function and begin composing steps with step.run and step.waitForEvent to build a durable workflow.

Frequently Asked Questions about inngest-steps

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pause a serverless workflow until an external event occurs?

Use step.waitForSignal or step.waitForEvent to pause execution until an external event or signal arrives, enabling event-driven integrations where the workflow resumes automatically once the condition is met.

Can I run parallel tasks and loops in an event-driven processing pipeline?

Yes, you can implement batch processing and parallel tasks using safe step ID reuse within loops. This pattern allows concurrent execution while maintaining deterministic state across event-driven pipelines.

What is the best way to handle non-deterministic code in durable workflows?

The best way to handle non-deterministic code in durable workflows is wrapping it inside step.run primitives. This guarantees repeatable execution by isolating side effects and enabling independent retries for each step.

Are there boundaries on step counts and data size when orchestrating durable workflows?

Yes, durable workflow orchestration requires explicit boundaries on step counts and data payload sizes. Exceeding these limits without structuring loops and parallel patterns properly can cause execution failures or retries to stall.