JUnit Failure Fingerprint

v1.0.0

Cluster JUnit failures into stable fingerprints so CI triage focuses on root causes, not noisy one-off logs.

0· 279·0 current·0 all-time
byDaniel Lummis@daniellummis

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for daniellummis/junit-failure-fingerprint.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "JUnit Failure Fingerprint" (daniellummis/junit-failure-fingerprint) from ClawHub.
Skill page: https://clawhub.ai/daniellummis/junit-failure-fingerprint
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: bash, python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install junit-failure-fingerprint

ClawHub CLI

Package manager switcher

npx clawhub@latest install junit-failure-fingerprint
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name and description (cluster JUnit failures) match the included script and SKILL.md. Required binaries (bash, python3) are appropriate and sufficient for the stated task; there are no unrelated credentials or config paths.
Instruction Scope
Runtime instructions and the script limit actions to scanning JUnit XML files (via a glob), normalizing text, hashing seeds, and printing/grouping results. Caution: JUNIT_GLOB is user-controllable — if set to a broad or sensitive filesystem path, the script will read whatever files match the glob. By default the glob targets test-results/**/*.xml and the bundled fixtures example is safe.
Install Mechanism
No install spec; this is instruction-only plus a bundled script. Nothing is downloaded or written to disk by an installer during skill installation.
Credentials
The skill requests no environment variables or credentials by default. It does accept optional environment inputs (JUNIT_GLOB, TOP_N, OUTPUT_FORMAT, STACK_LINES, FAIL_ON_FAILURES) that are reasonable for its purpose.
Persistence & Privilege
Skill is not always-enabled and does not request elevated persistence or modify other skills or system settings. It only runs when invoked and doesn't persist state or credentials.
Assessment
This skill appears safe and does exactly what it claims: parse JUnit XMLs and produce fingerprints. Before using in CI, verify your JUNIT_GLOB value so it only matches test result files (not / or other sensitive locations). You can test locally with the provided fixtures. If you enable FAIL_ON_FAILURES, be aware it will return a non-zero exit code when failures are found, which can fail CI jobs as intended.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsbash, python3
latestvk97cm3k9wkr9501pj2wkc2215582bavh
279downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

JUnit Failure Fingerprint

Use this skill to compress noisy JUnit failures/errors into repeatable fingerprints.

What this skill does

  • Scans one or more JUnit XML files
  • Extracts only failing/error test cases
  • Normalizes volatile tokens (IDs, numbers, line numbers, addresses, UUIDs)
  • Generates stable fingerprint hashes for similar root-cause failures
  • Emits grouped triage output (text or json)

Inputs

Optional:

  • JUNIT_GLOB (default: test-results/**/*.xml)
  • TOP_N (default: 20)
  • OUTPUT_FORMAT (text or json, default: text)
  • STACK_LINES (default: 3) — number of normalized stack lines to include in fingerprint seed
  • FAIL_ON_FAILURES (0 or 1, default: 0) — exit non-zero when any failures/errors are found

Run

Text report:

JUNIT_GLOB='artifacts/junit/**/*.xml' \
TOP_N=15 \
bash skills/junit-failure-fingerprint/scripts/fingerprint-junit.sh

JSON output for CI annotation/upload:

JUNIT_GLOB='artifacts/junit/**/*.xml' \
OUTPUT_FORMAT=json \
FAIL_ON_FAILURES=1 \
bash skills/junit-failure-fingerprint/scripts/fingerprint-junit.sh

Run with bundled fixtures:

JUNIT_GLOB='skills/junit-failure-fingerprint/fixtures/*.xml' \
bash skills/junit-failure-fingerprint/scripts/fingerprint-junit.sh

Output contract

  • Exit 0 by default (reporting mode)
  • Exit 1 if FAIL_ON_FAILURES=1 and at least one failure/error is found
  • In text mode, prints summary + top fingerprints
  • In json mode, prints machine-readable groups and per-case detail

Comments

Loading comments...