Official agent skill

Run Jmh Benchmarks Hetzner

by JetBrains in JetBrains/youtrackdb

Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server.

OfficialApache-2.0Auto-check: warnings

Install Run Jmh Benchmarks Hetzner

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner -a claude-code

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

GitHub CLI
$ gh skill install JetBrains/youtrackdb run-jmh-benchmarks-hetzner --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/JetBrains/youtrackdb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/run-jmh-benchmarks-hetzner .claude/skills/run-jmh-benchmarks-hetzner && 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
run-jmh-benchmarks-hetzner
GitHub stars
439
Token cost
~3.7k tokens
SKILL.md length
1,402 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server.

  • Works in 10 steps: Determine benchmark module and parameters → Provision the server → Install JDK 21 → …
  • Explicitly asks to run JMH benchmarks on a Hetzner server
  • SKILL.md covers Prerequisites, Workflow, Troubleshooting and Notes
  • Calls ssh, git and hcloud; needs HETZNER_S3_ACCESS_KEY and HETZNER_S3_SECRET_KEY

What it does

Run Jmh Benchmarks Hetzner is an agent skill from JetBrains/youtrackdb, published by the product's own GitHub organization. Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server. Use ONLY when the user explicitly asks to run JMH benchmarks on a Hetzner server. Do NOT trigger for general benchmark requests or local benchmark runs.

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

The repository describes itself as: YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB… The licence is Apache-2.0.

When your agent uses it

  • Explicitly asks to run JMH benchmarks on a Hetzner server
  • General benchmark requests
  • Local benchmark runs

Example prompts

  • “/run-jmh-benchmarks-hetzner”

Requirements

  • Python 3
  • A credential in HETZNER_S3_ACCESS_KEY
  • A credential in HETZNER_S3_SECRET_KEY

Workflow steps

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

  1. Determine benchmark module and parameters
  2. Provision the server
  3. Install JDK 21
  4. Deploy the project
  5. Compile
  6. Run benchmarks
  7. Monitor progress
  8. Collect results
  9. Destroy the server
  10. Compare results

What it can do on your machine

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

    • ssh
    • git
    • hcloud
    • curl
    • apt-get
    • java
    • rsync
    • python3
    • scp

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

  • Network

    No URLs in SKILL.md. Its commands use ssh, git, curl, rsync and scp, 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 these keys or tokens, usually read from environment variables:

    • HETZNER_S3_ACCESS_KEY
    • HETZNER_S3_SECRET_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run Jmh Benchmarks Hetzner loads about 3.7k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,402 words of instructions outside code blocks.

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

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: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:12
    - SSH key pair at `~/.ssh/id_ed25519` (or `~/.ssh/id_rsa`)
  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:47
    name "$KEY_NAME" --public-key-from-file ~/.ssh/id_ed25519.pub
  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:57
    ssh-keygen -f ~/.ssh/known_hosts -R <IP>
  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:265
    SSH host key conflict | `ssh-keygen -f ~/.ssh/known_hosts -R <IP>` |

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 JetBrains/youtrackdb at commit 78d0f15, republished under its Apache-2.0 licence (© JetBrains). 1,402 words, ~3,679 tokens.

Download SKILL.mdSave it as .claude/skills/run-jmh-benchmarks-hetzner/SKILL.md (or your agent's skills folder).
name
run-jmh-benchmarks-hetzner
description
Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server. Use ONLY when the user explicitly asks to run JMH benchmarks on a Hetzner server. Do NOT trigger for general benchmark requests or local benchmark runs.
user-invocable
true

Provision a dedicated Hetzner cloud server, deploy the current working tree, run JMH benchmarks from any module, download results, and tear down the server.

Prerequisites

  • hcloud CLI installed and authenticated (hcloud version to verify)
  • SSH key pair at ~/.ssh/id_ed25519 (or ~/.ssh/id_rsa)
  • The benchmark module compiles locally

Workflow

Step 0: Determine benchmark module and parameters

Ask the user (or infer from context) which benchmark module to run. The project may contain multiple JMH benchmark modules. Common examples:

  • jmh-ldbc — LDBC SNB read query benchmarks (default if user says "run benchmarks")
  • Other modules with JMH dependencies — check for jmh-core dependency in pom.xml

Determine:

  • Module name (-pl <module>)
  • JMH regex filter (which benchmarks to include/exclude)
  • JMH parameters (forks, warmup, measurement iterations)

Defaults (good for comparison runs):

  • -f 1 -wi 3 -w 5s -i 5 -r 10s

For jmh-ldbc specifically:

  • Expected runtime: ~90 minutes for 40 benchmarks (20 queries x 2 suites) with -f 1 -wi 3 -w 5s -i 5 -r 10s
  • Expected runtime: ~7-8 hours for a full validation run using class-level annotations (no -Djmh.args override — each tier has its own fork/warmup/measurement settings)
Step 1: Provision the server

Naming convention: Use jmh-bench-<branch> for the server and jmh-bench-key-<branch> for the SSH key, where <branch> is the current git branch name (sanitized: lowercase, slashes replaced with dashes, truncated to keep total name under 63 chars). This avoids conflicts when multiple benchmark runs execute concurrently on different branches.

bash
# Determine branch-based names
BRANCH=$(git rev-parse --abbrev-ref HEAD | tr '[:upper:]/' '[:lower:]-' | cut -c1-40)
SERVER_NAME="jmh-bench-${BRANCH}"
KEY_NAME="jmh-bench-key-${BRANCH}"

# Upload local SSH public key
hcloud ssh-key create --name "$KEY_NAME" --public-key-from-file ~/.ssh/id_ed25519.pub

# Create CCX33: 8 dedicated AMD vCPUs, 32 GB RAM, Falkenstein DC
hcloud server create --name "$SERVER_NAME" --type ccx33 --image ubuntu-24.04 --location fsn1 --ssh-key "$KEY_NAME"

Record the IPv4 address from the output. Wait ~15 seconds for the server to boot before attempting SSH.

If SSH fails with a host key conflict, remove the stale key:

bash
ssh-keygen -f ~/.ssh/known_hosts -R <IP>
Step 2: Install JDK 21
bash
ssh -o StrictHostKeyChecking=no root@<IP> \
  'apt-get update -qq && apt-get install -y -qq openjdk-21-jdk-headless git tmux > /dev/null 2>&1 && java -version'
Step 3: Deploy the project

Rsync the worktree root (the directory containing mvnw, pom.xml, core/, etc.), excluding .git, target, and .idea:

bash
rsync -az --exclude='.git' --exclude='target' --exclude='.idea' <worktree-root>/ root@<IP>:/root/ytdb/

Important: The working directory (e.g. /workspace/ytdb/ldbc-jmh) may be a git worktree — it contains the full project tree with mvnw at its root. Rsync this directory, NOT the parent /workspace/ytdb/.

Then initialize a git repo on the server (required by Spotless):

bash
ssh root@<IP> 'git config --global --add safe.directory /root/ytdb && \
  git config --global user.email "bench@test" && \
  git config --global user.name "bench" && \
  cd /root/ytdb && git init && git add -A && git commit -m "baseline" --quiet'
Step 3b: Download LDBC data from Hetzner S3 (jmh-ldbc only — MANDATORY)

The LDBC SF 1 CSV dataset and canonical curated parameters must be available before running benchmarks. Download from Hetzner Object Storage (S3 bucket bench-cache).

Available S3 artifacts:

KeySizeDescription
ldbc/ldbc-sf1-composite-merged-fk.tar.zst~195 MBCSV dataset (SF 1)
ldbc/ldbc-sf0.1-composite-merged-fk.tar.zst~19 MBCSV dataset (SF 0.1) — for quick smoke tests only
ldbc/curated-params-v3.json—Canonical curated parameters
ldbc/factor-tables.json—Canonical factor tables

Step 1: Generate presigned HTTPS URLs locally (boto3 required on the local machine):

bash
# CSV dataset
python3 -c "
import boto3, os
# IMPORTANT: Force HTTPS — the HETZNER_S3_ENDPOINT env var may contain http://
# but Hetzner servers cannot reach the S3 endpoint over plain HTTP (connection timeout).
endpoint = os.environ['HETZNER_S3_ENDPOINT']
if endpoint.startswith('http://'):
    endpoint = 'https://' + endpoint[len('http://'):]
s3 = boto3.client('s3',
    endpoint_url=endpoint,
    aws_access_key_id=os.environ['HETZNER_S3_ACCESS_KEY'],
    aws_secret_access_key=os.environ['HETZNER_S3_SECRET_KEY'])
for key in ['ldbc/ldbc-sf1-composite-merged-fk.tar.zst', 'ldbc/curated-params-v3.json', 'ldbc/factor-tables.json']:
    url = s3.generate_presigned_url('get_object',
        Params={'Bucket': 'bench-cache', 'Key': key},
        ExpiresIn=7200)
    print(f'{key}: {url}')
"

Step 2: Download CSV dataset and extract:

bash
ssh root@<IP> "apt-get install -y -qq zstd > /dev/null 2>&1 && \
  mkdir -p /root/ytdb/<module>/target/ldbc-dataset/sf1 && \
  curl -sS -o /tmp/dataset.tar.zst '<CSV_PRESIGNED_URL>' && \
  cd /root/ytdb/<module>/target/ldbc-dataset/sf1 && \
  zstd -d /tmp/dataset.tar.zst -o /tmp/dataset.tar && \
  tar xf /tmp/dataset.tar && \
  rm -f /tmp/dataset.tar.zst /tmp/dataset.tar && \
  echo 'Dataset ready' && ls static/ dynamic/"

The CSV dataset uses LDBC datagen v1.0.0 CsvCompositeMergeForeign format. The DB will be created from CSVs during the pre-load step (Step 4b), which takes ~21 minutes for SF 1.

Step 3: Download canonical curated parameters and install into the DB directory (created here so they are available before the pre-load fork in Step 4b):

bash
ssh root@<IP> "mkdir -p /root/ytdb/<module>/target/ldbc-bench-db && \
  curl -sS -o /root/ytdb/<module>/target/ldbc-bench-db/factor-tables.json '<FACTOR_TABLES_URL>' && \
  curl -sS -o /root/ytdb/<module>/target/ldbc-bench-db/curated-params-v3.json '<CURATED_PARAMS_URL>' && \
  echo 'Canonical curated params installed'"

Replace <module> with the benchmark module (e.g. jmh-ldbc), <CSV_PRESIGNED_URL> with the CSV dataset URL, and <CURATED_PARAMS_URL> / <FACTOR_TABLES_URL> with the corresponding URLs from Step 1.

Important: Use presigned HTTPS URLs + curl for S3 downloads. Do NOT use boto3 or awscli on the server — pip install is slow and boto3 downloads can hang over HTTP (port 80 is often blocked). The presigned URL approach is faster and more reliable.

Do not use the SURF repository at repository.surfsara.nl — it provides CsvComposite format (v0.3.5), which is incompatible with the benchmark loaders.

Step 4: Compile
bash
ssh root@<IP> 'cd /root/ytdb && chmod +x mvnw && \
  ./mvnw -pl <module> -am compile -DskipTests -Dspotless.check.skip=true -q'

Replace <module> with the target benchmark module (e.g. jmh-ldbc).

Wait for BUILD SUCCESS (typically ~60-90 seconds on CCX33).

Step 4b: Pre-load database (jmh-ldbc only)

Critical for jmh-ldbc: The first JMH fork triggers DB loading (if using CSV) and parameter loading inside @Setup(Level.Trial). For multi-threaded benchmarks, threads start executing queries on a partially-loaded database, producing wildly inaccurate results.

Always run a pre-load fork before the real benchmarks to ensure the DB is ready and curated parameters are cached:

bash
ssh root@<IP> 'cd /root/ytdb && ./mvnw -pl <module> -am verify -P bench -DskipTests -Dspotless.check.skip=true \
  -Djmh.args="ic5_newGroups -f 1 -wi 0 -i 1 -r 1s -t 1" 2>&1 | tail -20'

This runs a single fork (-f 1) that triggers:

  1. DB creation from CSV files — ~21 min for SF 1
  2. Loading canonical curated parameters and factor tables from the cache files installed in Step 3 (no regeneration needed)

Subsequent forked runs will find the existing DB and load curated parameters from the JSON cache — zero SQL queries needed.

Important: Use -f 1 (not -f 0). With -f 0 the benchmark runs in-process and the database may not persist to disk.

When comparing two code versions (A/B testing): Deploy both versions to separate directories (e.g., /root/ytdb and /root/ytdb-base). Load CSV and install canonical curated params for both. Both versions must use identical curated parameters — never let either version regenerate params independently, as internal data structure changes can alter iteration order and produce incomparable parameter sets (see IC4 desync incident in jmh-ldbc README).

Step 5: Run benchmarks

IMPORTANT: Never run multiple benchmarks concurrently on the same server. Always wait for one benchmark run to complete before starting the next.

Start the benchmark in a tmux session so it survives SSH disconnects.

If the module has a bench Maven profile (like jmh-ldbc):

bash
ssh root@<IP> 'tmux new-session -d -s bench \
  "cd /root/ytdb && ./mvnw -pl <module> -am verify -P bench -DskipTests -Dspotless.check.skip=true \
  -Djmh.args=\"<jmh-args> -rf json -rff /root/results.json\" \
  2>&1 | tee /root/bench.log"'

If the module produces an uber-jar:

bash
ssh root@<IP> 'tmux new-session -d -s bench \
  "cd /root/ytdb && java -jar <module>/target/benchmarks.jar \
  <jmh-args> -rf json -rff /root/results.json \
  2>&1 | tee /root/bench.log"'

JMH parameters explained:

  • -f 1 — 1 fork (sufficient for comparison runs; use -f 3 for publication-grade results)
  • -wi 3 -w 5s — 3 warmup iterations, 5 seconds each
  • -i 5 -r 10s — 5 measurement iterations, 10 seconds each
  • -e <pattern> — exclude benchmarks matching regex
  • -rf json -rff /root/results.json — save results as JSON
Show full SKILL.md (518 more words)Show less
Step 6: Monitor progress

Poll periodically (every 5-10 minutes):

bash
# Count completed benchmarks
ssh root@<IP> 'grep "^Result" /root/bench.log 2>/dev/null | wc -l'

# Check current benchmark
ssh root@<IP> 'tail -5 /root/bench.log'

# Check if complete
ssh root@<IP> 'grep "^# Run complete\|BUILD" /root/bench.log'
Step 7: Collect results

Once # Run complete appears in the log:

bash
# Download JSON results
scp root@<IP>:/root/results.json /tmp/claude-code-results.json

# Show summary table
ssh root@<IP> 'grep "^Benchmark\|thrpt\|avgt" /root/bench.log | head -60'

Copy the JSON to the project directory with a descriptive name:

bash
cp /tmp/claude-code-results.json <module>/<name>-results-ccx33.json
Step 8: Destroy the server

Always clean up to avoid charges. Use the same branch-based names from Step 1:

bash
hcloud server delete "$SERVER_NAME"
hcloud ssh-key delete "$KEY_NAME"
Step 9: Compare results

If baseline data exists (e.g. in memory files or previous JSON), present a comparison table with:

  • Benchmark name
  • Baseline score
  • New score
  • Percentage change
  • Assessment (regression / noise / improvement)

Changes within ~5-7% are typically measurement noise for multi-threaded benchmarks. Single-threaded benchmarks are more stable (~2-3% noise floor).

Troubleshooting

ProblemSolution
mvnw: No such file or directoryYou rsynced the wrong directory. Rsync the worktree root that contains mvnw.
SSH host key conflictssh-keygen -f ~/.ssh/known_hosts -R <IP>
detected dubious ownershipgit config --global --add safe.directory /root/ytdb
JMH hangs or needs restartssh root@<IP> 'rm -f /tmp/jmh.lock' then re-run in tmux
Core test compilation failsAdd -Dmaven.test.skip=true to the compile command
Need real-time outputUse tmux + tee (already in the command above)
Wild/inconsistent ops/s in MT benchmarksDataset not pre-loaded. Run Step 4b first. The first fork loads the DB during warmup; MT threads see partially loaded data.
apt-get lock on fresh serverWait 30s for unattended-upgrades to finish, then retry.
Dataset not found error during setupDataset must be pre-downloaded via Step 3b (Hetzner S3). The benchmark no longer auto-downloads from SURF.

Notes

  • Server type: CCX33 provides 8 dedicated AMD EPYC vCPUs — dedicated (not shared) cores ensure consistent benchmark results. For heavier benchmarks, consider CCX43 (16 vCPUs) or CCX53 (32 vCPUs).
  • jmh-ldbc Threads.MAX: The multi-threaded LDBC benchmark uses @Threads(Threads.MAX) — one thread per available processor. On CCX33 this means 8 threads.
  • jmh-ldbc dataset loading: Always load from the CSV dataset (see Step 3b). Install canonical curated params into the DB directory (Step 3b, Step 3), then pre-load with -f 1 (Step 4b). The DB path is ./target/ldbc-bench-db.
  • jmh-ldbc curated params: Canonical curated parameters are stored in S3 as separate objects (ldbc/curated-params-v3.json, ldbc/factor-tables.json). Always download and install them before the pre-load fork — never let the benchmark regenerate params independently, as different code versions produce different iteration orders, which cause the stride-based parameter sampling to select different query parameter sets, making results incomparable. See jmh-ldbc/README.md for the regeneration procedure (only needed when curation algorithm changes).
  • Never run benchmarks concurrently: Multiple JMH processes on the same server will contend for CPU and produce unreliable numbers. Always run one at a time.
  • Ubuntu apt lock on fresh servers: Newly provisioned Ubuntu 24.04 servers run unattended-upgrades on first boot. If apt-get install fails with "Could not get lock", wait 30 seconds and retry.
  • Memory file: For LDBC benchmarks, update ldbc-jmh-benchmarks.md in the auto-memory directory with new results after each run.
  • S3 artifacts: S3 bucket bench-cache contains canonical curated params (ldbc/curated-params-v3.json, ldbc/factor-tables.json), SF 1 CSV (ldbc/ldbc-sf1-composite-merged-fk.tar.zst, ~195 MB), and SF 0.1 CSV (ldbc/ldbc-sf0.1-composite-merged-fk.tar.zst, ~19 MB). Credentials are in env vars HETZNER_S3_ACCESS_KEY / HETZNER_S3_SECRET_KEY / HETZNER_S3_ENDPOINT — never hardcode them.
  • Do not use SURF: The SURF Data Repository (repository.surfsara.nl) provides the CsvComposite format (v0.3.5), which is incompatible with the benchmark loaders that expect CsvCompositeMergeForeign column layouts.

© JetBrains, 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/run-jmh-benchmarks-hetzner of JetBrains/youtrackdb.

Open the folder on GitHubat commit 78d0f15

Compare with similar skills

Run Jmh Benchmarks Hetzner 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.

Run Jmh Benchmarks Hetzner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Jmh Benchmarks Hetzner this skillJetBrains/youtrackdb439—~3.7kAutomated safety check: WarnApache-2.0
Benchmarkaffaan-m/ECC277k3 repos~654Automated safety check: PassMIT
Benchmarkaffaan-m/ECC276k—~412Automated safety check: PassMIT
Benchmarkaffaan-m/ECC276k—~330Automated safety check: PassMIT
Benchmarkandroidx/androidx6.1k—~1.1kAutomated safety check: PassApache-2.0
Benchmarksamchon/typia5.9k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Benchmark

    affaan-m/ECC

    Measure performance baselines and detect regressions across browser Core Web Vitals (LCP, INP, CLS, page weight), API endpoint latency percentiles, and build/test feedback times, with before/after…

    277k GitHub starsUsed in 3 repos~654 tokens
    Frontend & DesignAuto-check passed
  • Benchmark

    affaan-m/ECC

    このスキルを使用して、パフォーマンスベースラインを測定し、PR前後の回帰を検出し、スタック代替案を比較します. An agent skill from affaan-m/ECC.

    276k GitHub stars~412 tokensUpdated yesterday
    Auto-check passed
  • Benchmark

    affaan-m/ECC

    使用此技能测量性能基线,检测PR前后的回归,并比较堆栈替代方案。

    276k GitHub stars~330 tokensUpdated yesterday
    Auto-check passed
  • Benchmark

    androidx/androidx

    Benchmarking and improving the performance of Jetpack Compose.

    6.1k GitHub stars~1.1k tokensUpdated yesterday
    MobileAuto-check passed
  • Benchmark

    samchon/typia

    Defines typia benchmark fixture integrity, result reporting, and publication safeguards.

    5.9k GitHub stars~1.2k tokensUpdated 4 days ago
    AI & LLM EngineeringAuto-check passed
  • Establishes page load, Core Web Vitals and resource-size baselines, then compares before and after on every pull request to track performance trends over time.

    136k GitHub stars~7.5k tokensUpdated today
    Frontend & DesignAuto-check: notes

More from JetBrains/youtrackdb

All 16 skills in this repo
  • Readability Feedback

    JetBrains/youtrackdb

    Official

    Audit a finished design document for hard-to-read or hard-to-understand paragraphs, then harden the house-style rules so future design docs avoid them.

    439 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Review Docs

    JetBrains/youtrackdb

    Official

    Review documentation files for grammar, factual accuracy, and query correctness.

    439 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Edit Design

    JetBrains/youtrackdb

    Official

    Apply an edit to design.md or design-mechanics.md through the mutation discipline: apply → auto-review → iterate → present.

    439 GitHub stars~21k tokensUpdated yesterday
    Auto-check passed
  • Migrate Workflow

    JetBrains/youtrackdb

    Official

    Migrate a branch's docs/adr/<dir/workflow/ artifacts by replaying workflow-format commits from the per-artifact stamp base through HEAD.

    439 GitHub stars~12k tokensUpdated yesterday
    Auto-check passed
  • Review Workflow PR

    JetBrains/youtrackdb

    Official

    Review a workflow-style PR's design, plan, and track files in research-mode Q&A; auto-records observations and submits a line-anchored review via gh api.

    439 GitHub stars~11k tokensUpdated yesterday
    Auto-check passed
  • AI Tells

    JetBrains/youtrackdb

    Official

    Reviews any draft for AI writing tells and produces a clean rewrite.

    439 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Questions about Run Jmh Benchmarks Hetzner

What does Run Jmh Benchmarks Hetzner do?

Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server. Run Jmh Benchmarks Hetzner is an agent skill from JetBrains/youtrackdb, published by the product's own GitHub organization. Provision a Hetzner CCX33 server, deploy the project, run JMH benchmarks, collect results, and destroy the server.

When should I use Run Jmh Benchmarks Hetzner?

Run Jmh Benchmarks Hetzner fits situations like: explicitly asks to run JMH benchmarks on a Hetzner server; general benchmark requests; local benchmark runs.

How do I install Run Jmh Benchmarks Hetzner in Claude Code?

Run `npx skills add JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner -a claude-code`. Or copy the skill folder (.claude/skills/run-jmh-benchmarks-hetzner in JetBrains/youtrackdb) into .claude/skills/run-jmh-benchmarks-hetzner in your project. Claude Code loads it when a task matches its description.

How do I install Run Jmh Benchmarks Hetzner in Codex?

Run `npx skills add JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner -a codex`. Or copy the skill folder (.claude/skills/run-jmh-benchmarks-hetzner in JetBrains/youtrackdb) into .agents/skills/run-jmh-benchmarks-hetzner in your project. Codex loads it when a task matches its description.

Can I use Run Jmh Benchmarks Hetzner 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 JetBrains/youtrackdb --skill run-jmh-benchmarks-hetzner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-jmh-benchmarks-hetzner, .gemini/skills/run-jmh-benchmarks-hetzner, .github/skills/run-jmh-benchmarks-hetzner and .opencode/skills/run-jmh-benchmarks-hetzner in your project.

What does Run Jmh Benchmarks Hetzner need to run?

Going by SKILL.md and its folder, Run Jmh Benchmarks Hetzner needs the command-line tools its instructions call (ssh, git, hcloud, curl, apt-get and java) and credentials named HETZNER_S3_ACCESS_KEY and HETZNER_S3_SECRET_KEY. Our summary lists: Python 3; A credential in HETZNER_S3_ACCESS_KEY; A credential in HETZNER_S3_SECRET_KEY.

Does Run Jmh Benchmarks Hetzner access the network?

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

Is Run Jmh Benchmarks Hetzner safe to install?

Our automated static check of SKILL.md flagged 4 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Run Jmh Benchmarks Hetzner use?

Run Jmh Benchmarks Hetzner 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 Run Jmh Benchmarks Hetzner use?

About 3.7k tokens (SKILL.md is roughly 15k 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 Run Jmh Benchmarks Hetzner?

Skills that share tags, products or a category with Run Jmh Benchmarks Hetzner: Benchmark (affaan-m/ECC, 277k stars), Benchmark (affaan-m/ECC, 276k stars), Benchmark (affaan-m/ECC, 276k stars) and Benchmark (androidx/androidx, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Jmh Benchmarks Hetzner?

JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/youtrackdb, which has 439 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 10, 2026.

Source: JetBrains/youtrackdb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.