Install any skill in seconds. Free to start, no credit card required.
Get Started Free →How xberg versions are synced and released — Cargo.toml is the single source of truth, `task version:sync` propagates it to alef-managed binding manifests AND the integrations under integrations/, which are versioned and published in lockstep with core (including -rc.N). Load before bumping a version, editing the version-sync task, or touching an integration's version/xberg dependency.
.claude/skills/xberg-io-release-versioning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 0% | 0% |
The root Cargo.toml [workspace.package] version is the one authoritative version (including any -rc.N pre-release suffix). Everything else is derived from it — never hand-edit a version in a package manifest.
task version:sync runs three stepstask version:sync (alias task versions:sync) runs, in order (.task/tools/version-sync.yml):
alef sync-versions — the alef-managed binding manifests (their ownversion = core version). Targets are listed in alef.toml [workspace.sync] extra_paths (packages/python, packages/ruby, crates/xberg-node, packages/go, cli-proxy, …).
python3 scripts/sync_integration_versions.py — the integrations underintegrations/, the Helm chart, and plugin/.ai-rulez/config.toml [plugin].version. These are NOT alef-managed, so alef never touches them.
ai-rulez generate --plugin — regenerates the per-runtime coding-agent plugin bundlesunder plugin/ from the just-synced config.
Bump/set helpers chain both automatically: task version:bump:major|minor|patch, task version:set -- <version>. task version:check prints the Cargo version and runs sync_integration_versions.py --check, failing on integration drift. It does not dry-run alef sync-versions.
The integration packages under integrations/ are versioned and published together with core across four target families:
io.xberg:spring-ai-xberg).@xberg-io/*).charts/xberg/Chart.yaml (version, appVersion, the ArtifactHub imagetag and prerelease flag) plus charts/xberg/README.md's --version.
scripts/sync_integration_versions.py sets, for each manifest:
version — PEP 440 form for pyproject (1.0.0-rc.32 → 1.0.0rc32),native form for the Maven pom and npm package.json (1.0.0-rc.32, also valid semver);
xberg dependency pin, so an integration always requires the core it ships with:xberg>=<core> (PEP 440 form). Naming the rc is deliberate —a bare xberg>=1.0.0 excludes all 1.0.0rcN pre-releases per PEP 440.
<xberg.version> (native form).package.json: an exact @xberg-io/xberg pin (native/semver form), matchingthe package's own version.
To add a new integration: add its manifest to VERSION_TARGETS (own version) and, if it depends on xberg, XBERG_DEP_MANIFESTS in scripts/sync_integration_versions.py (npm package.json manifests are collected in NPM_MANIFESTS, which feeds both lists). The llama-index dev aggregator (integrations/python/llama-index/pyproject.toml, version 0.0.0, unpublished) is dep-only — not a version target.
task version:bump:* / task version:set, then commit the synced manifeststogether with the Cargo.toml change (atomic).
task version:check in CI to guarantee integration manifests never drift from core.xberg pin — run the sync.alef.toml [workspace.sync] — alef would clobbertheir independent-but-derived layout; the dedicated script owns them.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 18,453 | 12,081 | -35% | 1 | 1 | 0% | 2,895 | 2,897 | +0% | 0 | 0 | — |
case-02 | fail→pass | 14,006 | 4,723 | -66% | 1 | 1 | 0% | 2,295 | 1,865 | -19% | 0 | 0 | — |
case-03 | fail→pass | 22,057 | 10,231 | -54% | 1 | 1 | 0% | 4,091 | 3,119 | -24% | 0 | 0 | — |
case-04 | pass→pass | 10,399 | 3,564 | -66% | 1 | 1 | 0% | 1,725 | 1,664 | -4% | 0 | 0 | — |
case-13 | fail→pass | 8,975 | 2,636 | -71% | 1 | 1 | 0% | 1,585 | 1,496 | -6% | 0 | 0 | — |
case-05 | fail→pass | 10,688 | 4,033 | -62% | 1 | 1 | 0% | 1,745 | 1,747 | +0% | 0 | 0 | — |
case-06 | fail→pass | 11,262 | 2,188 | -81% | 1 | 1 | 0% | 1,724 | 1,388 | -19% | 0 | 0 | — |
case-07 | fail→pass | 6,384 | 2,021 | -68% | 1 | 1 | 0% | 1,110 | 1,365 | +23% | 0 | 0 | — |
case-08 | fail→pass | 14,108 | 1,750 | -88% | 1 | 1 | 0% | 2,259 | 1,296 | -43% | 0 | 0 | — |
case-14 | fail→pass | 25,414 | 1,660 | -93% | 1 | 1 | 0% | 4,240 | 1,230 | -71% | 0 | 0 | — |
case-09 | fail→pass | 12,388 | 3,757 | -70% | 1 | 1 | 0% | 1,926 | 1,675 | -13% | 0 | 0 | — |
case-10 | fail→pass | 8,477 | 2,334 | -72% | 1 | 1 | 0% | 1,358 | 1,419 | +4% | 0 | 0 | — |
case-11 | pass→pass | 8,783 | 3,103 | -65% | 1 | 1 | 0% | 1,598 | 1,546 | -3% | 0 | 0 | — |
case-12 | fail→pass | 26,374 | 3,234 | -88% | 1 | 1 | 0% | 1,591 | 1,580 | -1% | 0 | 0 | — |
case-15 | pass→pass | 16,609 | 4,381 | -74% | 1 | 1 | 0% | 2,699 | 1,724 | -36% | 0 | 0 | — |
case-16 | fail→pass | 14,315 | 1,700 | -88% | 1 | 1 | 0% | 2,257 | 1,312 | -42% | 0 | 0 | — |
case-17 | fail→pass | 9,183 | 2,062 | -78% | 1 | 1 | 0% | 1,184 | 1,305 | +10% | 0 | 0 | — |
case-18 | fail→pass | 16,468 | 1,736 | -89% | 1 | 1 | 0% | 2,794 | 1,341 | -52% | 0 | 0 | — |
case-19 | fail→pass | 10,651 | 5,120 | -52% | 1 | 1 | 0% | 1,665 | 1,819 | +9% | 0 | 0 | — |
case-20 | pass→pass | 9,497 | 3,069 | -68% | 1 | 1 | 0% | 1,447 | 1,444 | -0% | 0 | 0 | — |
case-21 | pass→pass | 17,626 | 14,296 | -19% | 1 | 1 | 0% | 3,067 | 3,541 | +15% | 0 | 0 | — |
case-22 | pass→pass | 5,797 | 3,293 | -43% | 1 | 1 | 0% | 1,067 | 1,582 | +48% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/11/2026 | +59% |
Other measured skills in the registry, with their headline benchmark lift.