Release tag
Create a git tag from the project's version file (package.json, Cargo.toml, pubspec.yaml, build.gradle, etc.). This skill should be used when the user wants to tag a release, create a version tag, or tag the current commit for release.From its SKILL.md
npx -y skills add kodingwarrior/minimalism-workflow --skill release-tagAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.9 KB, as published. Nobody here has run it
Release Tag
Create an annotated git tag based on the project's version file.
Arguments: <message> (optional — annotation message for the tag)
Instructions
Phase 1: Read Version
Detect the project type by checking for version files in this order. Use the first match found.
Node.js — package.json
- Read
package.jsonand extract theversionfield. - Tag:
v{version}(e.g.,v0.3.0).
Rust — Cargo.toml
- Read
Cargo.tomland extractversionfrom[package]. - Tag:
v{version}.
Flutter / Dart — pubspec.yaml
- Read
pubspec.yamland extract theversionfield (e.g.,1.2.0+3). - Use only the semver part before
+for the tag:v{semver}.
Android — app/build.gradle.kts or app/build.gradle
- Extract the
versionNamevalue (e.g.,versionName = "1.2.0"). - Tag:
v{versionName}. - If the argument indicates a version bump (e.g., the tag doesn't match the
current
versionName), also incrementversionCodeby 1 and updateversionNameto the target version, then commit the change before tagging.
Python — pyproject.toml
- Read
pyproject.tomland extractversionfrom[project]or[tool.poetry]. - Tag:
v{version}.
Go — version.go or git tags
- Look for a
Versionconstant in common locations (version.go,cmd/version.go,internal/version/version.go). - If not found, fall back to the latest
v*git tag and suggest the next patch bump. - Tag:
v{version}.
Elixir — mix.exs
- Read
mix.exsand extract theversionfield from theproject/0function. - Tag:
v{version}.
Fallback
If none of the above files are found, ask the user for the version string.
Phase 2: Validate
-
Check if the tag already exists:
git tag --list 'v{version}'If it exists, inform the user and halt. Suggest bumping the version first.
-
Check for uncommitted changes:
git status --porcelainIf there are uncommitted changes, warn the user and ask whether to proceed.
-
Show the user what will be tagged:
git log -1 --oneline
Phase 3: Confirm
Present the tag details and ask the user to confirm:
- Tag:
v{version} - Commit:
{short hash} {message} - Message: The annotation message (argument or auto-generated)
If no <message> argument was provided, use:
Release v{version}
Phase 4: Create Tag
Create an annotated tag:
git tag -a v{version} -m "{message}"
Phase 5: Push (Optional)
Ask the user if they want to push the tag:
git push origin v{version}
Only push if the user confirms. Display the result.