Skip to content
Development
Command

/changelog

Ultra-fast parallel changelog generation using 10 sub-agents for instant comprehensive analysis

From plugin
claude-cmd
313180 skills180 commands

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/changelog

Context preview

What this command does when you run it.

Ultra-fast parallel changelog generation using 10 sub-agents for instant comprehensive analysis

Command definition

changelog.md
allowed-tools: Read, Write, Bash(git:*), Bash(jq:*), Bash(rg:*), Bash(fd:*), Bash(gdate:*), Task
name: "Changelog"
description: "Ultra-fast parallel changelog generation using 10 sub-agents for instant comprehensive analysis"
author: "wcygan"
tags: ["docs","generate"]
version: "1.0.0"
created_at: "2025-07-14T00:00:00Z"
updated_at: "2025-07-14T00:00:00Z"

Context

  • Session ID: !`gdate +%s%N 2>/dev/null || date +%s000000000 2>/dev/null || echo "session-$(date +%s)000000000"`
  • Current directory: !`pwd`
  • Target range: $ARGUMENTS
  • Git repository: !`git rev-parse --is-inside-work-tree 2>/dev/null || echo "Not a git repository"`
  • Current branch: !`git branch --show-current 2>/dev/null || echo "No git repository"`
  • Latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"`
  • Total commits: !`git rev-list --count HEAD 2>/dev/null || echo "0"`
  • Commit types found: !`git log --pretty=format:"%s" | rg "^(feat|fix|docs|style|refactor|perf|test|chore|build|ci):" | head -5 || echo "No conventional commits found"`
  • Recent commits: !`git log --oneline -5 2>/dev/null || echo "No git history"`
  • Contributors: !`git shortlog -sn --since="3 months ago" | head -5 2>/dev/null || echo "No contributors found"`

Your Task

**IMMEDIATELY DEPLOY 10 PARALLEL SUB-AGENTS** for instant changelog generation

STEP 1: Initialize changelog generation session

  • CREATE session state file: `/tmp/changelog-$SESSION_ID.json`
  • Initialize results directory: `/tmp/changelog-results-$SESSION_ID/`

STEP 2: **LAUNCH ALL 10 AGENTS SIMULTANEOUSLY**

**NO SEQUENTIAL ANALYSIS** - All agents work in parallel:

1. **Commit Analysis Agent**: Extract and classify all commits in range 2. **Breaking Changes Agent**: Identify breaking changes and migration needs 3. **Feature Detection Agent**: Find all new features and enhancements 4. **Bug Fix Agent**: Catalog all bug fixes and patches 5. **Security Analysis Agent**: Identify security-related commits 6. **Version Calculation Agent**: Determine semantic version bump 7. **Contributor Analysis Agent**: Analyze contributor statistics 8. **PR/Issue Agent**: Extract PR and issue references 9. **Performance Agent**: Find performance improvements 10. **Documentation Agent**: Track documentation changes

Each agent saves results to: `/tmp/changelog-results-$SESSION_ID/agent-N.json`

**Expected speedup: 10x faster than sequential analysis**

IF $ARGUMENTS provided:

  • PARSE target range (version, date range, commit range)
  • VALIDATE range exists in git history
  • SET scope to "targeted"

ELSE IF latest tag exists:

  • SET range from latest tag to HEAD
  • SET scope to "release"

ELSE:

  • SET range to entire git history
  • SET scope to "initial"

STEP 3: Changelog Generation Process

TRY:

  • EXECUTE commit analysis based on determined scope
  • CLASSIFY commits using conventional commit patterns
  • GENERATE structured changelog sections
  • APPLY version numbering if applicable

CATCH (git_operation_failed):

  • LOG error to session state
  • PROVIDE manual changelog guidance
  • SAVE partial results if any

**Commit History Gathering:**

FOR scope = "targeted":

  • EXTRACT commits in specified range using validated git commands
  • VERIFY range validity before processing
  • HANDLE edge cases (empty range, invalid refs)

FOR scope = "release":

  • GET commits since latest tag: `git log $(git describe --tags --abbrev=0)..HEAD`
  • INCLUDE merge commits and PR references
  • FOCUS on user-facing changes

FOR scope = "initial":

  • PROCESS entire git history with pagination
  • LIMIT to recent significant commits for readability
  • PRIORITIZE major features and breaking changes

**Commit Classification Engine:**

FOR EACH commit in range:

  • EXTRACT commit message and metadata
  • APPLY conventional commit pattern matching
  • CLASSIFY into changelog sections
  • EXTRACT PR/issue references
  • IDENTIFY breaking changes
  • CALCULATE impact score

STEP 4: Intelligent commit analysis and classification

**Commit Pattern Recognition:**

# Conventional commit type detection
git log $RANGE --pretty=format:"%h|%s|%b" | \
  rg "^([a-f0-9]+)\|((feat|fix|docs|style|refactor|perf|test|chore|build|ci)(\(.+\))?(!)?:)" || echo "No conventional commits"

# Breaking change detection
git log $RANGE --pretty=format:"%h|%s|%b" | \
  rg "(BREAKING CHANGE:|!:)" || echo "No breaking changes"

# PR and issue reference extraction
git log $RANGE --pretty=format:"%s" | \
  rg "#([0-9]+)" -o --replace='$1' | sort -u || echo "No PR/issue references"

# Security-related commits
git log $RANGE --pretty=format:"%h|%s" | \
  rg "(security|vulnerability|CVE|XSS|SQL injection|CSRF)" -i || echo "No security commits"

**Advanced Classification Logic:**

FOR EACH commit:

  • MATCH against conventional commit patterns
  • EXTRACT scope and description
  • IDENTIFY breaking change indicators (!: or BREAKING CHANGE:)
  • DETECT security implications
  • CALCULATE semantic version impact
  • ASSIGN to appropriate changelog section

**Version Number Determination:**

IF breaking changes detected:

  • INCREMENT major version
  • RESET minor and patch to 0

ELSE IF features detected:

  • INCREMENT minor version
  • RESET patch to 0

ELSE IF fixes detected:

  • INCREMENT patch version

ELSE:

  • SUGGEST manual version review

STEP 5: Generate structured changelog output

**Changelog Template Generation:**

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

{UNRELEASED_SECTIONS}

## [{NEXT_VERSION}] - {RELEASE_DATE}

{GENERATED_SECTIONS}

{EXISTING_CHANGELOG_CONTENT}

**Section Organization and Content:**

FOR EACH changelog section:

  • SORT by impact and importance
  • INCLUDE commit hash for traceability
  • ADD PR/issue references when available
  • FORMAT with consistent bullet points
  • GROUP related changes together

*

Read more
Ships withclaude-cmd

A lightweight (~46kB) and comprehensive CLI tool for managing Claude commands, configurations, and workflows.

Get the whole plugin