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 v3 to v4 MigrationSkill
Summary
A controlled upgrade path from Inngest SDK v3 to v4 — triggers into createFunction options, EventSchemas to eventType, realtime imports, step.invoke string IDs — with a scan-first, verify-last order.
Features
- Ripgrep scan of every Inngest surface before any edit is made
- Fixed upgrade order, ending in typecheck and focused tests
- Triggers moved into createFunction options, with before/after
- EventSchemas → eventType / staticSchema conversion
- Serve options relocated to the client; @inngest/realtime import changes
- step.invoke string function IDs rewritten to references
- Checkpointing, serverless runtime and Connect option changes
- Common failure messages mapped back to the migration step that fixes them
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
We upgraded to inngest@4 and now get signing key required errors and step.invoke failures — migrate the codebase properly.
Description
SDK major-version upgrades are where coding agents do the most damage, because the old API is thoroughly represented in their training data and the new one is not. This skill from the Inngest team constrains the work: detect actual usage first, make mechanical changes in a fixed order, then typecheck and run focused tests.
It starts with a scan, not an edit. A set of rg invocations locates every Inngest surface in the repo — new Inngest, EventSchemas, createFunction(, serve(, connect(, step.invoke, referenceFunction, @inngest/realtime, realtimeMiddleware, useInngestSubscription, serveHost — across package.json and workspace manifests too. An agent that knows the blast radius before it starts makes a different set of choices than one discovering it file by file.
The breaking changes it handles. Triggers move into createFunction options. EventSchemas gives way to eventType/staticSchema. Serve options relocate to the client. @inngest/realtime imports change. step.invoke no longer accepts a bare string function ID. Checkpointing and serverless runtime settings change, as do Connect options. Each gets a before/after rather than prose.
The parts that save the most time are at the end: a common failure messages section mapping real errors — signing-key-required, cloud-mode errors after upgrading, step.invoke string IDs breaking, @inngest/realtime failing after installing inngest@4 — back to the specific migration step that fixes them, and an anti-patterns section for the half-migrated state where v3 and v4 idioms coexist and the type errors stop being informative.
TypeScript only. For a broader reliability review before upgrading, it defers to inngest-brownfield-audit.
Related Skills
Inngest's durable-execution playbook as an agent skill — steps and memoisation, event and cron triggers, idempotency, cancellation, retries and non-retriable errors.
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.