agentleFS
redisredis/agent-skills/skills/redis-docs-mcp/SKILL.md

redis-docs-mcp

Skill174 starsChanged 3 months agoMITView on GitHub

Working with the redis-docs MCP server (search / fetch / ask at redis.io/mcp) — how its index is shaped and how to read what it returns. Use when those tools are available and you are about to look something up in the Redis documentation, or when a result is confusing — fetch returned one short section instead of a page, several hits share one url, ids look like #sec:w1, metadata.version reads 1.0.0, a search came back empty, or ask was rate-limited or said the docs do not cover it. Also covers what redis.io does and does not index.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Snippets are truncated prefixes of the body, not summaries: When one cuts off mid-word right at the interesting part, fetch on that id is …

    line 44
  2. Very specific:

    ask → sources[].id → fetch: when you want the primary source behind a synthesized answer.

    line 69

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Redis Docs MCP

The redis-docs server exposes the redis.io documentation over MCP as search, fetch, and ask. Those tools carry their own descriptions, and on when to call each one they are accurate — start with search, fetch what you need, keep ask for questions that span several areas. This skill covers what they get wrong or leave out.

When to apply

  • You are about to look something up through these tools.
  • A result did not look like what the tool description promised.
  • A search came back empty, or ask was rate-limited or declined to answer.

Reach for the sibling Redis skills first where they cover the topic — they carry curated guidance that raw docs pages do not. Use these tools to verify specifics and fill gaps.

1. Ids address sections, not pages

The tool descriptions say search returns "pages" and fetch returns "one Redis documentation page". The index is per section, and ids come in four shapes:

ShapeExampleWhat fetch returns
Bare pagecommands/expireThe whole page — ~8.5 KB for EXPIRE, examples and appendices included
Named anchordevelop/using-commands/keyspace#sec:key-expirationThat section
Ordinal windowdevelop/ai/search-and-query/advanced-concepts/expiration#sec:w0That window, ~1–2 KB
Anchor + windowdevelop/clients/jedis/connect#sec:configure-a-connection-pool-w0That window of that section

What follows from this:

  • Repeated urls in one result set are not duplicates. Several hits often share a page url while carrying distinct ids — they are different sections of the same page. Tell them apart by their snippets, not their urls.
  • #sec:wN ordinals are index windows. They come back in relevance order, not w0, w1, w2. Don't try to reassemble a page out of snippets; fetch the section you actually need.
  • Never construct an id. Valid ids come from a search result or an ask result's sources[].id. Guessing happens to work for commands/<name> and fails on everything with sections.
  • Snippets are truncated prefixes of the body, not summaries. When one cuts off mid-word right at the interesting part, fetch on that id is guaranteed to contain the continuation — no need to re-search with different words.
  • Cite the page url and name the section in prose. #sec:w1 is an index address, not a web anchor. Ids with a named anchor (#sec:<name>, or #sec:<name>-wN) return a url with a usable fragment; bare #sec:wN ids don't.

Links in returned text point at source files — [`DEL`](/content/commands/del.md) — which are neither web URLs nor fetch ids. Don't cite them or turn them into ids; search for the term instead.

2. metadata.version means "added in", not "current as of"

fetch returns metadata with topic, version, and section. On a commands/* page that version is the release the command was introduced in — commands/setex reports 2.0.0, commands/hexpire reports 7.4.0. Useful for "when did this land", and nothing more: commands/expire reports 1.0.0 while its own body documents a behavior change in 2.1.3 and a Redis 8 interaction with Redis Search. Outside commands/* the field is often not a release at all — a Redis Search page reports stack, a product channel.

So never answer "did this change in Redis N?" from metadata.version. Read it from the body text, which states it explicitly ("Before Redis 8…", "since Redis 7.4"), and cite that.

3. What the corpus covers

The index is redis.io only — but that is broader than it sounds. Per-language client usage guides are indexed and returned (develop/clients/redis-py/connect#sec:…, develop/clients/jedis/connect#sec:…), along with the integrate/… pages, the Redis Software and Redis Cloud operational docs under operate/…, and the Kubernetes operator's generated CRD reference. So search first, including for client-library and Enterprise questions.

Details often sit past the snippet. A search for redis-py's max_connections returns develop/clients/redis-py/async#sec:connection-pools with a snippet that never mentions it, yet the fetched section documents it. For a library's complete signatures, its own API reference or source is the authority.

Genuinely outside the index: GitHub issues and discussions, package-manager pages (PyPI, npm, Maven), and third-party posts.

So fetch the relevant hits before concluding anything is missing, and even then report it as "not found in the results I retrieved" — never as "not on redis.io" or "does not exist".

4. ask costs more than it looks

  • Rate-limited per IP at a low per-minute budget, shared by everyone behind the same NAT, so an office or a CI runner can exhaust it collectively. On a rate-limit error, back off before retrying rather than retrying straight away, and ask one narrow question at a time.
  • On a refusal, do not retry it reworded. "The documentation does not cover this" is a grounded result, not a parsing failure. Fall back to search + fetch instead.
  • ask → sources[].id → fetch when you want the primary source behind a synthesized answer.

Query text from every tool reaches Redis, and from ask the model provider behind the gateway too, so prefer a generic question about the Redis command or behavior over pasting in proprietary code.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.