Skip to content

Release Tool: Create GitHub Release via gh release create - #4

Merged
feO2x merged 2 commits into
mainfrom
release-tag-fix
Sep 27, 2026
Merged

feO2x merged 2 commits into
mainfrom
release-tag-fix

Conversation

@feO2x

@feO2x feO2x commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Problem

Release run 1 failed after pushing main and 2.0.0:

tag 2.0.0 already exists; choose a different version

gh skill publish --tag X fetches the remote tags, refuses X if it already exists, and then creates the tag itself on the server through the releases API (target_commitish = current branch). The release tool pushes the annotated tag together with main first, so gh skill publish --tag can never succeed. The recovery hint it printed (gh skill publish --tag 2.0.0) fails the same way.

Fix

  • After the atomic push, create the release for the existing tag with gh release create <tag> --verify-tag --generate-notes. --verify-tag stops the command if the tag isn't on the remote, so it never creates one.
  • Update both recovery messages (push failed, publish failed) to suggest that command.
  • Nothing gh skill publish did in non-interactive mode is lost: gh skill publish --dry-run still validates the skills before the release commit, and the repository already has the agent-skills topic.
  • Update the tests, README.md, and AGENTS.md to match.

Keeping the atomic push means main and the tag reach the remote together or not at all, the tag stays annotated, and it points exactly at the validated commit.

This uses build: because the release tool isn't shipped to users, so no release is triggered.

Follow-up

2.0.0 has a tag but no GitHub Release yet. After merging, create it with:

gh release create 2.0.0 --verify-tag --generate-notes

Testing

  • dotnet test: 146 passed

🤖 Generated with Claude Code

…reate

gh skill publish --tag refuses tags that already exist on the remote,
because it creates the tag itself from the branch head. The release tool
pushes the annotated tag atomically with main first, so publishing
failed with "tag 2.0.0 already exists". Create the release for the
existing tag with gh release create --verify-tag --generate-notes
instead; gh skill publish --dry-run still validates the skills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@feO2x feO2x self-assigned this Sep 27, 2026
@feO2x feO2x added the bug Something isn't working label Sep 27, 2026
…-skills topic

- Pass the version's CHANGELOG.md section to gh release create via --notes-file
  instead of generating notes from pull request titles.
- Check the agent-skills topic with gh repo view before releasing, since
  gh skill publish no longer does.
- Advise running gh release view before retrying a failed publish.
- Point the README's manual publishing advice to gh release create --verify-tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@feO2x feO2x changed the title build: create the GitHub release for the pushed tag with gh release create Release Tool: Create GitHub Release via gh release create Sep 27, 2026
@feO2x
feO2x merged commit d775e7b into main Sep 27, 2026
1 check passed
@feO2x
feO2x deleted the release-tag-fix branch September 27, 2026 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant