Skill v1.0.1
currentAutomated scan100/1002 files
version: "1.0.1" name: last-tag description: Show commits since the last tag in a formatted table. Use when user asks "what changed since last release", "commits since last tag", "last-tag", "what's new", or wants to see recent unreleased changes. allowed-tools: Bash, AskUserQuestion
Last Tag - Commits Since Last Release
Show commits since the last tag in a formatted table with optional details.
Activation Triggers
- "last tag", "last-tag", "since last tag"
- "what changed since last release"
- "commits since last tag"
- "what's new", "unreleased changes"
Workflow
Important: Avoid $() command substitution in Bash tool - use sequential steps.
- Fetch tags from remote and get the last tag:
git fetch origin --tags
Then get the last tag:
git describe --tags --abbrev=0
Store this value (e.g., v1.2.3) for use in subsequent commands.
- Get commits since that tag with format
date|author|hash|subject(substitute TAG with actual value):
git log TAG..HEAD --format="%ad|%an|%h|%s" --date=short
- Check if all commits have the same author - extract unique authors from step 2 output.
If only one unique author name appears in all rows, it's a single author.
- Format output:
If single author (count = 1):
Last tag: v1.2.3Author: John Doe| Date | Commit | Description ||------------|---------|--------------------------------|| 2025-12-20 | abc1234 | fix: resolve null pointer || 2025-12-19 | def5678 | feat: add user authentication |
If multiple authors (count > 1):
Last tag: v1.2.3| Date | Author | Commit | Description ||------------|----------|---------|--------------------------------|| 2025-12-20 | John Doe | abc1234 | fix: resolve null pointer || 2025-12-19 | Jane Doe | def5678 | feat: add user authentication |
If no tag exists:
No tags found in repository
If no commits since tag:
Last tag: v1.2.3No commits since this tag
Interactive Details
After displaying the table, use AskUserQuestion:
question: "Show commit details?"header: "Details"options:- label: "All commits"description: "Show full details for each commit"- label: "None"description: "Skip details"- label: "Specific commit"description: "Enter commit hash to inspect"
If "All commits": For each commit, run:
git show --stat --format="Commit: %h%nAuthor: %an <%ae>%nDate: %ad%n%n%s%n%n%b" --date=short HASH
This shows: commit hash, author with email, date, subject, body, and file change stats.
If "None": End.
If "Specific commit" or user enters hash via "Other": Run the same git show command for that commit only.