Trigger.dev Background Tasks
papermark/papermark
Guides building durable background tasks, scheduled jobs and queues with Trigger.dev, including retries, waits, idempotency and concurrency limits.
Inngest event-driven functions in a Next.js (App Router) project — creating the client, the /api/inngest route handler, typed events with Zod schemas, durable event-triggered functions, scheduled…
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pproenca/dot-skills inngest-nextjs-patterns --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .claude/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .claude/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patternsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pproenca/dot-skills inngest-nextjs-patterns --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .agents/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .agents/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pproenca/dot-skills inngest-nextjs-patterns --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .cursor/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .cursor/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pproenca/dot-skills.git --path skills/.experimental/inngest-nextjs-patterns--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pproenca/dot-skills inngest-nextjs-patterns --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .gemini/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .gemini/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pproenca/dot-skills inngest-nextjs-patternsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .github/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .github/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pproenca/dot-skills inngest-nextjs-patterns --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.experimental/inngest-nextjs-patterns .opencode/skills/inngest-nextjs-patterns && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "inngest-nextjs-patterns" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/inngest-nextjs-patterns into .opencode/skills/inngest-nextjs-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inngest-nextjs-patterns", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
inngest-nextjs-patternsInngest event-driven functions in a Next.js (App Router) project — creating the client, the /api/inngest route handler, typed events with Zod schemas, durable event-triggered functions, scheduled…
Inngest Nextjs Patterns is an agent skill from pproenca/dot-skills. Inngest event-driven functions in a Next.js (App Router) project — creating the client, the /api/inngest route handler, typed events with Zod schemas, durable event-triggered functions, scheduled cron functions, or fan-out orchestrators. Trigger when scaffolding Inngest patterns — and even if the user just says "add a background job", "process this async", "schedule X every hour", or "send an event when Y happens" in a Next.js codebase. Also trigger when reviewing existing Inngest code to enforce event-naming…
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files and assets (for example `config.json`, `gotchas.md` and `metadata.json`).
It sits in Backend & APIs, covering Scheduled and recurring tasks, Event-driven systems and Background jobs. It works with Next.js and Zod. The repository describes itself as: A collection of AI agent skills following the Agent Skills open format. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cf93c57. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Inngest Nextjs Patterns loads about 1.4k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 149 tokens; SKILL.md has 554 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
/localhost:8288. Set `INNGEST_DEV=1` in `.env.local` to point the SDK at it.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pproenca/dot-skills at commit cf93c57, republished under its MIT licence (© pproenca). 554 words, ~1,437 tokens.
.claude/skills/inngest-nextjs-patterns/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Templates and conventions for building event-driven, durable background work on Inngest from a Next.js App Router project. The skill enforces the conventions Inngest's own docs use (decentralized eventType() schemas, kebab-case stable function IDs, idempotent steps) so that retries, replays, and concurrency controls actually do what they advertise.
Read this skill when you are:
setTimeout / a queue library / a cron service to Inngest's durable execution modelreferences/conventions.md before writing anything. The conventions explain why event names take a specific shape, why function IDs must be stable, and why every step.run must be idempotent — once you understand the reasoning, the templates make sense.src/inngest/functions/index.ts (the registry the route handler reads). The conventions doc shows the registry pattern.| Template | Output Path | Use When |
|---|---|---|
client.ts.template | src/inngest/client.ts | One-time setup: create the singleton Inngest client. Generate once per app. |
route-handler.ts.template | src/app/api/inngest/route.ts | One-time setup: the App Router endpoint Inngest hits to invoke your functions. Generate once per app. |
event.ts.template | src/inngest/events/{domain}.ts | Defining a new typed event (with Zod schema) that producers send and functions consume. |
function.ts.template | src/inngest/functions/{name}.ts | Standard event-triggered durable function with steps. Parameterized retries, concurrency, throttle, debounce, cancelOn, onFailure. |
function-cron.ts.template | src/inngest/functions/{name}.ts | Scheduled function — runs on a cron expression (with timezone). Optionally also accepts a manual event trigger for ad-hoc invocation. |
function-fan-out.ts.template | src/inngest/functions/{name}.ts | Orchestrator that receives one event and fans out work — via step.sendEvent (fire-and-forget) or Promise.all(step.invoke(...)) (wait for results). |
domain/entity.verb_past — e.g., app/user.created, shop/order.placed, billing/invoice.paid. The conventions doc has the full rule.id: stable kebab-case, never rename it after deploy — Inngest uses it as the durable state key.id: descriptive kebab-case, also durable; changing one re-runs that step on replay.step.run must be safely retryable. If it calls a third-party API that mutates state, pass an idempotency key.npx inngest-cli@latest dev, then UI at http://localhost:8288. Set INNGEST_DEV=1 in .env.local to point the SDK at it.Templates assume a src/ directory with App Router:
src/
├── app/api/inngest/route.ts # generated by route-handler template
└── inngest/
├── client.ts # generated by client template
├── events/ # one file per domain (events.shop.ts, events.user.ts)
│ └── {domain}.ts # generated by event template
└── functions/
├── index.ts # registry: re-exports all functions as an array
└── {name}.ts # generated by function/cron/fan-out templatesIf your project uses a different layout (no src/, or Pages Router), override the output paths in config.json. The conventions doc explains the trade-offs.
config.json controls path overrides. On first use, check whether its fields are filled in — if not, ask the user before generating (project root differs from the default assumption).
vercel:ai-sdk — if your Inngest functions invoke LLMs, the AI SDK gives you streaming + provider abstraction; pair them with step.run for retry safety.vercel:vercel-functions — Inngest's serve() adapter for Next.js runs as a Vercel Serverless Function by default; the AI SDK skill has notes on Fluid Compute and timeout extension for long agent runs.© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references, assets) in skills/.experimental/inngest-nextjs-patterns of pproenca/dot-skills.
Open the folder on GitHubat commit cf93c57
Inngest Nextjs Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Inngest Nextjs Patterns this skillpproenca/dot-skills | 214 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Trigger.dev Background Taskspapermark/papermark | 9.2k | — | ~2.1k | Automated safety check: Pass | Custom licence | |
| Backend Dev Guidelineslitefuse/litefuse | 100 | 1 repos | ~5.8k | Automated safety check: Pass | Custom licence | |
| Inngestpedronauck/skills | 633 | 4 repos | ~3.1k | Automated safety check: Pass | None | |
| Upstash Qstashdavila7/claude-code-templates | 32k | 4 repos | ~597 | Automated safety check: Pass | MIT | |
| Nextjs SecurityHoangNguyen0403/agent-skills-standard | 570 | — | ~688 | Automated safety check: Pass | MIT |
papermark/papermark
Guides building durable background tasks, scheduled jobs and queues with Trigger.dev, including retries, waits, idempotency and concurrency limits.
litefuse/litefuse
Comprehensive backend development guide for Litefuse's Next.js 14/tRPC/Express/TypeScript monorepo.
pedronauck/skills
Inngest expert for serverless-first background jobs, event-driven workflows, and durable execution without managing queues or workers.
davila7/claude-code-templates
Upstash QStash expert for serverless message queues, scheduled jobs, and reliable HTTP-based task delivery without managing infrastructure.
HoangNguyen0403/agent-skills-standard
Secure Next.js App Router with middleware auth, Server Action validation, CSP headers, and taint APIs.
Asymmetric-al/core
A skill your agent uses when adding durable execution to a TypeScript project — building retry-safe webhook handlers, background jobs that survive crashes, scheduled tasks, or long-running workflows…
pproenca/dot-skills
Audio forensics and voice recovery guidelines for CSI-level audio analysis.
pproenca/dot-skills
Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.
pproenca/dot-skills
Create well-structured RFCs and technical proposals for software projects.
pproenca/dot-skills
Developer-experience friction auditing and fixing — slow onboarding, repeated manual setup steps, missing bootstrap/reset/seed scripts, undiscoverable conventions.
pproenca/dot-skills
Turn a rough idea for a language into a complete, implementable specification — a DSL, query, config/data, template, or protocol language — by interviewing the author dimension by dimension until…
pproenca/dot-skills
Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…
Categories
Inngest event-driven functions in a Next.js (App Router) project — creating the client, the /api/inngest route handler, typed events with Zod schemas, durable event-triggered functions, scheduled…. Inngest Nextjs Patterns is an agent skill from pproenca/dot-skills.js (App Router) project — creating the client, the /api/inngest route handler, typed events with Zod schemas, durable event-triggered functions, scheduled cron functions, or fan-out orchestrators.
Inngest Nextjs Patterns fits situations like: scaffolding Inngest patterns — and even if the user just says add a background job; process this async; schedule X every hour; send an event when Y happens in a Next.js codebase.
Run `npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a claude-code`. Or copy the skill folder (skills/.experimental/inngest-nextjs-patterns in pproenca/dot-skills) into .claude/skills/inngest-nextjs-patterns in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a codex`. Or copy the skill folder (skills/.experimental/inngest-nextjs-patterns in pproenca/dot-skills) into .agents/skills/inngest-nextjs-patterns in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pproenca/dot-skills --skill inngest-nextjs-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/inngest-nextjs-patterns, .gemini/skills/inngest-nextjs-patterns, .github/skills/inngest-nextjs-patterns and .opencode/skills/inngest-nextjs-patterns in your project.
Going by SKILL.md and its folder, Inngest Nextjs Patterns needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Inngest Nextjs Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Inngest Nextjs Patterns: Trigger.dev Background Tasks (papermark/papermark, 9.2k stars), Backend Dev Guidelines (litefuse/litefuse, 100 stars), Inngest (pedronauck/skills, 633 stars) and Upstash Qstash (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pproenca (a GitHub user) maintains it in pproenca/dot-skills, which has 214 GitHub stars. The repository holds 182 skills in this directory. The repository was last updated on August 15, 2026.
Source: pproenca/dot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.