Bump the default Redis docker test image (redislabs/client-libs-test) in the shared DEFAULT_DOCKER_CONFIG and the CI matrix, then force-push the bump-test-image branch and open a PR against upstream. User-invoked only.
npx skills add https://github.com/redis/node-redis --skill bump-test-image
Updates the default redislabs/client-libs-test docker tag used by tests (a single shared config in @redis/test-utils), adjusts the CI matrix, commits on a freshly-reset bump-test-image branch, force-pushes it, and opens (or updates) a PR against redis/node-redis master.
8.8.0, 8.8-rc1, custom-28772936538-debian, unstable-24425681442-debian. If given as redislabs/client-libs-test:<tag>, strip the image name.8.10.8.8.0 → 8.8, 8.8-rc1 → 8.8, 8.8-m03 → 8.8.custom-* / unstable-* tags — if missing, ask the user which Redis version the tag maps to before doing anything else.If no tag was given at all, ask for it and stop.
Remotes: upstream = redis/node-redis (canonical), origin = the user's fork.
git fetch upstream
git rev-parse --abbrev-ref HEAD # remember current branch
Update local master to upstream:
git reset --hard upstream/master (only if working tree is clean — if dirty, stop and tell the user).git fetch upstream master:master (fails safely if master has local-only commits; if it fails, stop and report).git checkout -B bump-test-image master
-B creates or hard-resets the branch to latest master. Any previous bump commits on it are intentionally discarded (the branch is recycled for each bump; force-push later matches this).
The default image config lives in exactly ONE place:
packages/test-utils/lib/index.ts → DEFAULT_DOCKER_CONFIG:
export const DEFAULT_DOCKER_CONFIG: TestUtilsConfig = {
dockerImageName: 'redislabs/client-libs-test',
dockerImageTagArgument: 'redis-tag',
dockerImageVersionArgument: 'redis-version',
defaultDockerVersion: { tag: '<old-tag>', version: '<old-version>' }
};
Note the old tag/version, then replace them with the new values on the defaultDockerVersion line. Nothing else in the file changes.
If DEFAULT_DOCKER_CONFIG does not exist in that file (e.g. master predates the dedupe refactor), STOP and tell the user — do not fall back to editing per-package test-utils files without confirmation.
File: .github/workflows/tests.yml, matrix → redis entries of the form:
- tag: "8.8.0"
version: "8.8"
Two cases, decided by comparing the new version with the old default version from Step 3:
- tag/version entry at the end of the matrix list, keeping the previous entry so CI retains coverage of the prior version.tag of the existing entry for that version; the version line stays.grep -rn "defaultDockerVersion:" packages --include="*.ts" | grep -v dist | grep -v node_modules
Exactly one config line (in packages/test-utils/lib/index.ts) must show the new tag/version; any other hits are the type definition / JSDoc examples, not real defaults. Also confirm git diff --stat touches exactly 2 files: packages/test-utils/lib/index.ts + .github/workflows/tests.yml.
Fill in this template exactly (Conventional Commits):
chore(tests): bump default docker test image to <X>
Bump the default Redis test image from <old-tag> to <new-tag> (Redis
<version>) in DEFAULT_DOCKER_CONFIG, and <matrix-action> the CI matrix.
<X>: the human-meaningful version when the tag is version-shaped (8.10, 8.8.0, 8.8-rc1, 8.8-m03); the full tag for unstable-* builds; the version for custom-* tags (the actual tag already appears in the body as <new-tag>).<matrix-action>: either add an <version> entry to (keeping prior-version coverage) or update the <version> entry in, matching what Step 4 did.Example:
chore(tests): bump default docker test image to 8.10
Bump the default Redis test image from 8.8.0 to custom-28772936538-debian
(Redis 8.10) in DEFAULT_DOCKER_CONFIG, and add an 8.10 entry to the CI
matrix.
Keep any company-internal references (Jira/Confluence IDs, internal links) out of the commit and PR.
git push -f origin bump-test-image
Then check for an existing open PR before creating one:
gh pr list --repo redis/node-redis --head <fork-owner>:bump-test-image --state open
(<fork-owner> = GitHub owner from the origin remote URL.)
gh pr edit to match the new tag.gh pr create --repo redis/node-redis --base master --head <fork-owner>:bump-test-image \
--title "<commit subject>" \
--body "<commit body>"
Finish by reporting: old → new tag/version, matrix action taken (added vs replaced entry), and the PR URL.
Analyze text and images for harmful content with customizable blocklists.
Azure AI Content Understanding SDK for Python. Use for multimodal content extraction from documents, images, audio, and video.
Azure OpenAI SDK for .NET. Client library for Azure OpenAI and OpenAI services. Use for chat completions, embeddings, image generation, audio transcription, and assistants.
Azure AI Voice Live SDK for .NET. Build real-time voice AI applications with bidirectional WebSocket communication.
Build real-time voice AI applications with bidirectional WebSocket communication.
Azure Speech to Text REST API for short audio (Python). Use for simple speech recognition of audio files up to 60 seconds without the Speech SDK.
Expert at handling file uploads and cloud storage. Covers S3, Cloudflare R2, presigned URLs, multipart uploads, and image optimization. Knows how to handle large files without blocking.
Expert Mermaid diagram creation, validation, and rendering with dual-engine output (SVG/PNG/ASCII). Supports all 20+ diagram types including C4 architecture, AWS architecture-beta with service icons, flowcharts, sequence, ERD, state, class, mindmap, timeline, git graph, sankey, and more. Features code-to-diagram analysis, batch rendering, 15+ themes, and syntax validation. Use when users ask to create diagrams, visualize architecture, render mermaid files, generate ASCII diagrams, document system flows, model databases, draw AWS infrastructure, analyze code structure, or anything involving "mermaid", "diagram", "flowchart", "architecture diagram", "sequence diagram", "ERD", "C4", "ASCII diagram". Do NOT use for non-Mermaid image generation, data plotting with chart libraries, or general documentation writing.
Take redis/bump-test-image from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.