publish-mock-server
Automates the building and publishing of mock-server Docker images to the GitHub Container Registry.
Install
mkdir -p .claude/skills/publish-mock-server && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4405" && unzip -o skill.zip -d .claude/skills/publish-mock-server && rm skill.zipInstalls to .claude/skills/publish-mock-server
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Build and publish the mock-server Docker image to GitHub Container Registry. Use when mock server fixtures or code have changed and need to be published.Key capabilities
- →Builds multi-arch images (amd64/arm64)
- →Pushes images to GitHub Container Registry
- →Automates mock-server tag management
- →Verifies registry push results
How it works
Executes docker buildx commands to compile cross-platform images and pushes them to the remote registry.
Inputs & outputs
When to use publish-mock-server
- →Publishing updated mock API fixtures
- →Updating mock server images after code changes
- →Verifying multi-arch image builds
About this skill
Publish Mock Server
Build and publish the mock-server Docker image to ghcr.io/vfarcic/dot-ai-mock-server:latest.
Prerequisites
- Docker is installed and running (use
sudo dockerif your user is not in thedockergroup) - Authenticated to ghcr.io. The simplest path is to reuse the
ghtoken (needswrite:packagesscope):gh auth token | docker login ghcr.io -u vfarcic --password-stdin
Steps
Run all commands from the repository root. The build context is the
mock-server/directory (relative — do NOT hardcode an absolute path).
-
Set up a multi-arch builder (one-time per machine)
The default
dockerdriver cannot push a multi-platform manifest, and buildingarm64on anamd64host needs QEMU. Register the emulator and create a container-driver builder:docker run --privileged --rm tonistiigi/binfmt --install arm64 docker buildx create --name mockbuilder --driver docker-container --use --bootstrap -
Build and push multi-arch Docker image
Tag both
latestand the current dot-ai release version (so downstream repos can pin to a contract version instead of a digest). Derive the version from the rootpackage.json:VERSION=$(node -p "require('./package.json').version") docker buildx build --builder mockbuilder \ --platform linux/amd64,linux/arm64 \ -t ghcr.io/vfarcic/dot-ai-mock-server:latest \ -t ghcr.io/vfarcic/dot-ai-mock-server:$VERSION \ --push mock-server -
Verify the push
Confirm both tags resolve to the same digest and carry both platforms:
docker buildx imagetools inspect ghcr.io/vfarcic/dot-ai-mock-server:latestNote the manifest-list digest (
sha256:…) — downstream repos pin to it.
Usage
After publishing, consumers (like dot-ai-ui) can use:
services:
mock-api:
image: ghcr.io/vfarcic/dot-ai-mock-server:latest
ports:
- "3001:3001"
When to Publish
Run this skill when:
- Fixtures are added or modified in
mock-server/fixtures/ - Mock server code changes (
server.ts,routes.ts) - API schemas change that affect mock responses
Notes
- Publishes
latestplus an immutable version tag matching the dot-ai release (e.g.1.22.0).latestis mutable; downstream repos should pin to the version tag or the digest for reproducible tests. - Publishing is manual (not wired into CI/release), so re-run this skill after merging any change that affects the mock contract — cutting a dot-ai release does NOT rebuild the image.
- Image is ~230MB (Node.js alpine + fixtures)
When not to use it
- →When the Docker daemon is unavailable
- →When testing mock changes locally without sharing
Prerequisites
Limitations
- →Always overwrites the latest tag
- →Dependent on stable internet for registry push
How it compares
Standardizes the deployment of updated API fixtures for all dependent services, replacing manual image tagging.
Compared to similar skills
publish-mock-server side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| publish-mock-server (this skill) | 1 | 6mo | Review | Beginner |
| gcp-cloud-run | 5 | 5mo | Review | Intermediate |
| deployment-engineer | 4 | 4mo | No flags | Advanced |
| build-release | 1 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by vfarcic
View all by vfarcic →You might also like
gcp-cloud-run
aj-geddes
Deploy containerized applications on Google Cloud Run with automatic scaling, traffic management, and service mesh integration. Use for container-based serverless computing.
deployment-engineer
sickn33
Expert deployment engineer specializing in modern CI/CD pipelines, GitOps workflows, and advanced deployment automation. Masters GitHub Actions, ArgoCD/Flux, progressive delivery, container security, and platform engineering. Handles zero-downtime deployments, security scanning, and developer experience optimization. Use PROACTIVELY for CI/CD design, GitOps implementation, or deployment automation.
build-release
peteonrails
Build all voxtype binaries for release. Builds Whisper (AVX2, AVX-512, Vulkan) and Parakeet (AVX2, AVX-512, CUDA) binaries using Docker. Use when preparing a new release.
Docker image publishing
rcarmo
multi-arch image publishing to GHCR via GitHub Actions
deployment-patterns
DekaPrayoga
Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications.
deployment-pipeline-design
wshobson
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.