agentleFS
hyperlane-xyzhyperlane-xyz/hyperlane-monorepo/.agents/skills/find-docker-image/SKILL.md

find-docker-image

Skill76 starsChanged 20 days agoApache-2.0View on GitHub

Find existing Hyperlane Docker images on GHCR (ghcr.io/hyperlane-xyz/*). The hyperlane-node-services image is a unified image. Set SERVICE_NAME env var at runtime to select which service to run. Use the mutable branch tag directly: Query the OCI registry API (no auth needed for public images): Replace <IMAGE> with the image name (e.g. hyperlane-agent). Grep the tag list for a sha prefix: Look up the sha from the last successful build: Then match the sha against the GHCR tag list.

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the mutable branch tag directly:

    line 33
  2. Distinctive:

    Look up the sha from the last successful build:

    line 61
  3. Distinctive:

    Use the appropriate method above to find the tag.

    line 85
  4. Very specific:

    If no image exists for their branch/commit, suggest using /build-docker-image to trigger one.

    line 87

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Find Docker Images

Find existing Hyperlane Docker images on GHCR (ghcr.io/hyperlane-xyz/*).

Image Repositories

ImageContents
hyperlane-agentRust relayer, validator, scraper
hyperlane-monorepoFull TS/Solidity monorepo
hyperlane-node-servicesAll TS node services (rebalancer, warp-monitor, ccip-server, keyfunder, relayer)

The hyperlane-node-services image is a unified image. Set SERVICE_NAME env var at runtime to select which service to run.

Tag Format

  • Commit tags: <7-char-sha>-<YYYYMMDD>-<HHMMSS> (e.g. c558a9f-20260304-105241) — immutable, used in production
  • Branch tags: main, my-feature-branch — mutable, overwritten on each build
  • PR tags: pr-123 — ephemeral, cleaned up after 1 week

How to Find Images

Latest image for a branch

Use the mutable branch tag directly:

ghcr.io/hyperlane-xyz/hyperlane-agent:main

List all tags for an image

Query the OCI registry API (no auth needed for public images):

TOKEN=$(curl -s "https://ghcr.io/token?service=ghcr.io&scope=repository:hyperlane-xyz/<IMAGE>:pull" | jq -r .token)
curl -s -H "Authorization: Bearer $TOKEN" "https://ghcr.io/v2/hyperlane-xyz/<IMAGE>/tags/list" | jq '.tags'

Replace <IMAGE> with the image name (e.g. hyperlane-agent).

Find tag for a specific commit

Grep the tag list for a sha prefix:

TOKEN=$(curl -s "https://ghcr.io/token?service=ghcr.io&scope=repository:hyperlane-xyz/<IMAGE>:pull" | jq -r .token)
curl -s -H "Authorization: Bearer $TOKEN" "https://ghcr.io/v2/hyperlane-xyz/<IMAGE>/tags/list" | jq -r '.tags[]' | grep '<SHA_PREFIX>'

Find tag from latest workflow run

Look up the sha from the last successful build:

# Agent builds
gh run list --workflow=rust-docker.yml --branch=main --status=success --limit=1 --json headSha,createdAt --jq '.[0] | "\(.headSha[:7]) built \(.createdAt)"'

# Monorepo builds
gh run list --workflow=monorepo-docker.yml --branch=main --status=success --limit=1 --json headSha,createdAt --jq '.[0] | "\(.headSha[:7]) built \(.createdAt)"'

# Node service builds
gh run list --workflow=node-services-docker.yml --branch=main --status=success --limit=1 --json headSha,createdAt --jq '.[0] | "\(.headSha[:7]) built \(.createdAt)"'

Then match the sha against the GHCR tag list.

Check what's currently deployed in production

grep -E '(tag|Tag)' typescript/infra/config/docker.ts

Instructions

  1. Determine what the user needs: latest for a branch, a specific commit, or what's deployed.
  2. Use the appropriate method above to find the tag.
  3. Return the full image reference: ghcr.io/hyperlane-xyz/<image>:<tag>.
  4. If no image exists for their branch/commit, suggest using /build-docker-image to trigger one.

References

  • To trigger a new build, use the /build-docker-image skill.
  • See docs/docker-image-policy.md for the full Docker image policy.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.