| name | tag-new-release |
| description | Create a new annotated git tag with release notes extracted from changelog files. Supports both macOS and Windows TinyClips release flows. |
| argument-hint | --platform <mac|windows> [--version <tag>] (e.g., --platform mac --version v1.5.0-mac) |
| user-invocable | true |
Tag New Release
Create a new annotated git tag for a release based on the project's platform changelog.
When to use
- When preparing a new TinyClips release tag for macOS or Windows.
- When the user asks to tag a release.
- When the user provides a version to tag, such as
v1.5.0-mac or v1.0.9-windows.
- When the user wants release notes extracted from the relevant changelog and included in the tag message.
How to use
Request the release tag in chat (platform is required):
/tag-new-release --platform mac --version v1.5.0-mac
Or run the script directly from the repository root:
bash .github/skills/tag-new-release/tag-new-release.sh --platform mac --version v1.5.0-mac
On Windows, use PowerShell:
powershell -ExecutionPolicy Bypass -File .github/skills/tag-new-release/tag-new-release.ps1 -Platform windows -Version v1.0.9-windows
If --version is omitted:
- macOS defaults to
v<Info.plist CFBundleShortVersionString>.0-mac (for example, v1.5.0-mac)
- Windows defaults to incrementing patch from the latest
v*-windows tag.
Step-by-step procedure
When asked to tag a new release:
-
Check existing tags - Inspect recent git tags for the selected platform.
-
Determine release version:
- macOS: Validate against
mac/TinyClips/Info.plist CFBundleShortVersionString
- Windows: Use provided tag or infer by incrementing the latest
-windows patch tag
-
Read platform changelog:
- macOS: root
CHANGELOG.md
- Windows:
windows/CHANGELOG.md
-
Update changelog - Insert the release heading with today's date below Unreleased.
-
Verify the working directory - Ensure there are no uncommitted changes before creating commit/tag.
-
Create commit - Commit the changelog release marker.
-
Create an annotated git tag with:
- A tag name matching the platform version (for example
v1.5.0-mac, v1.0.9-windows)
- A tag message containing the version and formatted release notes from the platform changelog
-
Confirm the tag - Show the created tag details to verify the tag name and message.
-
Suggest pushing the tag - Tell the user they can push with:
git push origin <tag-name>
Do not push the tag unless the user explicitly asks.
Release notes format
The tag message should include cleanly formatted release notes from the selected changelog entry for the release. Include all relevant sections, such as:
- Added
- Improved
- Fixed
- Changed
- Deprecated
- Removed
- Security
Safety checks
- Do not create a release tag from a dirty working directory.
- Do not overwrite an existing tag.
- Do not push tags without explicit user approval.
- If the requested version conflicts with app version or existing tags, stop and ask the user how to proceed.
Files included
tag-new-release.sh - Script that automates changelog release marking, commit creation, and annotated tagging for macOS or Windows.
tag-new-release.ps1 - PowerShell equivalent for running the same release-tag workflow natively on Windows.