Skill: VoltAgent Best Practices
by VoltAgent
VoltAgent's official conventions skill — when to reach for an agent versus a workflow, the expected project layout, and the core snippets for agents, workflows, memory and servers.
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.
Add this skill to your favorite AI agent in a few steps.
Learn how to use this skill with different AI agents.
Rebuild our support agent on AgentKit so a crash mid-run doesn't lose the conversation, and add a human approval step before it issues refunds.
An in-memory agent loop dies with the process. Every model call already made, every tool result already paid for, gone — and if the loop was waiting on a human, the approval it was waiting for arrives at nothing. This skill teaches a coding agent to build AI agents that survive that, using Inngest's durable execution underneath AgentKit.
The architecture it prescribes. Agents are defined with AgentKit's createAgent, but the run is owned by an Inngest function, so model calls go through step.ai — which means they retry on provider failure and their results are cached durably rather than re-paid for on replay. Around the agent, the lower-level Inngest primitives do the work they are better at: step.run for database reads and writes and tool side effects, step.waitForEvent for approvals and waits, native realtime for progress, and flow control for provider quotas.
Human-in-the-loop is a first-class section, not an afterthought — an agent that pauses for days waiting on a reviewer is exactly the workload that in-memory loops cannot express and durable execution handles trivially.
It also tells the agent when not to use an agent. There is an explicit "when to use Inngest for agents" section and an anti-patterns section, both of which push back on wrapping deterministic work in a model loop. That restraint is unusual in vendor-written skill material and is the part most worth having in the context window.
Rounding it out: tool calls, realtime progress streaming to a UI, cost and flow control for provider rate limits, brownfield migration of an existing agent onto durable execution, a copyable durable-agent example in the repo, and a verification checklist. It hands off to inngest-agent-evals when the request turns to scoring, sessions or experiments.
by VoltAgent
VoltAgent's official conventions skill — when to reach for an agent versus a workflow, the expected project layout, and the core snippets for agents, workflows, memory and servers.
Inngest's durable-execution playbook as an agent skill — steps and memoisation, event and cron triggers, idempotency, cancellation, retries and non-retriable errors.
by Inngest
Seven ways to throttle agent and background workloads — concurrency keys, throttling, rate limiting, debounce, singleton, priority and batching — with a decision guide that picks the right one.
by Inngest
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.