Agent skill · software engineering · aiskillstore

inngest-handler

Create and manage Inngest functions for reliable background jobs, workflows, and scheduled tasks.

Why this skill is useful

Defines specific patterns and standards for building Inngest functions that enhance reliability and performance in workflows.

What it needs

Requires inngest account access. About 3k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

Inngest Function Handler Skill This skill defines the standards for building durable, multi-step workflows using Inngest. 🚨 HARD RULES (Strictly Follow) 1. NO setTimeout / setInterval: ❌ Bad: await new Promise(r => setTimeout(r, 1000)) ✅ Good: await step.sleep("wait-1s", "1s") Reason: Serverless functions time out; Inngest sleeps persist for up to a year. 2. NO Side Effects Outside Steps: Any database write, API call, or non-deterministic logic (random, date) MUST be wrapped in step.run(). Reason: Inngest functions execute multiple times (memoization). Code outside steps runs every time. 3. Deterministic Steps: Steps are memoized by their ID (1st arg). IDs must be unique and stable. Do not dynamically generate step IDs unless you know what you are doing (e.g., inside loops with index). 4. Return Data from Steps: If you need a value later, return it from the step. ❌ Bad: let userId; await step.run(..., () => { userId = ... }) ✅ Good: const userId = await step.run(..., () => { return ... }) Core Patterns 1. Multi-Step Execution Wrap all logic in steps to ensure retriability and resumability. 2. Parallelism Run steps concurrently to speed up execution. 3. Working with Loops Inside loops, ensure step IDs are unique. Configuration & Flow Control Rate Limiting & Throttling Prevent overwhelming 3rd party APIs. Debounce Process only the latest event in a window (e.g., search indexing). Priority Prioritize specific events (e.g., Paid users). Error Handling Automatic Retries Inngest retries steps automatically on error (default ~4-5 times with backoff). Customize: { retries: 10 } in config. Non-Retriable Errors Stop execution immediately if the error is fatal (e.g., 400 Bad Request). Failure Handlers (Rollbacks) Execute cleanup logic if the function fails after all retries. Registration MANDATORY: All functions must be imported and exported in src/lib/inngest/functions/index.ts.

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/inngest-handler

View the source on GitHub

Browse the @skills marketplace