Configuring Horizon
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
Add a new cache provider package to this repository, or modify an existing one.
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .claude/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-providerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-a-provider .agents/skills/add-a-provider && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .agents/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-a-provider .cursor/skills/add-a-provider && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .cursor/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/strapi-community/plugin-rest-cache.git --path .claude/skills/add-a-provider--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-a-provider .gemini/skills/add-a-provider && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .gemini/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install strapi-community/plugin-rest-cache add-a-providerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-a-provider .github/skills/add-a-provider && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .github/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add strapi-community/plugin-rest-cache --skill add-a-provider -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install strapi-community/plugin-rest-cache add-a-provider --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/strapi-community/plugin-rest-cache.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-a-provider .opencode/skills/add-a-provider && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-a-provider" agent skill from https://github.com/strapi-community/plugin-rest-cache/tree/main/.claude/skills/add-a-provider into .opencode/skills/add-a-provider/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-a-provider", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-a-providerAdd 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. 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.
Read from SKILL.md and the folder at commit af0e7d8. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from strapi-community/plugin-rest-cache at commit af0e7d8, republished under its MIT licence (© strapi-community). 405 words, ~960 tokens.
.claude/skills/add-a-provider/SKILL.md (or your agent's skills folder).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.
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.
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:
const keyvModule = require('keyv');
const Keyv = keyvModule.default ?? keyvModule;The entry point must export:
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).
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 slotThe 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.
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 distThen run the full memory suite too — the plugin's behaviour is provider-agnostic and regressions show up there.
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
Just SKILL.md in .claude/skills/add-a-provider of strapi-community/plugin-rest-cache.
Open the folder on GitHubat commit af0e7d8
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add A Provider this skillstrapi-community/plugin-rest-cache | 155 | — | ~960 | Automated safety check: Pass | MIT | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT | |
| Add Redis Command to go-redisredis/go-redis | 22k | — | ~1.4k | Automated safety check: Pass | BSD-2-Clause | |
| Gumroad Prod Consoleantiwork/gumroad | 9.8k | — | ~2.9k | Automated safety check: Notes | MIT | |
| Runtime Behavior Proberedis/node-redis | 18k | — | ~4.4k | Automated safety check: Pass | MIT | |
| Stripe Projectsfossasia/eventyay | 1.7k | 5 repos | ~2k | Automated safety check: Notes | Apache-2.0 |
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
redis/go-redis
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.
antiwork/gumroad
Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.
redis/node-redis
Plan and execute runtime-behavior investigations with temporary TypeScript probe scripts, validation matrices, state controls, and findings-first reports.
fossasia/eventyay
A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.
redis/jedis
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.
strapi-community/plugin-rest-cache
Choose and write a Strapi REST Cache configuration for a specific use case.
strapi-community/plugin-rest-cache
Publish this plugin to npm - a production release, a pre-release, or an experimental build from a branch.
strapi-community/plugin-rest-cache
Diagnose why Strapi REST Cache is not caching, is serving stale content, or is caching the wrong thing.
strapi-community/plugin-rest-cache
Verify a change to this plugin before opening a PR. An agent skill from strapi-community/plugin-rest-cache.
Works with
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.
Add A Provider fits situations like: working in packages/provider-rest-cache-; implementing a storage backend; changing the CacheProvider contract.
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.
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.
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.
Going by SKILL.md and its folder, Add A Provider needs the command-line tools its instructions call (pnpm).
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.
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.
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.
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.
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.
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.