Creating Description For Gh PR
redis/jedis
Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.
Expert guidance for writing Java microbenchmarks using JMH (Java Microbenchmark Harness).
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aehrc/pathling jmh-benchmarks --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .claude/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.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/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .claude/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarksType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aehrc/pathling jmh-benchmarks --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .agents/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .agents/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aehrc/pathling jmh-benchmarks --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .cursor/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .cursor/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aehrc/pathling.git --path .claude/skills/jmh-benchmarks--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aehrc/pathling jmh-benchmarks --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .gemini/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .gemini/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aehrc/pathling jmh-benchmarksInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .github/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .github/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aehrc/pathling --skill jmh-benchmarks -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aehrc/pathling jmh-benchmarks --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/jmh-benchmarks .opencode/skills/jmh-benchmarks && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jmh-benchmarks" agent skill from https://github.com/aehrc/pathling/tree/main/.claude/skills/jmh-benchmarks into .opencode/skills/jmh-benchmarks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jmh-benchmarks", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jmh-benchmarksExpert guidance for writing Java microbenchmarks using JMH (Java Microbenchmark Harness).
Jmh Benchmarks is an agent skill from aehrc/pathling. Expert guidance for writing Java microbenchmarks using JMH (Java Microbenchmark Harness). Use this skill when writing performance benchmarks, measuring method execution time, comparing algorithm implementations, profiling code performance, or debugging benchmark issues. Trigger keywords include "jmh", "benchmark", "microbenchmark", "performance test", "@Benchmark", "throughput", "warmup", "blackhole", "measure performance".
Its SKILL.md is about 2k 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 Development. It works with Java. The repository describes itself as: Tools that make it easier to use FHIR and clinical terminology within data analytics, built on Apache Spark. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 56a3b4a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
javamvnFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jmh Benchmarks loads about 2k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 214 words of instructions outside code blocks.
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.
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.
The full file from aehrc/pathling at commit 56a3b4a, republished under its Apache-2.0 licence (© aehrc). 214 words, ~1,970 tokens.
.claude/skills/jmh-benchmarks/SKILL.md (or your agent's skills folder).JMH is the official OpenJDK harness for building reliable Java microbenchmarks. It handles warmup, JIT compilation, dead code elimination, and statistical analysis automatically.
Generate a new benchmark project using the Maven archetype:
mvn archetype:generate \
-DinteractiveMode=false \
-DarchetypeGroupId=org.openjdk.jmh \
-DarchetypeArtifactId=jmh-java-benchmark-archetype \
-DgroupId=org.example \
-DartifactId=my-benchmarks \
-Dversion=1.0-SNAPSHOTBuild and run:
mvn clean verify
java -jar target/benchmarks.jarimport org.openjdk.jmh.annotations.*;
import java.util.concurrent.TimeUnit;
@State(Scope.Thread)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 5, time = 1)
@Measurement(iterations = 5, time = 1)
@Fork(1)
public class MyBenchmark {
private String data;
@Setup
public void setup() {
data = "test-data";
}
@Benchmark
public int measureLength() {
return data.length();
}
}| Mode | Description |
|---|---|
Mode.Throughput | Operations per second (default) |
Mode.AverageTime | Average time per operation |
Mode.SampleTime | Samples execution time distribution (percentiles) |
Mode.SingleShotTime | Single invocation time (cold start) |
Mode.All | Run all modes |
@BenchmarkMode({Mode.Throughput, Mode.AverageTime})| Scope | Description |
|---|---|
Scope.Thread | One instance per thread (no contention) |
Scope.Benchmark | Shared across all threads (contention possible) |
Scope.Group | Shared within thread group |
@State(Scope.Thread)
public class MyState {
// Non-final fields for computation inputs
public int x = 42;
}@State(Scope.Thread)
public class MyBenchmark {
private List<String> data;
@Setup(Level.Trial) // Once per benchmark run
public void setupTrial() { }
@Setup(Level.Iteration) // Before each iteration
public void setupIteration() { }
@Setup(Level.Invocation) // Before each method call (expensive!)
public void setupInvocation() { }
@TearDown(Level.Trial)
public void tearDown() { }
}The JVM eliminates code whose results are unused. Always return or consume results:
// WRONG: Result unused, JVM eliminates the call
@Benchmark
public void wrong() {
compute(x);
}
// CORRECT: Return the result
@Benchmark
public int correct() {
return compute(x);
}When a method produces multiple values, use Blackhole to consume them:
@Benchmark
public void multipleResults(Blackhole bh) {
bh.consume(compute(x));
bh.consume(compute(y));
}Never use final fields or literal values as inputs. The JVM precomputes results for predictable inputs:
@State(Scope.Thread)
public class MyState {
// WRONG: final enables constant folding
public final int x = 42;
// CORRECT: non-final prevents optimisation
public int x = 42;
}
@Benchmark
public int wrong() {
return compute(42); // Literal folded at compile time
}
@Benchmark
public int correct(MyState state) {
return compute(state.x); // Runtime value
}Never write manual loops. JMH handles iteration and loop optimisations distort results:
// WRONG: Loop unrolling distorts measurements
@Benchmark
public int wrong() {
int sum = 0;
for (int i = 0; i < 1000; i++) {
sum += compute(i);
}
return sum;
}
// CORRECT: Single operation, let JMH iterate
@Benchmark
public int correct(MyState state) {
return compute(state.i);
}Test across multiple configurations:
@State(Scope.Benchmark)
public class ParamBenchmark {
@Param({"10", "100", "1000"})
public int size;
@Param({"ArrayList", "LinkedList"})
public String listType;
private List<Integer> list;
@Setup
public void setup() {
list = listType.equals("ArrayList")
? new ArrayList<>()
: new LinkedList<>();
for (int i = 0; i < size; i++) {
list.add(i);
}
}
@Benchmark
public int iterate() {
int sum = 0;
for (int x : list) sum += x;
return sum;
}
}Override parameters from command line:
java -jar benchmarks.jar -p size=50,500 -p listType=ArrayList@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 10, time = 2, timeUnit = TimeUnit.SECONDS)
@Fork(value = 2, jvmArgs = {"-Xms2G", "-Xmx2G"})
@Threads(4)
@Timeout(time = 30, timeUnit = TimeUnit.SECONDS)Run benchmarks from code (useful for IDE integration):
public static void main(String[] args) throws Exception {
Options opt = new OptionsBuilder()
.include(MyBenchmark.class.getSimpleName())
.forks(1)
.warmupIterations(3)
.measurementIterations(5)
.mode(Mode.AverageTime)
.timeUnit(TimeUnit.NANOSECONDS)
.build();
new Runner(opt).run();
}# List available benchmarks
java -jar benchmarks.jar -l
# Run specific benchmark
java -jar benchmarks.jar MyBenchmark
# Configure execution
java -jar benchmarks.jar -f 2 -wi 5 -i 10 -t 4
# Output formats
java -jar benchmarks.jar -rf json -rff results.json
java -jar benchmarks.jar -rf csv -rff results.csv
# Profilers
java -jar benchmarks.jar -prof gc
java -jar benchmarks.jar -prof stack
java -jar benchmarks.jar -prof perfasm # Linux only
# Help
java -jar benchmarks.jar -hFor adding to an existing project (archetype preferred for new projects):
<dependencies>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.37</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.37</version>
<scope>provided</scope>
</dependency>
</dependencies>Configure the annotation processor in the compiler plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.37</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>© aehrc, 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
Just SKILL.md in .claude/skills/jmh-benchmarks of aehrc/pathling.
Open the folder on GitHubat commit 56a3b4a
Jmh Benchmarks 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jmh Benchmarks this skillaehrc/pathling | 137 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Creating Description For Gh PRredis/jedis | 12k | — | ~838 | Automated safety check: Pass | MIT | |
| Code Review Skillawesome-skills/code-review-skill | 2.1k | — | ~2.8k | Automated safety check: Notes | MIT | |
| Caffeine Cache Optimization Experimentsben-manes/caffeine | 18k | — | ~2.6k | Automated safety check: Notes | Apache-2.0 | |
| Coding Standardsapache/shardingsphere | 21k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Git History Bug Auditben-manes/caffeine | 18k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
redis/jedis
Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.
awesome-skills/code-review-skill
Provides comprehensive code review guidance for React 19, Vue 3, Angular 17+, Svelte 5, Rust, TypeScript, Java, Java 8, PHP, Ruby, Rails, Python, Django, FastAPI, Go, C/.NET, Kotlin, Swift, Dart…
ben-manes/caffeine
Runs controlled JMH experiments on the Caffeine cache to find shared contention and hot-path waste, then reviews correctness and returns a reviewable patch.
apache/shardingsphere
Apply Apache ShardingSphere's written coding standards when explicitly requested, or when code-implementation routes task-changed production, test, script, build, generated, or Maven POM artifacts…
ben-manes/caffeine
Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.
chewiebug/GCViewer
Run the full build-and-deploy.yaml workflow locally via act + Docker.
aehrc/pathling
Expert guidance for using the Databricks CLI to manage Databricks workspaces, clusters, jobs, pipelines, Unity Catalog, SQL warehouses, serving endpoints, secrets, bundles, and all other Databricks…
aehrc/pathling
Expert guidance for implementing FHIR RESTful API servers and clients following the HL7 FHIR specification.
aehrc/pathling
Expert guidance for implementing FHIR Bulk Data Access (Flat FHIR) following the HL7 specification.
aehrc/pathling
FHIR RESTful search specification expert with access to the official HL7 search specification text and the formal SearchParameter registry.
aehrc/pathling
Design and generate comprehensive FHIRPath test suites using input domain partitioning and Pathling's DSL test framework.
aehrc/pathling
Expert guidance for implementing FHIR servers using HAPI FHIR Plain Server framework.
Works with
Categories
Expert guidance for writing Java microbenchmarks using JMH (Java Microbenchmark Harness). Jmh Benchmarks is an agent skill from aehrc/pathling. Expert guidance for writing Java microbenchmarks using JMH (Java Microbenchmark Harness).
Jmh Benchmarks fits situations like: writing performance benchmarks; measuring method execution time; comparing algorithm implementations; profiling code performance.
Run `npx skills add aehrc/pathling --skill jmh-benchmarks -a claude-code`. Or copy the skill folder (.claude/skills/jmh-benchmarks in aehrc/pathling) into .claude/skills/jmh-benchmarks in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aehrc/pathling --skill jmh-benchmarks -a codex`. Or copy the skill folder (.claude/skills/jmh-benchmarks in aehrc/pathling) into .agents/skills/jmh-benchmarks in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aehrc/pathling --skill jmh-benchmarks -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jmh-benchmarks, .gemini/skills/jmh-benchmarks, .github/skills/jmh-benchmarks and .opencode/skills/jmh-benchmarks in your project.
Going by SKILL.md and its folder, Jmh Benchmarks needs the command-line tools its instructions call (java and mvn).
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
Jmh Benchmarks 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.
About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Jmh Benchmarks: Creating Description For Gh PR (redis/jedis, 12k stars), Code Review Skill (awesome-skills/code-review-skill, 2.1k stars), Caffeine Cache Optimization Experiments (ben-manes/caffeine, 18k stars) and Coding Standards (apache/shardingsphere, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aehrc (a GitHub organization) maintains it in aehrc/pathling, which has 137 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 8, 2026.
Source: aehrc/pathling on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.