Skip to main content
skill CX Codex

upstash-redis-start — Claude Code skill for throwaway Redis

This skill spins up a temporary Upstash Redis database from a single POST. No account, no API key, no SDK wiring — the response carries the endpoint and token.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add upstash/skills --skill upstash-redis-start -a claude-code
Open on GitHub

What upstash-redis-start does

The agent makes up a UUIDv4 and sends it as the Idempotency-Key header to https://upstash.com/start-redis. What comes back is markdown holding Database ID, Endpoint, Token, a metrics link, an Expires date and a Console URL. There is no separate JSON envelope, so those values get parsed straight out of the text. Repeat the POST with the same key and you get the same database rather than a second one, which makes a lost response safe to retry. The header can be skipped: the server then assigns an id, and that id can be passed back as the key later. Only UUIDv4 is accepted.

Talking to the database goes through the Upstash Redis REST API. The skill favours the body-style call, where the command travels as a JSON array in the request body and needs no URL encoding. Ready curl examples for SET with a TTL and for GET sit in the README. The same endpoint and token also work with the official SDKs, @upstash/redis for TS/JS and upstash-redis for Python.

Unless the user claims it, the database is gone after 3 days. Until then it is unauthenticated scratch storage, so secrets, PII and production credentials have no business there. The skill asks you to hand the Console URL to the user — usage shows up on that page, along with the **Claim** button that keeps the database alive.

What it helps with

  • get Redis running for an agent when the user handed over no credentials
  • keep state across tool calls inside a single run
  • run a producer/consumer job queue for sub-agents
  • log conversation turns and read back the latest ones
  • build ranked recall sorted by recency or score

Example prompts for the agent

  • Provision a scratch Redis with upstash-redis-start and store the pipeline step there
  • Set up a sub-agent job queue in Upstash Redis and drain it with RPOP
  • Create ranked memory in Redis and show the ten most recent entries

How to install upstash-redis-start

1Skills CLI (Vercel)

npx skills add upstash/skills --skill upstash-redis-start -a claude-code

2Manually: put the files in place

~/.claude/skills/upstash-redis-start/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/upstash-redis-start/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about upstash-redis-start

How do I install upstash-redis-start in Claude Code?

Run npx skills add upstash/skills --skill upstash-redis-start -a claude-code. The skill lands at ~/.claude/skills/upstash-redis-start/SKILL.md.

What does upstash-redis-start do?

It creates a temporary Upstash Redis database with one POST to https://upstash.com/start-redis and returns an endpoint plus token. No signup, key or SDK setup is involved.

How long does the database last, and can it be kept?

3 days, unless someone claims it. The response includes a Console URL where the user checks usage and clicks **Claim** to keep the database.

Source text

SKILL.md · MIT
---
name: upstash-redis-start
description: Provision a zero-config, no-signup, temporary Upstash Redis database for an AI agent with a single POST to https://upstash.com/start-redis, with no account, API key, or SDK setup required. Use when an agent needs scratch Redis right now and the user has not provided credentials, for short-term memory across tool calls, conversation history, a sub-agent work queue, ranked recall, or a quick prototype or demo. Covers idempotent creation and re-fetching credentials, calling the database through the body-style REST API or the official SDKs, and telling the user how to claim it. The database lives 3 days unless the user claims it; not for production data, PII, or secrets.
license: MIT
metadata:
  author: Upstash
  homepage: https://upstash.com
---

# Upstash Redis for Agents (`start-redis`)

A zero-config Redis database for AI agents — **no signup, no UI, no SDK setup**. One HTTP request returns a working endpoint + token. Databases live for **3 days** unless the user claims them.

Use this when:
- The agent needs Redis right now and the user has not given you credentials.
- You want short-term memory across tool calls, conversation history, a sub-agent work queue, or recent-first ranked recall.

This is built for quick experiments, prototypes, and demos rather than production workloads or anything tied to a real user account — the database is temporary and unauthenticated until claimed, so keep PII, secrets, and production credentials out of it.

## Create or re-fetch a database

```bash
# Generate a fresh UUIDv4 yourself, then POST it as the Idempotency-Key.
# The UUIDv4 you send becomes the database id.
curl -X POST -H "Idempotency-Key: <uuidv4>" https://upstash.com/start-redis
```

- Sending your own UUIDv4 makes the first call **retry-safe** — if the response is lost, retrying with the same UUID returns the same database instead of minting a duplicate.
- Re-POST with the same `Idempotency-Key` to **re-fetch credentials** for an existing database.
- The header is optional. Omit it to mint a new database with a server-generated id (returned in the response — re-fetch later by passing that id back as `Idempotency-Key`). Only UUIDv4 is accepted.

The response is markdown containing:
- `Database ID`, `Endpoint`, `Token`
- `Metrics` URL (JSON: uptime, commands, keys, throughput, memory, bandwidth)
- `Expires` date
- `Console URL` to share with the user (where they view usage and click **Claim** to keep the database)
- An inline quickstart for the body-style REST API

Parse these out of the markdown response and use them directly — there is no separate JSON envelope.

## Calling the database (body-style REST)

The returned endpoint speaks the Upstash Redis REST API. Prefer the **body-style** form: POST a JSON array as the body so you don't have to URL-encode the command.

```bash
# SET with TTL
curl https://<endpoint> \
  -H "Authorization: Bearer <token>" \
  -d '["SET","session:abc","{\"step\":2}","EX","3600"]'

# GET
curl https://<endpoint> \
  -H "Authorization: Bearer <token>" \
  -d '["GET","session:abc"]'
```

You can also use the official SDKs against the same endpoint + token (`@upstash/redis` for TS/JS, `upstash-redis` for Python).

## Common agent patterns

| Need | Commands |
|------|----------|
| Short-term memory across tool calls in one run | `SET key value EX <ttl>` / `GET key` |
| Conversation / turn-by-turn log | `LPUSH chat:<user> <json>` / `LRANGE chat:<user> 0 20` |
| Sub-agent work queue (producer/consumer) | `LPUSH jobs <json>` / `RPOP jobs` |
| Ranked memory (recent-first or score-first) | `ZADD memories <score> <member>` / `ZREVRANGE memories 0 9` |

## Tell the user

After provisioning, surface the **console URL** from the response to the user. Make clear that:
- The database expires in 3 days.
- They can view usage at the console URL and click **Claim** to keep it.
- This is unauthenticated scratch storage — don't put secrets or PII in it.

## Reference

- Service entry point (also serves the `GET` doc): https://upstash.com/start-redis
- Full REST API: https://upstash.com/docs/redis/features/restapi
- TS/JS SDK: https://upstash.com/docs/redis/sdks/ts
- Python SDK: https://upstash.com/docs/redis/sdks/py

© Upstash · MIT · upstash/skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set14

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor