Agent skill

Test Minecraft Exporter

by dirien in dirien/minecraft-prometheus-exporter

End-to-end docker-compose test harness for the minecraft-prometheus-exporter.

Apache-2.0Auto-check passedDevOps & Cloud

Install Test Minecraft Exporter

skills CLI
$ npx skills add dirien/minecraft-prometheus-exporter --skill test-minecraft-exporter -a claude-code

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

GitHub CLI
$ gh skill install dirien/minecraft-prometheus-exporter test-minecraft-exporter --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/dirien/minecraft-prometheus-exporter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/test-minecraft-exporter .claude/skills/test-minecraft-exporter && 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
test-minecraft-exporter
GitHub stars
142
Token cost
~1.6k tokens
SKILL.md length
704 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

End-to-end docker-compose test harness for the minecraft-prometheus-exporter.

  • Works in 7 steps: Bring the stack up → Endpoints → Identify the MC version → …
  • The user wants to test the exporter end-to-end
  • SKILL.md covers Files this skill depends on, 1. Bring the stack up, 2. Endpoints and 3. Identify the MC version, plus 5 more sections
  • Calls docker and curl

What it does

Test Minecraft Exporter is an agent skill from dirien/minecraft-prometheus-exporter. End-to-end docker-compose test harness for the minecraft-prometheus-exporter. Spins up an itzg/minecraft-server:latest vanilla server alongside a freshly built exporter and walks the user through verifying metrics in a live browser/Prometheus session. Use this skill whenever the user wants to "test the exporter end-to-end", "verify metrics against a real Minecraft server", "spin up a local MC server", "run the docker compose test", scrape /metrics from a vanilla MC server, or sanity-check a code change in this…

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Monitoring and alerting, Containers and Web scraping. It works with Prometheus and Docker. The repository describes itself as: Minecraft Prometheus exporter. The licence is Apache-2.0.

When your agent uses it

  • The user wants to test the exporter end-to-end
  • Verify metrics against a real Minecraft server
  • Spin up a local MC server
  • Run the docker compose test

Example prompts

  • “test the exporter end-to-end”
  • “verify metrics against a real Minecraft server”
  • “spin up a local MC server”
  • “/test-minecraft-exporter”

Requirements

  • Docker

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Bring the stack up
  2. Endpoints
  3. Identify the MC version
  4. Connect a client
  5. Force a flush and inspect metrics
  6. The label-name quirk
  7. Tear down

What it can do on your machine

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

    • docker
    • curl

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

  • Network

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

Test Minecraft Exporter loads about 1.6k tokens when it runs. Until then it costs about 175 tokens; SKILL.md has 704 words of instructions outside code blocks.

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

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 dirien/minecraft-prometheus-exporter at commit 1935de7, republished under its Apache-2.0 licence (© dirien). 704 words, ~1,558 tokens.

Download SKILL.mdSave it as .claude/skills/test-minecraft-exporter/SKILL.md (or your agent's skills folder).
name
test-minecraft-exporter
description
End-to-end docker-compose test harness for the minecraft-prometheus-exporter. Spins up an itzg/minecraft-server:latest vanilla server alongside a freshly built exporter and walks the user through verifying metrics in a live browser/Prometheus session. Use this skill whenever the user wants to "test the exporter end-to-end", "verify metrics against a real Minecraft server", "spin up a local MC server", "run the docker compose test", scrape /metrics from a vanilla MC server, or sanity-check a code change in this repo before opening a PR — including cases where the user just says "let me see if it works" or "run the exporter against MC" without naming the compose file.

Test the minecraft-prometheus-exporter end-to-end

This is a runbook for booting docker-compose.test.yml and confirming the exporter scrapes a real Minecraft server. Run these steps in order from the repo root.

Files this skill depends on

Both live at the repo root and are checked into git:

  • docker-compose.test.yml — defines the minecraft (itzg/minecraft-server:latest, vanilla, RCON on, offline mode) and exporter services, plus a shared mc-data named volume so the exporter can read the world dir.
  • Dockerfile.dev — multi-stage golang:1.26-alpine → chainguard/static build of the exporter from source. Compose builds this image automatically with --build.

If either file is missing, do not improvise — flag it to the user. The compose setup has UID/volume specifics that are easy to get wrong.

1. Bring the stack up

bash
docker compose -f docker-compose.test.yml up -d --build

First boot takes ~90 seconds because the vanilla MC server has to download the JAR (resolved from VERSION: LATEST) and generate a world. The compose file has a service_healthy dependency on the MC container's mc-health healthcheck, so the exporter will only start once MC is ready — but docker compose up returns earlier than that. Tell the user this is expected; subsequent boots are much faster.

2. Endpoints

Once both containers are up, tell the user:

3. Identify the MC version

VERSION: LATEST means "whatever itzg's image considers latest at pull time" — useful but not self-documenting. Show the user which version was resolved so they know which client to use:

bash
docker exec mc-exporter-test-server bash -c 'ls /data/*.jar'

The jar filename embeds the version (e.g. minecraft_server.26.1.2.jar).

4. Connect a client

The server runs with ONLINE_MODE=FALSE, so any Java Edition client at the matching version can connect with any username — no Mojang/Microsoft auth needed. Just add a server pointed at localhost:25565.

Until a player connects at least once, MC doesn't create world/playerdata/, world/stats/, or world/advancements/. With an empty server, /metrics will only show minecraft_exporter_build_info. That's expected, not a bug.

5. Force a flush and inspect metrics

After the user has logged in and done a few things in-game (mine a block, walk around, jump), push MC to flush its in-memory stats:

bash
docker exec mc-exporter-test-server rcon-cli save-all

Then re-scrape:

bash
curl -s http://localhost:9150/metrics | grep '^minecraft_'

You should now see populated series — minecraft_blocks_mined_total, minecraft_jumps_total, minecraft_movement_meters_total{means="walk"}, minecraft_player_online{player="..."}, etc.

Quick sanity-check RCON too:

bash
docker exec mc-exporter-test-server rcon-cli list

6. The label-name quirk

The compose sets MC_NAME_SOURCE=offline. This means:

  • RCON-derived series (minecraft_player_online) carry the readable player name (e.g. player="_diri"), because the RCON list command returns names directly.
  • File-derived series (everything in world/stats/, world/playerdata/, world/advancements/) carry the raw UUID (e.g. player="8d34c913-…"), because the exporter only resolves names when name-source is mojang (calls playerdb.co) or bukkit (reads bukkit.lastKnownName from NBT).

In vanilla + offline mode neither alternative works: the offline UUID isn't registered with Mojang, and vanilla doesn't write the Bukkit name field. So offline (UUID-as-label) is the only honest choice for this test stack. If the user wants names everywhere they need a real online server or a Paper/Spigot/Purpur server. Don't try to "fix" this by switching MC_NAME_SOURCE — it will silently make things worse.

Show full SKILL.md (222 more words)Show less

7. Tear down

bash
docker compose -f docker-compose.test.yml down -v

The -v flag wipes the mc-data volume, so the next run starts from a fresh world. Drop -v if the user wants to keep the world (and their player progress) between runs — first boot is the slow one, subsequent boots reuse the existing world and skip generation.

Troubleshooting

permission denied on /mc/world/playerdata in the exporter logs: Confirm the exporter service in docker-compose.test.yml still has user: "1000:1000". The itzg image writes the world as UID 1000, and the chainguard/static base used by the exporter defaults to UID 65532, so without the UID override the read-only mount is unreadable. This is the single most likely thing to break if someone refactors the compose file.

Exporter starts before MC is ready and crashes on RCON dial: Shouldn't happen — the compose file uses depends_on: minecraft: condition: service_healthy. If it does, check whether someone removed the healthcheck or the condition: block.

/metrics only ever shows minecraft_exporter_build_info: No player has joined the server yet. Connect at least once, do something in-game, then rcon-cli save-all and re-scrape. The exporter has no synthetic mode — empty world means empty metrics.

MC won't pull a new version / boot loops: VERSION: LATEST can occasionally lag behind a brand-new Minecraft release while itzg's image catches up. Pin to a specific version (e.g. VERSION: "1.21.4") in the compose file as a workaround.

© dirien, Apache-2.0. 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/test-minecraft-exporter of dirien/minecraft-prometheus-exporter.

Open the folder on GitHubat commit 1935de7

Compare with similar skills

Test Minecraft Exporter 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.

Test Minecraft Exporter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Test Minecraft Exporter this skilldirien/minecraft-prometheus-exporter142—~1.6kAutomated safety check: PassApache-2.0
Alloygrafana/skills279—~1.3kAutomated safety check: PassApache-2.0
Build Imageskubernetes-sigs/cloud-provider-azure294—~1.7kAutomated safety check: PassApache-2.0
Dashboard Previewm4r1k/Eneru149—~1.4kAutomated safety check: PassMIT
Publishing Releasepambrose/prometheus-proxy157—~506Automated safety check: PassApache-2.0
Qdrant Advisorqdrant/skills253—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Alloy

    grafana/skills

    Official

    Build a unified telemetry pipeline with Grafana Alloy — one OpenTelemetry-compatible binary that collects metrics, logs, traces, and profiles and ships to Grafana Cloud / Prometheus / Loki / Tempo /…

    279 GitHub stars~1.3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Build Images

    kubernetes-sigs/cloud-provider-azure

    Official

    Build cloud-provider-azure container images through the repo Makefile with explicit IMAGETAG and IMAGEREGISTRY inputs, optional make flag overrides, and opt-in bounded Docker or Podman retries.

    294 GitHub stars~1.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Visually verify Eneru browser-dashboard changes against a live daemon or audit an exact deployment.

    149 GitHub stars~1.4k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Publishing Release

    pambrose/prometheus-proxy

    A skill your agent uses when publishing prometheus-proxy to Maven Central, cutting a release, running a snapshot publish, or bumping the project version — covers the Maven Central coordinates, GPG…

    157 GitHub stars~506 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Qdrant Advisor

    qdrant/skills

    Official

    Diagnose, troubleshoot, and advise on any Qdrant deployment by loading the latest official Qdrant skills live from skills.qdrant.tech.

    253 GitHub stars~1.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Plugin Test

    apache/skywalking-python

    Build Docker test images and run SkyWalking Python plugin/unit/e2e tests locally, mirroring the CI pipeline

    219 GitHub stars~2.3k tokensUpdated today
    DevOps & CloudAuto-check passed

Categories

Questions about Test Minecraft Exporter

What does Test Minecraft Exporter do?

End-to-end docker-compose test harness for the minecraft-prometheus-exporter. Test Minecraft Exporter is an agent skill from dirien/minecraft-prometheus-exporter. End-to-end docker-compose test harness for the minecraft-prometheus-exporter.

When should I use Test Minecraft Exporter?

Test Minecraft Exporter fits situations like: the user wants to test the exporter end-to-end; verify metrics against a real Minecraft server; spin up a local MC server; run the docker compose test.

How do I install Test Minecraft Exporter in Claude Code?

Run `npx skills add dirien/minecraft-prometheus-exporter --skill test-minecraft-exporter -a claude-code`. Or copy the skill folder (.claude/skills/test-minecraft-exporter in dirien/minecraft-prometheus-exporter) into .claude/skills/test-minecraft-exporter in your project. Claude Code loads it when a task matches its description.

How do I install Test Minecraft Exporter in Codex?

Run `npx skills add dirien/minecraft-prometheus-exporter --skill test-minecraft-exporter -a codex`. Or copy the skill folder (.claude/skills/test-minecraft-exporter in dirien/minecraft-prometheus-exporter) into .agents/skills/test-minecraft-exporter in your project. Codex loads it when a task matches its description.

Can I use Test Minecraft Exporter 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 dirien/minecraft-prometheus-exporter --skill test-minecraft-exporter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/test-minecraft-exporter, .gemini/skills/test-minecraft-exporter, .github/skills/test-minecraft-exporter and .opencode/skills/test-minecraft-exporter in your project.

What does Test Minecraft Exporter need to run?

Going by SKILL.md and its folder, Test Minecraft Exporter needs the command-line tools its instructions call (docker and curl). Our summary lists: Docker.

Does Test Minecraft Exporter access the network?

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

Is Test Minecraft Exporter 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 Test Minecraft Exporter use?

Test Minecraft Exporter is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Test Minecraft Exporter use?

About 1.6k tokens (SKILL.md is roughly 6.2k 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 Test Minecraft Exporter?

Skills that share tags, products or a category with Test Minecraft Exporter: Alloy (grafana/skills, 279 stars), Build Images (kubernetes-sigs/cloud-provider-azure, 294 stars), Dashboard Preview (m4r1k/Eneru, 149 stars) and Publishing Release (pambrose/prometheus-proxy, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Test Minecraft Exporter?

dirien (a GitHub user) maintains it in dirien/minecraft-prometheus-exporter, which has 142 GitHub stars. The repository was last updated on August 26, 2026.

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