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
Skill

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.
All reasons and checks

avifenesh/glide-mq

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/glide-mq

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal 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.

Skills
Official

Redis's official 15 skills teach an agent data structures, search, clustering, security and agent memory, plus a docs MCP server.

PluginMinimal access175Repository stars

Six skills that teach an agent to write Streamling plugins in Rust: sources, sinks, transforms and SQL functions.

SkillMinimal access109Repository stars

The MCP server of the bunqueue job queue: an agent schedules cron jobs, retries failures, sets limits and reads stats, no Redis.

MCP serverBroad access592Repository stars
Official

Reference skill for @upstash/redis: data structures, caching, rate limits, locks and full-text search

SkillMinimal access985Repository stars

Hundreds of per-provider skills teach an agent to receive webhooks, verify signatures and handle events, with code examples.

SkillMinimal access101Repository stars

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)               |

Report a problem