بنقرة واحدة
release-notes
Generate release notes for an OpenShift Local release in a text file following a pre-defined format
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate release notes for an OpenShift Local release in a text file following a pre-defined format
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | release-notes |
| description | Generate release notes for an OpenShift Local release in a text file following a pre-defined format |
| disable-model-invocation | true |
| argument-hint | ["release-tag"] |
| effort | low |
To prepare the release notes for an OpenShift Local (crc) release:
grep -q "github.com/crc-org/crc" go.mod
gh CLI is available:
command -v gh >/dev/null || { echo "ERROR: gh CLI not installed" >&2; exit 1; }
git describe --exact-match --tags
If not on a release tag, abort with an error message.Determine the current release tag and automatically find the previous tag:
CURRENT_TAG=$(git describe --exact-match --tags)
PREV_TAG=$(git describe --tags --abbrev=0 ${CURRENT_TAG}^)
Get all git logs between the previous tag and current tag:
git log --pretty="%H %s" ${PREV_TAG}..${CURRENT_TAG}
From the commit descriptions, ignore commits that match these patterns:
build(deps): - dependency updateschore(deps): - dependency updatestest: or ^.*test.*$ - test-only changesci: - CI/CD configuration changesdocs: - documentation-only changesKeep commits that are user-facing, such as:
feat: - new featuresfix: - bug fixesperf: - performance improvementsrefactor: - code refactoring with user impactFor each relevant commit, get additional context from the associated Pull Request:
PR_NUMBER=$(gh pr list --search "<COMMIT-SHA>" --state merged --json "number" --jq ".[].number")
If no PR is found, try searching by commit message keywords or check if the commit was part of a squashed merge.
Get PR details including title, body, and labels:
gh pr view ${PR_NUMBER} --json "title,body,labels" --jq '{title, body, labels: [.labels[].name]}'
Use labels to identify breaking changes, features, or bug fixes if available.
Extract the OpenShift and MicroShift bundle versions from the Makefile:
OPENSHIFT_VERSION=$(grep "^OPENSHIFT_VERSION" Makefile | cut -d'=' -f2 | tr -d ' ')
MICROSHIFT_VERSION=$(grep "^MICROSHIFT_VERSION" Makefile | cut -d'=' -f2 | tr -d ' ')
Determine the semantic version number for the release:
CRC_VERSION=${CURRENT_TAG#v} # Remove 'v' prefix from tag
Validate all required template variables are available:
${CRC_VERSION} - numeric version (e.g., 2.58.0)${CURRENT_TAG} - git tag with 'v' prefix (e.g., v2.58.0)${OPENSHIFT_VERSION} - OpenShift bundle version${MICROSHIFT_VERSION} - MicroShift bundle versionCreate descriptive summaries for each user-facing change:
[4], [5])Strictly follow the template format from template.md and write the release notes to:
Output file: crc-release-notes-${CRC_VERSION}.txt
Example: crc-release-notes-2.58.0.txt
Place the file in the repository root directory.
Verify the generated release notes match the expected format in sample.md:
[0] through [n] are present and sequentialVerify all URLs are valid and return HTTP 200:
cat crc-release-notes-${CRC_VERSION}.txt | python3 .claude/skills/release-notes/scripts/verify.py