Install any skill in seconds. Free to start, no credit card required.
Get Started Free →aiskillstore/inngest-handler
Create and manage Inngest functions for reliable background jobs, workflows, and scheduled tasks.
Passed 21 of 22 test cases with the skill, and 7 of 22 without it.
and 15 more in the full report
14 fixed7 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
Write an API route handler in TypeScript that dispatches a user registration event named 'app/user.created' with user ID and email payload data to the background job system.
| Checked | Without skill | With skill |
|---|---|---|
| Calls inngest.send passing an object with name set to 'app/user.created'. | Missed | Passed |
| Includes user payload details inside the data property of the send event payload. | Passed | Passed |
The instructions your model reads when the skill loads.
This skill defines the standards for building durable, multi-step workflows using Inngest.
NO setTimeout / setInterval:
await new Promise(r => setTimeout(r, 1000))await step.sleep("wait-1s", "1s")NO Side Effects Outside Steps:
step.run().Deterministic Steps:
Return Data from Steps:
let userId; await step.run(..., () => { userId = ... })const userId = await step.run(..., () => { return ... })Wrap all logic in steps to ensure retriability and resumability.
export const processOrder = inngest.createFunction(
{ id: "process-order" },
{ event: "shop/order.created" },
async ({ event, step }) => {
// 1. Step: Validate (Retriable)
const user = await step.run("get-user", async () => {
return await db.users.findById(event.data.userId);
});
// 2. Step: Sleep (Durable pause)
test cases passed, vs 7 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.