Skip to content
Development
Skill

/last-tag

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.

From plugin
cc-thingz
49516 skills2 agents1 command

Claude Code

$ npx -y skills add umputun/cc-thingz --skill last-tag --agent claude-code

SKILL.md

last-tag.SKILL.md
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.

1. 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.

2. 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

3. 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.

4. Format output:

**If single author** (count = 1):

Last tag: v1.2.3
Author: 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.3
No 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.

Read more
@umputun
Ships withcc-thingz

Things to make Claude Code even better — hooks, skills, and commands, organized as a marketplace of independent plugins. This is an unapologetically opinionated set.

49516 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
495
Star history of umputun/cc-thingz on GitHub, a chart by star-history.com

Other skills on cc-thingz.

brainstorm

brainstorm

Use before any creative work or significant changes. Activates on "brainstorm", "let's brainstorm", "deep analysis", "analyze…

@umputun@umputunInstall Skill
exec

exec

Execute plan tasks sequentially using subagents. Use when user says 'exec', 'execute plan', 'run plan', or wants to implement a…

@umputun@umputunInstall Skill
new

new

Use when user asks to create a release, cut a release, or publish a version. Auto-detects GitHub vs GitLab vs Gitea, calculates…

@umputun@umputunInstall Skill
git-review

git-review

Interactive git diff annotation review. Generates a cleaned-up diff, opens in editor for user annotations, and addresses feedback…

@umputun@umputunInstall Skill
pr

pr

Comprehensive PR/issue review - analyzes architecture, tests, identifies unrelated changes mixed in, drafts review comment or…

@umputun@umputunInstall Skill
writing-style

writing-style

Use for technical communication - GitHub/GitLab tickets, PR/MR descriptions, issue comments, code review comments, commit…

@umputun@umputunInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about last-tag.

Which coding agents can use last-tag?
last-tag installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.