stable-release-analyze

Analyzes Ansible collection stable branches to detect pending releases and calculate SemVer versions.

8|7|Updated Feb 14, 2023
One-click install
npx skills add https://github.com/eclipse-slm/slm --skill stable-release-analyze-eclipse-slm
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: stable-release-analyze
Source: https://github.com/eclipse-slm/slm/tree/main/.agents/skills/stable-release-analyze
Command: npx skills add https://github.com/eclipse-slm/slm --skill stable-release-analyze-eclipse-slm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) components.

What problem does it solve? Maintainers of Ansible collections struggle to track which stable branches have unreleased commits and what version number the next release should use. This Skill automates that analysis by inspecting git history and changelog fragments across all stable-X branches. ## Core Features & Use Cases - Stable Branch Detection: Automatically finds all stable-X branches from the upstream remote and checks each for unreleased commits since the last tag. - SemVer Calculation: Parses changelog fragments (breaking_changes, minor_changes, bugfixes, etc.) to determine MAJOR, MINOR, or PATCH impact and compute the next version. - Color-Coded Reports: Outputs clear status per branch — release needed, up to date, missing fragments, or errors — with a summary count. - Use Case: Before starting a release cycle for amazon.aws, run the analysis to learn that stable-1 has 14 commits and one bugfix fragment, so the next release should be 1.0.1. ## Quick Start Ask the AI to analyze the current Ansible collection and report which stable branches need releases and what versions to publish.

Frequently Asked Questions about stable-release-analyze

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check which Ansible collection branches need a release?▼

Run the analyze-collection.py script against your collection path. It detects all stable-X branches, counts commits since the last tag, and reports which branches need releases with the recommended next version.

How is the next SemVer version calculated from changelog fragments?▼

Fragment types map to impact levels: breaking_changes and removed_features trigger a MAJOR bump, major_changes, minor_changes, and deprecated_features trigger MINOR, and bugfixes or security_fixes trigger PATCH. The highest impact across all fragments wins.

What are the prerequisites for analyzing an Ansible collection?▼

You need Python 3.8+, PyYAML (auto-installed in a virtual environment), a git repository with a configured upstream remote, stable branches following the stable-X naming convention, and a galaxy.yml file in the collection root.

Why does the analysis report commits but no changelog fragments?▼

This warning appears when a stable branch has unreleased commits but the changelogs/fragments directory is missing or empty. Add changelog fragment YAML files describing the changes before proceeding with the release.

What if my remote is named origin instead of upstream?▼

Set the REMOTE_UPSTREAM environment variable to origin, optionally in ~/.ansible-release.conf. The skill defaults to the standard fork-and-pull convention where upstream is the canonical repository.