Official agent skill

Redis Test Image Update

by redis in redis/go-redis

Keeps every reference to the redislabs client-libs-test image tag in sync across the Makefile, compose file, GitHub workflows and docs when a Redis test version changes.

OfficialBSD-2-ClauseAuto-check passedDevOps & Cloud

Install Redis Test Image Update

skills CLI
$ npx skills add redis/go-redis --skill update-ci-image -a claude-code

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

GitHub CLI
$ gh skill install redis/go-redis update-ci-image --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/redis/go-redis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/update-ci-image .claude/skills/update-ci-image && 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
update-ci-image
GitHub stars
22k
Token cost
~1.5k tokens
SKILL.md length
678 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
BSD-2-Clause

At a glance

Keeps every reference to the redislabs client-libs-test image tag in sync across the Makefile, compose file, GitHub workflows and docs when a Redis test version changes.

  • Works in 6 steps: Makefile — replace the tag after… → docker-compose.yml — replace the tag in… → .github/workflows/build.yml — update the… → …
  • Bumping the redislabs/client-libs-test tag for a Redis version
  • SKILL.md covers The six locations, Tasks, Verification and Gotchas
  • Calls make and docker

What it does

In the go-redis repository the test image is named in six places: the Makefile default, the docker-compose fallback, two copies of a Redis version-to-tag mapping in the build workflow and the run-tests action, a hardcoded image in the doctests workflow, and a prose line in CONTRIBUTING.md. Missing one makes local `make test` and CI diverge or leaves a single job on the wrong image, so the skill insists on editing all relevant places in one change.

For a tag bump on an existing Redis version, the steps go through each file in order. The two mapping arrays must stay in lockstep, the doctests image changes only when doctests should run against that version because they usually pin to the latest stable, and the CONTRIBUTING line is easy to forget since nothing breaks when it goes stale. If the Makefile default and the mapping for the same minor version disagree, that is treated as a bug.

When your agent uses it

  • Bumping the redislabs/client-libs-test tag for a Redis version
  • Adding or removing a Redis version in the CI test matrix
  • Checking that the Makefile, compose file and workflows agree on one image tag

Example prompts

  • “Update the CI test image tag for the newest Redis release in all six places.”
  • “Check that the Makefile default and the build workflow mapping point to the same image tag.”
  • “Remove an old Redis version from the test image mapping and keep CONTRIBUTING.md in sync.”

Requirements

  • A checkout of the go-redis repository

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Makefile — replace the tag after redislabs/client-libs-test: on the CLIENT_LIBS_TEST_IMAGE line.
  2. docker-compose.yml — replace the tag in the :-redislabs/client-libs-test: default.
  3. .github/workflows/build.yml — update the ["8.X.x"]="" line in redis_version_mapping.
  4. .github/actions/run-tests/action.yml — update the matching ["8.X.x"]="" line.
  5. .github/workflows/doctests.yaml — update the image: line only if doctests should run against this version. Doctests typically pin to the…
  6. CONTRIBUTING.md — update the "By default the docker image … is redislabs/client-libs-test:." prose line to match the new Makefile default…

What it can do on your machine

Read from SKILL.md and the folder at commit 07b88b5. 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:

    • make
    • docker

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

  • Network

    No URLs in SKILL.md. Its commands use docker, 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

Redis Test Image Update loads about 1.5k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 678 words of instructions outside code blocks.

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

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 redis/go-redis at commit 07b88b5, republished under its BSD-2-Clause licence (© redis). 678 words, ~1,482 tokens.

Download SKILL.mdSave it as .claude/skills/update-ci-image/SKILL.md (or your agent's skills folder).
name
update-ci-image
description
Use when adding, updating, or removing a `redislabs/client-libs-test` image tag used by the test stack — covers every place a Redis version → image-tag mapping lives so local `make test` and GitHub CI stay in sync.

Updating the CI test image

The redislabs/client-libs-test image is referenced in six places (five live config + one doc). Miss one and either local make test and CI diverge, or a single CI job uses the wrong image. Always edit all relevant locations in one change.

The six locations

#FileWhat lives here
1MakefileCLIENT_LIBS_TEST_IMAGE ?= redislabs/client-libs-test:<tag> — default for local make test / make docker.start.
2docker-compose.ymlx-default-image: &default-image ${CLIENT_LIBS_TEST_IMAGE:-redislabs/client-libs-test:<tag>} — fallback when the env var is unset. Should match the Makefile default.
3.github/workflows/build.ymlredis_version_mapping bash assoc array (["8.X.x"]="<tag>"). Drives the benchmark job and the test-redis-ce matrix via run-tests.
4.github/actions/run-tests/action.ymlIdentical redis_version_mapping array — the composite action that the matrix jobs invoke. Keep in lockstep with build.yml.
5.github/workflows/doctests.yamlHardcoded image: redislabs/client-libs-test:<tag> on the redis-stack service — doctests do not consult the mapping.
6CONTRIBUTING.mdProse line "By default the docker image … is redislabs/client-libs-test:<tag>." Documentation only — no CI impact, but goes stale silently. Update it to match the Makefile default.

Tasks

Update the tag for an existing Redis version (e.g. bump 8.8 → a new release)
  1. Makefile — replace the tag after redislabs/client-libs-test: on the CLIENT_LIBS_TEST_IMAGE line.
  2. docker-compose.yml — replace the tag in the :-redislabs/client-libs-test:<tag> default.
  3. .github/workflows/build.yml — update the ["8.X.x"]="<tag>" line in redis_version_mapping.
  4. .github/actions/run-tests/action.yml — update the matching ["8.X.x"]="<tag>" line.
  5. .github/workflows/doctests.yaml — update the image: line only if doctests should run against this version. Doctests typically pin to the latest stable; check before changing.
  6. CONTRIBUTING.md — update the "By default the docker image … is redislabs/client-libs-test:<tag>." prose line to match the new Makefile default. This one is easy to forget because nothing breaks when it's stale.

If the version that doctests run against (Makefile default) and the mapping for that same minor version diverge, you have a bug — they should resolve to the same tag.

Add a new Redis version to the CI matrix
  1. .github/workflows/build.yml:
    • Add - "<X.Y>.x" to both redis-version matrices (the benchmark job and the test-redis-ce job — they have separate lists).
    • Add ["<X.Y>.x"]="<tag>" to redis_version_mapping.
  2. .github/actions/run-tests/action.yml — add the same ["<X.Y>.x"]="<tag>" entry to its redis_version_mapping.
  3. If this becomes the new default for local dev, also update Makefile (REDIS_VERSION ?= and CLIENT_LIBS_TEST_IMAGE ?=) and docker-compose.yml.
Remove a Redis version
  1. .github/workflows/build.yml — drop the - "<X.Y>.x" line from both redis-version matrices and the ["<X.Y>.x"]="..." entry.
  2. .github/actions/run-tests/action.yml — drop the same ["<X.Y>.x"]="..." mapping entry.
  3. If Makefile / docker-compose.yml / doctests.yaml were pinned to this version, pick a replacement (usually the next-newest version still in the matrix) and update them too, along with the CONTRIBUTING.md prose line.
Show full SKILL.md (270 more words)Show less
Switch to a custom build (e.g. custom-26172898734-debian for an unreleased server feature)

Same as "update the tag," but think about scope:

  • Custom tags usually correspond to a single Redis minor — only touch the mapping entry for that minor, not all five rows.
  • Custom tags often shouldn't be the local default if they're transient. Confirm with the user before touching Makefile / docker-compose.yml.
  • Leave REDIS_VERSION (the numeric 8.8 / 8.6 etc.) alone — it drives SkipBeforeRedisVersion gating in main_test.go, not the image. The custom image still reports its base version.

Verification

After editing, search for any stale tag references:

sh
# Use the Grep tool, not bash grep.
# Pattern: literal old tag, e.g. "8.8-rc1" or "client-libs-test:8.8"

Expected matches: zero in Makefile, docker-compose.yml, .github/**, and CONTRIBUTING.md. A reference in AGENTS.md or the testing skill documentation (e.g. "e.g. redislabs/client-libs-test:8.8-m03") is illustrative — leave it unless the doc is misleading after the change.

Gotchas

  • Two mappings, not one. build.yml and run-tests/action.yml each declare their own redis_version_mapping. They are not deduped. Always edit both.
  • Two matrices in build.yml. The benchmark job and the test-redis-ce job each have their own redis-version list. Adding/removing a version means editing both.
  • doctests.yaml is hardcoded. It doesn't read the mapping. If the team intends "doctests follow the latest stable," verify the tag matches Makefile's default after any change.
  • Don't change REDIS_VERSION when only swapping the image. The number gates version-specific test skips (SkipBeforeRedisVersion(8.8, ...)). A custom image built off 8.8 should keep REDIS_VERSION=8.8.
  • Env var vs. default. Local users can override with CLIENT_LIBS_TEST_IMAGE=...; docker-compose.yml uses that env var first and falls back to its baked-in default. So the docker-compose default only matters when the Makefile isn't driving things — but it's still load-bearing for direct docker compose up calls. Keep it in sync.

© redis, BSD-2-Clause. 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/update-ci-image of redis/go-redis.

Open the folder on GitHubat commit 07b88b5

Compare with similar skills

Redis Test Image Update 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.

Redis Test Image Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Redis Test Image Update this skillredis/go-redis22k—~1.5kAutomated safety check: PassBSD-2-Clause
Tgf Server Devthkhxm/tgf128—~1.3kAutomated safety check: NotesMIT
Releasing MarchatCod-e-Codes/marchat137—~801Automated safety check: PassMIT
Deployment and CI/CD Patternsaffaan-m/ECC275k6 repos~2.8kAutomated safety check: PassMIT
Educates Upgrade Goeducates/educates-training-platform161—~1.4kAutomated safety check: NotesApache-2.0
Cicdthun-res/vlink115—~856Automated safety check: PassApache-2.0

Similar skills

  • Tgf Server Dev

    thkhxm/tgf

    基于 tgf v2(github.com/thkhxm/tgf/v2)用确定性的 tgfctl 工作流创建、验证和维护 Go 游戏服务器项目。

    128 GitHub stars~1.3k tokensUpdated 2 mo ago
    DatabasesAuto-check: notes
  • Releasing Marchat

    Cod-e-Codes/marchat

    Prepares marchat releases: version bumps, CHANGELOG, packaging checksums, GitHub Actions release workflow, and Docker tags.

    137 GitHub stars~801 tokensUpdated 5 days ago
    DevOps & CloudAuto-check passed
  • Covers rolling, blue-green and canary deployments, multi-stage Dockerfiles, a GitHub Actions pipeline, health checks and production readiness for web apps.

    275k GitHub starsUsed in 6 repos~2.8k tokens
    DevOps & CloudAuto-check passed
  • Educates Upgrade Go

    educates/educates-training-platform

    Upgrade the Go version across the entire educates-training-platform project.

    161 GitHub stars~1.4k tokensUpdated 5 days ago
    DevOps & CloudAuto-check: notes
  • Cicd

    thun-res/vlink

    用 gh CLI 触发/查看 GitHub CI/CD:手动 dispatch 工作流 (release/coverage/docker)、查看运行状态与失败日志、重跑失败 job.

    115 GitHub stars~856 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Cloudrun Development

    TencentCloudBase/CloudBase-AI-Toolkit

    CloudBase Run backend development rules (Function mode/Container mode).

    1.1k GitHub starsUsed in 1 repo~7.2k tokens
    DatabasesAuto-check passed

More from redis/go-redis

  • 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
    Auto-check passed
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Official

    Explains how to run go-redis tests: the Docker Compose stack, make targets, focusing a single Ginkgo spec, the e2e suite and the version environment variables.

    22k GitHub stars~786 tokensUpdated yesterday
    Auto-check passed
  • Official

    Sets the commit message and PR conventions for the go-redis repository: Conventional Commits, the repo's scope names, breaking-change syntax and no AI trailer.

    22k GitHub stars~429 tokensUpdated yesterday
    Auto-check passed

Questions about Redis Test Image Update

What does Redis Test Image Update do?

Keeps every reference to the redislabs client-libs-test image tag in sync across the Makefile, compose file, GitHub workflows and docs when a Redis test version changes. md. Missing one makes local `make test` and CI diverge or leaves a single job on the wrong image, so the skill insists on editing all relevant places in one change.

When should I use Redis Test Image Update?

Redis Test Image Update fits situations like: bumping the redislabs/client-libs-test tag for a Redis version; adding or removing a Redis version in the CI test matrix; checking that the Makefile, compose file and workflows agree on one image tag.

How do I install Redis Test Image Update in Claude Code?

Run `npx skills add redis/go-redis --skill update-ci-image -a claude-code`. Or copy the skill folder (.claude/skills/update-ci-image in redis/go-redis) into .claude/skills/update-ci-image in your project. Claude Code loads it when a task matches its description.

How do I install Redis Test Image Update in Codex?

Run `npx skills add redis/go-redis --skill update-ci-image -a codex`. Or copy the skill folder (.claude/skills/update-ci-image in redis/go-redis) into .agents/skills/update-ci-image in your project. Codex loads it when a task matches its description.

Can I use Redis Test Image Update 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 redis/go-redis --skill update-ci-image -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-ci-image, .gemini/skills/update-ci-image, .github/skills/update-ci-image and .opencode/skills/update-ci-image in your project.

What does Redis Test Image Update need to run?

Going by SKILL.md and its folder, Redis Test Image Update needs the command-line tools its instructions call (make and docker). Our summary lists: A checkout of the go-redis repository.

Does Redis Test Image Update access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Redis Test Image Update 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 Redis Test Image Update use?

Redis Test Image Update is published under the BSD-2-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Redis Test Image Update use?

About 1.5k tokens (SKILL.md is roughly 5.9k 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 Redis Test Image Update?

Skills that share tags, products or a category with Redis Test Image Update: Tgf Server Dev (thkhxm/tgf, 128 stars), Releasing Marchat (Cod-e-Codes/marchat, 137 stars), Deployment and CI/CD Patterns (affaan-m/ECC, 275k stars) and Educates Upgrade Go (educates/educates-training-platform, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Redis Test Image Update?

redis (a GitHub organization, an official publisher) maintains it in redis/go-redis, which has 22,259 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.

Source: redis/go-redis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.