glide-mq skill
The glide-mq skill teaches an agent to build job queues on Valkey and Redis Streams: workers, retries, schedules and workflows.
- 95 ★ on the repository
- Last commit
- Apache-2.0
Minimal access
Why this level
- The skill is made of instructions and references and runs nothing itself.
- Code the agent writes from the skill will work against your Valkey or Redis server.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/glide-mqDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The skill is made of instructions and references and runs nothing itself.
- Code the agent writes from the skill will work against your Valkey or Redis server.
This is third-party code. Review the repository files before installing.
What it does
glide-mq is a Node.js job queue on Valkey and Redis Streams with a Rust client. The repository holds three skills: `glide-mq` and two migration skills, `glide-mq-migrate-bullmq` and `glide-mq-migrate-bee`. The main skill covers queues, workers, retries, schedulers, workflows, broadcast channels, serverless producers and an HTTP proxy. A separate block covers AI primitives: token and cost tracking, token streaming, human-in-the-loop suspend, budgets, fallback models and vector search. The agent opens the reference files in `references/` as needed. The API is close to BullMQ, so the skill points out where connection config and method signatures differ.
Who it is for. Node.js developers who build background jobs and agent pipelines and ask Claude Code to write code for glide-mq.
Good fit when
- A BullMQ queue is moving to Valkey and the agent needs an API mapping.
- You need a worker with retries, delays and a cron schedule.
- An agent pipeline must pause for a human decision and track model call costs.
- A producer runs in a serverless function and the connection has to be set up without a persistent socket.
Not a fit when
- The project is in Python, Go or Java: glide-mq is built for Node.js.
- A plain `setTimeout` or a single cron without fault tolerance is enough.
- The infrastructure has no Valkey or Redis.
Example request
Move the email queue from BullMQ to glide-mq, keep retries and add a worker with concurrency 10.Limitations
The skills cover only glide-mq and code written for it. The skill version in the repository is 0.18.0 and the project version in AGENTS.md is 0.20.0, so check fresh signatures against the package docs. A queue needs a Valkey or Redis server and Node.js. The README has no automatic skill install command: copy the `skills/` folders into the agent skills directory by hand. The skill fits Node.js and TypeScript, and examples from the neighboring glidemq-examples repository run through `npx tsx`.
How to disable. Delete the `glide-mq*` folders from the agent skills directory. Remove the package from a project with `npm uninstall glide-mq`.
FAQ
How is glide-mq different from BullMQ?
The client is written in Rust through NAPI and queue logic runs as Valkey server functions: one function per job operation. The API is close to BullMQ, but connection setup differs.
How do I migrate from BullMQ?
Use the `glide-mq-migrate-bullmq` skill: `references/` holds the connection mapping and a list of new features. For Bee-Queue there is `glide-mq-migrate-bee`.
Which AI features does the queue have?
Usage and cost tracking, token streaming, suspend and resume with a human in the loop, budgets, fallback models and vector search.
Where do I find code examples?
In the separate glidemq-examples repository: agent loops, DAG flows, NestJS and other folders. Run `npm install` and `npx tsx <file>.ts`.
How do I install the package?
`npm install glide-mq`, then create a `Queue` and a `Worker` that share a Valkey connection description.
Discussion
No questions or reviews yet.
Related
SkillsRedis's official 15 skills teach an agent data structures, search, clustering, security and agent memory, plus a docs MCP server.
Six skills that teach an agent to write Streamling plugins in Rust: sources, sinks, transforms and SQL functions.
The MCP server of the bunqueue job queue: an agent schedules cron jobs, retries failures, sets limits and reads stats, no Redis.
Upstash Redis SDK
redis-js
Reference skill for @upstash/redis: data structures, caching, rate limits, locks and full-text search
builder-skills: agent skills for Convex apps
builder-skills
17 skills that teach an agent to build Convex apps by the docs and run a project through a PRD, task.md and a changelog
Hundreds of per-provider skills teach an agent to receive webhooks, verify signatures and handle events, with code examples.
README in short
The project claims one round trip to the server per job, hash-tagged keys for zero-config clustering and AI primitives in the core API. The benchmark reproduces with `npm run bench` on your own infrastructure.
README badge
Original SKILL.md
---
name: glide-mq
description: >-
Use when building or changing code that uses glide-mq, the Node.js job queue on
Valkey/Redis Streams: queues, workers, retries, schedulers, workflows,
broadcast, serverless producers, HTTP proxy, or its AI primitives (usage,
streaming, suspend/resume, budgets, fallbacks, vector search).
license: Apache-2.0
metadata:
author: glide-mq
version: '0.18.0'
tags: glide-mq, message-queue, valkey, redis, job-queue, worker, streams, ai-native, llm, vector-search
sources: docs/USAGE.md, docs/ADVANCED.md, docs/WORKFLOWS.md, docs/BROADCAST.md, docs/SERVERLESS.md, docs/TESTING.md, docs/OBSERVABILITY.md
---
# glide-mq
Job queue for Node.js on Valkey/Redis Streams, with a Rust NAPI client and all queue logic in Valkey Server Functions (one `FCALL` per job operation). The API is close to BullMQ; the differences that bite are in connection config and a few method signatures.
## Quick Start
```typescript
import { Queue, Worker } from 'glide-mq';
const connection = { addresses: [{ host: 'localhost', port: 6379 }] };
const queue = new Queue('tasks', { connection });
await queue.add('send-email', { to: 'user@example.com', subject: 'Hello' });
const worker = new Worker(
'tasks',
async (job) => {
console.log(`Processing ${job.name}:`, job.data);
return { sent: true };
},
{ connection, concurrency: 10 },
);
worker.on('completed', (job) => console.log(`Done: ${job.id}`));
worker.on('failed', (job, err) => console.error(`Failed: ${job.id}`, err.message));
```
## References
Read the file that matches the task; each holds the options, defaults and edge cases for its area.
| Area | File |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Queues, adding jobs, retries, dedup, rate limits, job lookup | [references/queue.md](references/queue.md) |
| Workers, concurrency, batch mode, stalled jobs, sandboxing | [references/worker.md](references/worker.md) |