Agent skill · software engineering · sickn33
bullmq-specialist
BullMQ expert for Redis-backed job queues, background processing,
Why this skill is useful
Provides specific patterns and configurations for BullMQ job queues that the AI wouldn't reliably generate on its own.
What it needs
Requires bullmq, ioredis installed locally. About 5k tokens when loaded. Last updated 2026-08-07. 44,571 stars on the source repository.
What this skill does
BullMQ Specialist BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications. Principles Jobs are fire-and-forget from the producer side - let the queue handle delivery Always set explicit job options - defaults rarely match your use case Idempotency is your responsibility - jobs may run more than once Backoff strategies prevent thundering herds - exponential beats linear Dead letter queues are not optional - failed jobs need a home Concurrency limits protect downstream services - start conservative Job data should be small - pass IDs, not payloads Graceful shutdown prevents orphaned jobs - handle SIGTERM properly Capabilities bullmq-queues job-scheduling delayed-jobs repeatable-jobs job-priorities rate-limiting-jobs job-events worker-patterns flow-producers job-dependencies Scope redis-infrastructure -> redis-specialist serverless-queues -> upstash-qstash workflow-orchestration -> temporal-craftsman event-sourcing -> event-architect email-delivery -> email-systems Tooling Core bullmq ioredis Hosting upstash redis-cloud elasticache railway Monitoring bull-board arena bullmq-pro Patterns delayed-jobs repeatable-jobs job-flows rate-limiting sandboxed-processors Patterns Basic Queue Setup Production-ready BullMQ queue with proper configuration When to use: Starting any new queue implementation import { Queue, Worker, QueueEvents } from 'bullmq'; import IORedis from 'ioredis'; // Shared connection for all queues const connection = new IORedis(process.env.REDISURL, { maxRetriesPerRequest: null, // Required for BullMQ enableReadyCheck: false, }); // Create queue with sensible defaults const emailQueue = new Queue('emails', { connection, defaultJobOptions: { attempts: 3, backoff: { type: 'exponential', delay: 1000, }, removeOnComplete: { count: 1000 }, removeOnFail: { count: 5000 }, }, }); // Worker with concurrency limit const worker = new Worker('emails', async (job) => { await sendEmail(job.data); }, …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills sickn33/bullmq-specialist--9ef232