원클릭으로
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 페이지를 검토하고 설치를 진행할 수 있습니다.
| 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
SOC 직업 분류 기준