PU

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.zip

Installs 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.
153 chars✓ has a “when” trigger
Beginner

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

You give it
Path to mock-server source
You get back
Image URL published to ghcr.io

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 docker if your user is not in the docker group)
  • Authenticated to ghcr.io. The simplest path is to reuse the gh token (needs write:packages scope):
    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).

  1. Set up a multi-arch builder (one-time per machine)

    The default docker driver cannot push a multi-platform manifest, and building arm64 on an amd64 host 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
    
  2. Build and push multi-arch Docker image

    Tag both latest and the current dot-ai release version (so downstream repos can pin to a contract version instead of a digest). Derive the version from the root package.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
    
  3. 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:latest
    

    Note 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 latest plus an immutable version tag matching the dot-ai release (e.g. 1.22.0). latest is 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

dockerGitHub Container Registry authentication

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.

SkillInstallsUpdatedSafetyDifficulty
publish-mock-server (this skill)16moReviewBeginner
gcp-cloud-run55moReviewIntermediate
deployment-engineer44moNo flagsAdvanced
build-release15moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry