
Trigger Dev
Wire durable background jobs, AI workflows, webhooks, and schedules into a TypeScript app with Trigger.dev instead of rolling your own queue layer.
Install
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill trigger-devWhat is this skill?
- Tasks as independently retryable units with durable runs that survive restarts
- Built-in delays, schedules, and webhook handlers without external cron
- First-class integration wrappers (OpenAI, Anthropic, Stripe, Resend, Slack, Supabase)
- AI-ready long-running jobs with liberal in-task logging for debugging
- Local dev via Trigger CLI aligned with Next.js, Remix, Express, and Hono deploy paths
Adoption & trust: 483 installs on skills.sh; 40.1k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Trigger.dev is adopted while implementing server-side async work—tasks, retries, and third-party calls—not during ideation or go-to-market. Canonical shelf is backend because the skill centers on task runs, queues, concurrency limits, and SDK/CLI integration rather than UI or docs.
Common Questions / FAQ
Is Trigger Dev safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Trigger Dev
# Trigger.dev Integration Trigger.dev expert for background jobs, AI workflows, and reliable async execution with excellent developer experience and TypeScript-first design. ## Principles - Tasks are the building blocks - each task is independently retryable - Runs are durable - state survives crashes and restarts - Integrations are first-class - use built-in API wrappers for reliability - Logs are your debugging lifeline - log liberally in tasks - Concurrency protects your resources - always set limits - Delays and schedules are built-in - no external cron needed - AI-ready by design - long-running AI tasks just work - Local development matches production - use the CLI ## Capabilities - trigger-dev-tasks - ai-background-jobs - integration-tasks - scheduled-triggers - webhook-handlers - long-running-tasks - task-queues - batch-processing ## Scope - redis-queues -> bullmq-specialist - pure-event-driven -> inngest - workflow-orchestration -> temporal-craftsman - infrastructure -> infra-architect ## Tooling ### Core - trigger-dev-sdk - trigger-cli ### Frameworks - nextjs - remix - express - hono ### Integrations - openai - anthropic - resend - stripe - slack - supabase ### Deployment - trigger-cloud - self-hosted - docker ## Patterns ### Basic Task Setup Setting up Trigger.dev in a Next.js project **When to use**: Starting with Trigger.dev in any project // trigger.config.ts import { defineConfig } from '@trigger.dev/sdk/v3'; export default defineConfig({ project: 'my-project', runtime: 'node', logLevel: 'log', retries: { enabledInDev: true, default: { maxAttempts: 3, minTimeoutInMs: 1000, maxTimeoutInMs: 10000, factor: 2, }, }, }); // src/trigger/tasks.ts import { task, logger } from '@trigger.dev/sdk/v3'; export const helloWorld = task({ id: 'hello-world', run: async (payload: { name: string }) => { logger.log('Processing hello world', { payload }); // Simulate work await new Promise(resolve => setTimeout(resolve, 1000)); return { message: `Hello, ${payload.name}!` }; }, }); // Triggering from your app import { helloWorld } from '@/trigger/tasks'; // Fire and forget await helloWorld.trigger({ name: 'World' }); // Wait for result const handle = await helloWorld.trigger({ name: 'World' }); const result = await handle.wait(); ### AI Task with OpenAI Integration Using built-in OpenAI integration with automatic retries **When to use**: Building AI-powered background tasks import { task, logger } from '@trigger.dev/sdk/v3'; import { openai } from '@trigger.dev/openai'; // Configure OpenAI with Trigger.dev const openaiClient = openai.configure({ id: 'openai', apiKey: process.env.OPENAI_API_KEY, }); export const generateContent = task({ id: 'generate-content', retry: { maxAttempts: 3, }, run: async (payload: { topic: string; style: string }) => { logger.log('Generating content', { topic: payload.topic }); // Uses Trigger.dev's OpenAI integration - handles retries automatically const completion = await openaiClient.chat.completions.create({ model: 'gpt-4-turbo-preview', messages: [ { role: 'system', content: `You are a ${payload.style} writer.`, }, { role: 'user', content: `Write about: ${payload.topic}`, }, ], }); const content = completion.choices[0].message.content; logger.log('Generated content', { length: content?.length }); return { content, tokens: completion.usage?.total_tokens }; }, }); ### Scheduled Task with Cron Tasks that run on a schedule **When to use**: Periodic jobs like reports, cleanup, or syncs import { sch