🧪 Skills
JUnit Failure Fingerprint
Cluster JUnit failures into stable fingerprints so CI triage focuses on root causes, not noisy one-off logs.
v1.0.0
Description
name: junit-failure-fingerprint description: Cluster JUnit failures into stable fingerprints so CI triage focuses on root causes, not noisy one-off logs. version: 1.0.0 metadata: {"openclaw":{"requires":{"bins":["bash","python3"]}}}
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 (
textorjson)
Inputs
Optional:
JUNIT_GLOB(default:test-results/**/*.xml)TOP_N(default:20)OUTPUT_FORMAT(textorjson, default:text)STACK_LINES(default:3) — number of normalized stack lines to include in fingerprint seedFAIL_ON_FAILURES(0or1, 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
0by default (reporting mode) - Exit
1ifFAIL_ON_FAILURES=1and at least one failure/error is found - In
textmode, prints summary + top fingerprints - In
jsonmode, prints machine-readable groups and per-case detail
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!