Generate Version Log

VerifiedSafe

Automatically generate a structured version log from git history since the last tag, grouping commits by component, and output a GitHub release note.

Sby Skills Guide Bot
DocumentationBeginner
7/23/2026
Claude Code
#changelog#release-notes#git#versioning#automation

Recommended for

Automated summary

Generates a structured version log in docs/versions/ by analyzing commits and the git diff since the last tag recorded in release.txt.

Strengths

  • Uses release.txt as the source of truth for the last documented tag, avoiding guesswork
  • Groups commits by component or theme instead of dumping a raw list
  • Produces both a full Markdown log file and a concise GitHub release note on the console
  • Relies directly on git log and git diff --stat, so there are no external dependencies

Limitations

  • Assumes a consistent tagging convention and a maintained release.txt file
  • Deliberately leaves release.txt untouched, so bumping it remains a manual follow-up step
  • Component grouping depends on model interpretation and on commit message quality
When to use it

Use it when preparing a release to turn git history into a readable version log and a short GitHub release note.

When not to use it

Avoid it if the repository lacks version tags or if release.txt is missing or out of date.

Security analysis

Safe
Quality score82/100

The skill only performs read-only git inspection (`git log`, `git diff --stat`), a directory creation, and writes a single Markdown report under `docs/versions/`. There is no network access, no secret handling, no obfuscation, and no destructive or exfiltrating commands. The only minor concern is the unsanitized `$ARGUMENTS` used as a filename, which at worst could redirect the generated file elsewhere in the workspace.

Findings
  • •$ARGUMENTS is interpolated directly into the output path `docs/versions/$ARGUMENTS.md` without sanitization; a crafted value containing `../` could write outside the intended directory.
  • •Assumes execution inside the correct git repository and that the tag read from `release.txt` exists; malformed input would just cause git errors, not destructive behavior.
How this analysis is made

Examples

Log a new release version
/version-log v0.8.0
Summarize changes since last tag
Generate the version log for v1.2.0: read release.txt for the last tag, group the commits since then by component, and write docs/versions/v1.2.0.md.
Release note only
Produce the version log file for v0.9.1 and then print a short GitHub release note grouped by theme.

Generate a version log for the new version: $ARGUMENTS

Steps:

  1. Read release.txt to get the last documented version tag (e.g. v0.7.0).
  2. Run the following git commands to gather all changes since that tag:
    • git log <last-tag>..HEAD --oneline --no-merges
    • git diff --stat <last-tag>..HEAD
  3. Analyze the output and group commits by component or theme (e.g. Bridge Service, MCP Server, Vox Agents, Civ5 DLL, Mod, Infra/Build).
  4. Create the directory docs/versions/ if it does not exist, then write a full structured version log to docs/versions/$ARGUMENTS.md with this structure:
    • A heading with the version and today's date
    • Grouped sections by component/theme, each with bullet points describing meaningful changes
    • A "File Changes" section summarizing the diff stat output
  5. DO NOT Update release.txt.
  6. After writing the file, output a succinct GitHub release note to the console. It should be:
    • Raw Markdown
    • A handful of bullet items grouped by feature/theme (not exhaustive)

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/generate-version-log-mrx3y04z/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/generate-version-log-mrx3y04z' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/generate-version-log-mrx3y04z/download' --output '.skill-downloads/generate-version-log-mrx3y04z/SKILL.md.part' && mv '.skill-downloads/generate-version-log-mrx3y04z/SKILL.md.part' '.skill-downloads/generate-version-log-mrx3y04z/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/generate-version-log-mrx3y04z/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills