Add a new cache provider package to this repository, or modify an existing one.

MITAuto-check passed

Install Add A Provider

skills CLI
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-a-provider .claude/skills/add-a-provider && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-a-provider
GitHub stars
155
Token cost
~960 tokens
SKILL.md length
405 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Add a new cache provider package to this repository, or modify an existing one.

  • Working in packages/provider-rest-cache-
  • SKILL.md covers The contract, Rules that are not stylistic, Package shape and Cluster safety, plus 2 more sections
  • Calls pnpm
  • Implementing a storage backend

What it does

Add A Provider is an agent skill from strapi-community/plugin-rest-cache. Add a new cache provider package to this repository, or modify an existing one. Use when working in packages/provider-rest-cache-, implementing a storage backend, or changing the CacheProvider contract.

Its SKILL.md is about 960 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Redis. The repository describes itself as: Speed-up HTTP requests with LRU cache. The licence is MIT.

When your agent uses it

  • Working in packages/provider-rest-cache-
  • Implementing a storage backend
  • Changing the CacheProvider contract

Example prompts

  • “/add-a-provider”

What it can do on your machine

Read from SKILL.md and the folder at commit af0e7d8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add A Provider loads about 960 tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 405 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~960

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from strapi-community/plugin-rest-cache at commit af0e7d8, republished under its MIT licence (© strapi-community). 405 words, ~960 tokens.

Download SKILL.mdSave it as .claude/skills/add-a-provider/SKILL.md (or your agent's skills folder).
name
add-a-provider
description
Add a new cache provider package to this repository, or modify an existing one. Use when working in packages/provider-rest-cache-*, implementing a storage backend, or changing the CacheProvider contract.

Adding a cache provider

A provider is a small package that stores and retrieves cache entries. The contract is packages/plugin-rest-cache/server/src/types/CacheProvider.ts — read it first; its comments cite the bugs each decision prevents.

The contract

Required: get(key), set(key, value, maxAge), del(key), keys(), and a ready getter.

Optional: delMany(keys) and clear(). The base class supplies working defaults, so a provider written against the older contract keeps working. Override them when the backing store has batch operations — a purge is otherwise one round trip per key, which on Redis meant roughly 20,000 round trips and 55MB transferred for a 100k-entry cache.

Rules that are not stylistic

maxAge is milliseconds. Do not convert it. cache-manager's ttl is also milliseconds. Converting again is how a configured hour became 41.7 days.

keys() must return unqualified keys, without the store's prefix and without any adapter-internal qualification. @keyv/redis tracks keys as keyv:/api/foo; returning that form makes purge patterns match nothing while the deletes address keys that do not exist.

Keep the package CommonJS. Providers are loaded via createRequire(...)(modulePath). If a dependency is ESM-only — quick-lru v7 is — resolve it through an async static create() rather than making the package ESM. See MemoryCacheProvider.create().

Do not rename the provider class. bootstrap.ts identifies a provider by walking the constructor chain comparing constructor.name, because a provider resolves its own copy of the types bundle and a real instanceof is false. A rename breaks provider loading with a misleading "does not export a CacheProvider instance" error.

Handle interop defensively. keyv v4 exports its constructor directly, v5 exports it as .default, and @keyv/redis exposes only .default from its CJS build. Which one you get depends on what won the hoist in the host application, so accept either:

ts
const keyvModule = require('keyv');
const Keyv = keyvModule.default ?? keyvModule;
Show full SKILL.md (124 more words)Show less

Package shape

The entry point must export:

ts
module.exports = {
  provider: 'myprovider',
  name: 'My Provider',
  async init(options, { strapi }) {
    return MyCacheProvider.create(options);
  },
};

The plugin resolves @strapi-community/provider-rest-cache-<name> from the provider name in configuration. Arbitrary npm packages are not yet supported (there is a @TODO in bootstrap.ts).

Cluster safety

If the backing store is distributed, a multi-key delete may span shards. Redis Cluster rejects it outright:

CROSSSLOT Keys in request don't hash to the same slot

The redis provider deletes key by key when store.redis.isCluster, and batches only the tracking-set update, which is a single key. Do the equivalent.

Verifying

bash
pnpm --filter @strapi-community/provider-rest-cache-<name> run build
pnpm run test:smoke     # loads the built provider and exercises it
pnpm run test:deps      # every import must be declared
pnpm run test:e2e:redis # if your provider is redis-shaped
pnpm run test:cluster   # cluster-safety check, needs the built dist

Then run the full memory suite too — the plugin's behaviour is provider-agnostic and regressions show up there.

Documenting it

A new provider needs a page under docs/guide/providers/, an entry in the sidebar (docs/.vitepress/config.js), and a row in docs/guide/providers/index.md. Follow the existing pages: every config sample carries both JavaScript and TypeScript tabs.

© strapi-community, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/add-a-provider of strapi-community/plugin-rest-cache.

Open the folder on GitHubat commit af0e7d8

Compare with similar skills

Add A Provider next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Add A Provider compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add A Provider this skillstrapi-community/plugin-rest-cache155—~960Automated safety check: PassMIT
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
Add Redis Command to go-redisredis/go-redis22k—~1.4kAutomated safety check: PassBSD-2-Clause
Gumroad Prod Consoleantiwork/gumroad9.8k—~2.9kAutomated safety check: NotesMIT
Runtime Behavior Proberedis/node-redis18k—~4.4kAutomated safety check: PassMIT
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • Official

    Walks through adding a new Redis or Redis module command to the go-redis client, from fetching the spec and docs to the type, interface wiring, parsing and tests.

    22k GitHub stars~1.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Gumroad Prod Console

    antiwork/gumroad

    Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.

    9.8k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Runtime Behavior Probe

    redis/node-redis

    Official

    Plan and execute runtime-behavior investigations with temporary TypeScript probe scripts, validation matrices, state controls, and findings-first reports.

    18k GitHub stars~4.4k tokensUpdated today
    DatabasesAuto-check passed
  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • Official

    Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.

    12k GitHub stars~838 tokensUpdated today
    DevelopmentAuto-check passed

More from strapi-community/plugin-rest-cache

  • Configure REST Cache

    strapi-community/plugin-rest-cache

    Choose and write a Strapi REST Cache configuration for a specific use case.

    155 GitHub stars~1.1k tokensUpdated 12 days ago
    Auto-check passed
  • Cut A Release

    strapi-community/plugin-rest-cache

    Publish this plugin to npm - a production release, a pre-release, or an experimental build from a branch.

    155 GitHub stars~2.2k tokensUpdated 12 days ago
    Auto-check passed
  • Diagnose REST Cache

    strapi-community/plugin-rest-cache

    Diagnose why Strapi REST Cache is not caching, is serving stale content, or is caching the wrong thing.

    155 GitHub stars~1.2k tokensUpdated 12 days ago
    Auto-check passed
  • Verify A Change

    strapi-community/plugin-rest-cache

    Verify a change to this plugin before opening a PR. An agent skill from strapi-community/plugin-rest-cache.

    155 GitHub stars~779 tokensUpdated 12 days ago
    Auto-check passed

Works with

Questions about Add A Provider

What does Add A Provider do?

Add a new cache provider package to this repository, or modify an existing one. Add A Provider is an agent skill from strapi-community/plugin-rest-cache. Add a new cache provider package to this repository, or modify an existing one.

When should I use Add A Provider?

Add A Provider fits situations like: working in packages/provider-rest-cache-; implementing a storage backend; changing the CacheProvider contract.

How do I install Add A Provider in Claude Code?

Run `npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a claude-code`. Or copy the skill folder (.claude/skills/add-a-provider in strapi-community/plugin-rest-cache) into .claude/skills/add-a-provider in your project. Claude Code loads it when a task matches its description.

How do I install Add A Provider in Codex?

Run `npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a codex`. Or copy the skill folder (.claude/skills/add-a-provider in strapi-community/plugin-rest-cache) into .agents/skills/add-a-provider in your project. Codex loads it when a task matches its description.

Can I use Add A Provider in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-a-provider, .gemini/skills/add-a-provider, .github/skills/add-a-provider and .opencode/skills/add-a-provider in your project.

What does Add A Provider need to run?

Going by SKILL.md and its folder, Add A Provider needs the command-line tools its instructions call (pnpm).

Does Add A Provider access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Add A Provider safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Add A Provider use?

Add A Provider is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add A Provider use?

About 960 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add A Provider?

Skills that share tags, products or a category with Add A Provider: Configuring Horizon (coollabsio/coolify, 63k stars), Add Redis Command to go-redis (redis/go-redis, 22k stars), Gumroad Prod Console (antiwork/gumroad, 9.8k stars) and Runtime Behavior Probe (redis/node-redis, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add A Provider?

strapi-community (a GitHub organization) maintains it in strapi-community/plugin-rest-cache, which has 155 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 28, 2026.

Source: strapi-community/plugin-rest-cache on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.