Build crash-safe AI agents on AgentKit and step.ai — durable tool calls, human-in-the-loop approval, realtime progress, and when not to reach for an agent loop at all.
Inngest Durable FunctionsSkill
Summary
Inngest's durable-execution playbook as an agent skill — steps and memoisation, event and cron triggers, idempotency, cancellation, retries and non-retriable errors.
Features
- Puts non-deterministic code and side effects inside steps — the rule agents most often break
- Step IDs and memoisation explained so replays stay correct
- Event, cron and invoke triggers with working configuration for each
- Event-level and function-level idempotency, and when to use which
- Event-based and timeout cancellation, including cleanup handling
- Retry configuration, NonRetriableError and custom retry timing
- Replay-safe structured logging and checkpointing for performance
Install This Skill
Add this skill to your favorite AI agent in a few steps.
Skill Content
Usage Instructions
Learn how to use this skill with different AI agents.
Example Usage
Turn this webhook handler into an Inngest durable function so retries don't double-charge the customer.
Description
Durable execution is easy to get subtly wrong, and the failure mode is quiet: a workflow that looks correct replays a Date.now() on every retry, or writes the same Stripe charge twice, and nobody notices until production. This skill from the Inngest team gives a coding agent the model it needs to avoid that class of bug while writing the code.
It leads with the rule that matters most. Every non-deterministic operation and every side effect must live inside a step.run, because completed steps are memoised and everything outside them re-executes on each replay. The skill opens with a bad/good pair showing exactly that — a timestamp computed in the function body versus inside a step — before it gets anywhere near API surface. That ordering is deliberate, and it is the correction most agents need.
What it covers. Function configuration and limits; the three trigger types (event, cron, invoke) with concrete configuration for each; step IDs and how memoisation keys off them; idempotency at both ends — an event-level key on the producer side and a function-level key on the consumer side, with guidance on when each is the right one; cancellation, both event-based (cancelOn) and timeout-based, plus cleanup handling; error handling with default and custom retry counts, NonRetriableError for failures that will never succeed, and custom retry timing; structured logging that survives replay; and checkpointing for performance.
Scope. The examples are TypeScript. Inngest's Python and Go SDKs share the concepts but not the syntax, and the skill says so up front and points at the docs rather than pretending otherwise.
Part of the fourteen-skill inngest/inngest-skills set, Apache-2.0 licensed.
Related Skills
Temporal's official skill for building durable workflows — SDK patterns across seven languages, plus the determinism rules that decide whether a workflow survives a replay.
Expo's official skill for building native-feeling screens: Apple HIG styling, semantic colors, SF Symbols, native controls, Reanimated, blur and liquid glass.
Pull unresolved CodeRabbit review threads from your PR and apply the fixes one at a time, treating every reviewer comment as untrusted input rather than an instruction.