# upstash-qstash

A skill about Upstash QStash: delayed HTTP calls, cron jobs and webhook delivery. Useful when you want an HTTP request to fire later and actually arrive.

- skill · `type=skill` · Claude Code · 51 installs
- Author: davila7
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/web-development/upstash-qstash
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/upstash-qstash

## What it does

This skill gives Claude working knowledge of QStash — publishing messages, scheduling calls, recurring cron tasks, deduplication and callbacks. It ships as patterns plus a table of sharp edges: signature checks, URL groups, error handling inside the endpoint.

The idea behind it is simple. HTTP goes in, HTTP goes out, and QStash handles the reliability in between. That is why signature verification with both keys gets its own section, and why the endpoint should acknowledge fast — a slow response breaks delivery. Turn on deduplication for operations you cannot repeat, and set retries per message type instead of accepting the default.

One hard limit: QStash cannot reach private or `localhost` endpoints. Your handler has to be publicly reachable. Sending a reference beats stuffing a large payload into the message body.

## Install

### Claude Code (native platform)

1. **claude-code-templates**
```bash
npx claude-code-templates@latest --skill web-development/upstash-qstash
```

2. **Skills CLI (Vercel)**
```bash
npx skills add davila7/claude-code-templates --skill upstash-qstash -a claude-code
```

3. **Manually: put the files in place**
- File: `~/.claude/skills/upstash-qstash/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/upstash-qstash/

### Codex

**Manually: put the files in place**
- File: `.agents/skills/upstash-qstash/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

**Manually: put the files in place**
- File: `.cursor/skills/upstash-qstash/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install davila7/claude-code-templates upstash-qstash
```

2. **Manually: put the files in place**
- File: `.github/skills/upstash-qstash/SKILL.md`

### Gemini CLI

**Platform CLI**
```bash
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/web-development/upstash-qstash
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/upstash-qstash/SKILL.md` — The legacy .windsurf/skills/ path still works

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/skills/web-development/upstash-qstash

## When to use it
- schedule an HTTP call for later without running your own worker
- set up a recurring cron task in a serverless project
- verify the signature on an incoming QStash webhook
- stop the same message from being processed twice
- debug why an endpoint never receives its messages

## Example prompts
- Schedule a webhook delivery through QStash 10 minutes from now
- Add QStash signature verification to my `api/webhook/route.ts` handler
- Create a QStash cron job that hits my endpoint once an hour

## Similar
- [mcp-builder](https://affpapa.org/en/nevibecode/skills/mcp-builder.md) — skill · 130949 installs
- [claude-api](https://affpapa.org/en/nevibecode/skills/claude-api.md) — skill · 74198 installs
- [lark-im](https://affpapa.org/en/nevibecode/skills/lark-im.md) — skill · 472900 installs
- [lark-event](https://affpapa.org/en/nevibecode/skills/lark-event.md) — skill · 466800 installs
- [caveman-discover](https://affpapa.org/en/nevibecode/skills/caveman-discover.md) — skill · 104400 installs
- [migration](https://affpapa.org/en/nevibecode/skills/migration.md) — skill · 103900 installs

From the same set: [davila7/claude-code-templates](https://affpapa.org/en/nevibecode/by/davila7/claude-code-templates.md) — 361 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
