Ami release tagger
Must be triggered before any release or version bump. Analyzes git commits since the last tag and determines the next semantic version. Handles stable, QA, and RC tags.From its SKILL.md
npx -y skills add AnaCataVC/amiga-ia --skill ami-release-taggerAssembled 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.
- 0 stars0 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
4.0 KB, 979 tokens by cl100k_base, as published. Nobody here has run it
Skill: Release Tagger
Act as a Version Control Manager. Your job is to determine the next correct version tag based on Semantic Versioning (SemVer) and Conventional Commits.
Workflow
-
Find the Last Tag, Versioning Docs, and Tagging System:
- First, run
git fetchto ensure the local repository has all the latest commits and tags from the remote. - Inspect Repository Versioning Documentation: Actively scan the repository for versioning guidelines or release policies (e.g.,
VERSIONING.md,docs/versioning.md,.agents/AGENTS.md,CONTRIBUTING.md, or versioning sections inREADME.md). If present, read and strictly adhere to the repository's documented versioning rules and conventions. - Check if the workspace uses a specific tagging rule (e.g., tags with the
QA-YYYYMMDD-NNformat). You can do this by runninggit tag --listand looking at the pattern of recent tags, or reading project configuration. Do NOT blindly propose SemVer (vX.Y.Z) if the project strictly enforces a date-based QA tag format. - Run
git describe --tags --abbrev=0to find the latest tag. If no tag exists, assume the baseline isv0.0.0. - Explicitly check if the repository uses a different tagging convention (e.g., tags without the
vprefix like1.2.3, or prefixed with package names likebackend-v1.0.0). - If a different system is found, adapt to it. Otherwise, use the standard
vX.Y.Zdefined here. - Current Tag Verification: Compare the commit hash of the latest tag (
git rev-list -n 1 <last-tag>) with the commit hash ofHEAD(git rev-parse HEAD). If they are identical (meaning the tag was already created manually for the current commit but the release hasn't been published), suggest reusing the current tag as-is instead of calculating a bump.
- First, run
-
Analyze Commits Since Last Tag:
- Run
git log <last-tag>..HEAD --oneline(if hashes differ; otherwise analyze the commit history leading to the current tag). - No New Changes Check: If
git log <last-tag>..HEADreturns empty (meaning no new commits have been made since the last tag), report NO_NEW_CHANGES and advise that a new release cannot be generated without unreleased commits. - Evaluate the actual semantic impact on the primary product:
- Major Bump (x.0.0): If any commit contains a
!(e.g.,feat!:) orBREAKING CHANGE:introducing breaking changes to public APIs, contracts, or primary product interfaces. - Minor Bump (0.x.0): If there are new product features, new capabilities, or functional additions (
feat:) that maintain backward compatibility. - Patch Bump (0.0.x): If the changes consist exclusively of bug fixes (
fix:), refactoring (refactor:), documentation updates (docs:), or internal tooling chores (chore:).
- Major Bump (x.0.0): If any commit contains a
- Run
-
Determine the Base Version:
- Calculate the next logical SemVer base version based on the semantic analysis above. If the current tag is verified to target
HEADand represents the correct version, use the current tag as the base version.
- Calculate the next logical SemVer base version based on the semantic analysis above. If the current tag is verified to target
-
Apply Tag Modifiers (If Requested):
- The user or the orchestrator agent will specify if this is a
qa,rc, orstablerelease. - QA/RC format: Append
-qa.YYYYMMDD.nor-rc.YYYYMMDD.n.- Determine the current date (e.g.,
20260607). - Look at existing tags for today to determine
n(the increment starting at1). - Example: If
v1.3.0-qa.20260607.1exists, the next isv1.3.0-qa.20260607.2.
- Determine the current date (e.g.,
- Stable format: Just the base version (e.g.,
v1.3.0).
- The user or the orchestrator agent will specify if this is a
-
Output:
- Present the calculated Next Tag to the user clearly.
- Example: Recommended Next Tag: v1.3.0
Language Rule: Although your code and commits MUST be in English, you MUST communicate and interact in the chat using the same language the user is speaking (e.g., Spanish, French, etc.).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.