Release versioning schema enforcement
Use when when preparing a release branch for a Maven-based project (like NMRFx) and you need to verify that all pom.xml files in the repository tree declare identical version strings before applying release branch naming conventions (e.g., 'release/X.Y.Z').From its SKILL.md
npx -y skills add HolobiomicsLab/asb-skill-collections --skill release-versioning-schema-enforcementAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.2 KB, 799 tokens by cl100k_base, as published. Nobody here has run it
release-versioning-schema-enforcement
License: restricted — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution. <!-- asb-license-banner -->
Summary
Validates that all pom.xml version declarations across a multi-module Maven project are synchronized before release branch creation. This prevents version conflicts and ensures consistent artifact versioning during the release procedure.
When to use
When preparing a release branch for a Maven-based project (like NMRFx) and you need to verify that all pom.xml files in the repository tree declare identical version strings before applying release branch naming conventions (e.g., 'release/X.Y.Z').
When NOT to use
- Repository is not Maven-based (no pom.xml files present).
- Release procedure does not require synchronized versions across multiple modules.
- Version strings are managed by an external build system or continuous integration tool that auto-synchronizes them.
Inputs
- Maven repository (git clone URL or local directory)
- Branch reference (e.g., 'master')
- pom.xml file tree
Outputs
- Version validation report (pass/fail status)
- List of pom.xml files with extracted version strings
- Mismatch flagging report (file paths and differing values, if any)
- Release readiness confirmation
How to apply
Clone or access the target Maven repository and ensure the master branch is checked out. Scan the entire repository tree and extract the <version> tag value from each pom.xml file. Compare all extracted versions for exact matches; record file paths and values for any mismatches. Generate a validation report listing all pom files inspected, their versions, and an overall pass/fail status. Only if all versions match exactly should the release branch naming convention be applied, confirming that no version conflicts will occur during the release process.
Related tools
- NMRFx (Source Maven project whose pom.xml versions are verified for release consistency) — github.com/nanalysis/nmrfx
- Git (Version control system to clone repository and verify branch state before scanning)
Evaluation signals
- All pom.xml files in the repository tree are discovered and scanned.
- Each <version> tag value is extracted and recorded with its file path.
- All extracted versions match exactly (no mismatches detected).
- Validation report explicitly confirms pass/fail status and lists all files inspected.
- If pass status is achieved, release branch naming convention (prefixed 'release/X.Y.Z') can be safely applied without version conflicts.
Limitations
- Scan requires full repository access and correct branch checkout; partial clones or detached heads may yield incomplete results.
- Only detects structural version mismatches in pom.xml; does not validate that versions are semantically correct or follow project conventions.
- Does not detect version inconsistencies in other build configuration files (gradle, sbt, etc.) if the project is not pure Maven.
Evidence
- [other] Scan all pom.xml files in the repository tree and extract version strings from each <version> tag.: "Scan all pom.xml files in the repository tree and extract version strings from each <version> tag."
- [other] Verify that all extracted versions match exactly; flag any mismatches with file paths and differing values.: "Verify that all extracted versions match exactly; flag any mismatches with file paths and differing values."
- [other] Generate a validation report listing all pom files checked, their versions, and an overall pass/fail status indicating whether all versions are synchronized.: "Generate a validation report listing all pom files checked, their versions, and an overall pass/fail status indicating whether all versions are synchronized."
- [other] If verification passes, document that the release branch naming convention (prefixed 'release/X.Y.Z') can be safely applied without version conflicts.: "If verification passes, document that the release branch naming convention (prefixed 'release/X.Y.Z') can be safely applied without version conflicts."
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.