Enhanced changelog generation with semantic versioning, auto-categorization, and release notes. Parses conventional commits, determines version bump (MAJOR.MINOR.PATCH), categorizes changes by type, generates CHANGELOG.md updates, and creates GitHub release notes. Use before releases or on PR merge to automate version management.
/plugin marketplace add jrc1883/popkit-claude/plugin install popkit-dev@popkit-claudeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Automatically generate CHANGELOG.md updates and GitHub release notes from conventional commits with semantic versioning analysis. This skill provides intelligent version management and changelog generation that surpasses Auto Claude's capabilities.
PopKit follows conventional commit format:
<type>(<scope>): <subject>
<body>
<footer>
| Type | Description | Version Bump |
|---|---|---|
feat | New feature | MINOR (1.0.0 → 1.1.0) |
fix | Bug fix | PATCH (1.0.0 → 1.0.1) |
perf | Performance improvement | PATCH |
refactor | Code refactoring | PATCH |
docs | Documentation only | PATCH |
test | Test additions/updates | PATCH |
chore | Maintenance tasks | PATCH |
ci | CI/CD changes | PATCH |
build | Build system changes | PATCH |
style | Formatting, no code change | PATCH |
BREAKING CHANGE | Breaking change | MAJOR (1.0.0 → 2.0.0) |
The changelog generator automatically determines the appropriate version bump:
# MAJOR bump (1.0.0 → 2.0.0)
- Any commit with "BREAKING CHANGE" in body or footer
- Incompatible API changes
- Major architectural changes
# MINOR bump (1.0.0 → 1.1.0)
- feat: commits
- New features added
- Backward-compatible functionality
# PATCH bump (1.0.0 → 1.0.1)
- fix: commits
- Bug fixes
- Performance improvements
- Refactoring
- Documentation updates
Changelog is automatically updated when:
Before PR creation (/popkit:git pr)
Before release (/popkit:git release)
On PR merge (via hook)
# Preview changelog for next version (auto-determined)
/popkit:git changelog --preview
# Generate changelog with specific version
/popkit:git changelog --version 1.1.0
# Generate since specific tag
/popkit:git changelog --since v1.0.0
# Generate GitHub release notes
/popkit:git changelog --release
# Auto-determine version bump
/popkit:git changelog --auto
# Update CHANGELOG.md
/popkit:git changelog --update
# From project root
cd /path/to/project
# Preview next version
python packages/shared-py/popkit_shared/utils/changelog_generator.py --preview
# Auto-determine version and update CHANGELOG.md
python packages/shared-py/popkit_shared/utils/changelog_generator.py --auto --update
# Generate GitHub release notes
python packages/shared-py/popkit_shared/utils/changelog_generator.py --release
# Get version bump analysis as JSON
python packages/shared-py/popkit_shared/utils/changelog_generator.py --json
## [1.1.0] - 2026-01-08
### ✨ Features
- **changelog-automation**: Enhanced changelog generation with semantic versioning (#27)
- **git-workflow**: Automatic changelog updates on PR creation and merge (#28)
- **release-notes**: Auto-generate GitHub release notes from commits (#29)
### 🐛 Bug Fixes
- **git**: Fix merge conflict detection in subdirectories (#30)
- **hooks**: Correct Windows path handling in pre-commit hook (#31)
### 💥 BREAKING CHANGES
- **api**: Change authentication endpoint from /auth to /api/auth
- Migration: Update all API calls to use new endpoint
- See migration guide: docs/migrations/v1.1.0.md
### 📚 Documentation
- **readme**: Update installation instructions with new requirements
- **skills**: Add usage examples for changelog automation
### ⚡ Performance
- **complexity-analyzer**: Reduce analysis time by 40% with caching
### 🔧 Chores
- **deps**: Update dependencies to latest versions
- **ci**: Add automated changelog generation to CI pipeline
# PopKit 1.1.0 - Enhanced Changelog Automation
## 🎉 What's New
### Changelog Automation
Enhanced changelog generation with semantic versioning, auto-categorization, and intelligent version bump detection. Simply commit using conventional format and get professional changelogs automatically.
(#27)
### Git Workflow Integration
Automatic changelog updates on PR creation and merge. No more manual changelog maintenance - PopKit handles it all for you.
(#28)
### Release Notes Generation
Auto-generate GitHub release notes from commits with proper formatting, breaking change warnings, and migration guides.
(#29)
## 💥 Breaking Changes
### Change authentication endpoint from /auth to /api/auth
**Migration:**
- Update all API calls to use new endpoint
- See migration guide: docs/migrations/v1.1.0.md
## 🐛 Bug Fixes
- Fix merge conflict detection in subdirectories (#30)
- Correct Windows path handling in pre-commit hook (#31)
## 📊 Statistics
- **Features Added:** 3
- **Bug Fixes:** 2
- **Total Commits:** 12
- **Issues Closed:** 5
## 🔗 Links
- **Full Changelog:** [CHANGELOG.md](CHANGELOG.md#110---2026-01-08)
- **Issues Closed:** #27, #28, #29, #30, #31
---
**Install:** `/plugin install popkit-suite@popkit-claude`
**Upgrade:** `/plugin update popkit-suite`
# When creating PR with /popkit:git pr:
1. Detect commits since last release
2. Analyze commit types
3. Determine version bump (if release PR)
4. Generate changelog entry
5. Update CHANGELOG.md
6. Include changelog in PR description
7. Create PR
# When creating release with /popkit:git release:
1. Get commits since last version tag
2. Determine semantic version bump
3. Calculate next version
4. Generate changelog entry
5. Update CHANGELOG.md
6. Generate GitHub release notes
7. Save release notes file
8. Create git tag with version
9. Create GitHub release with notes
10. Publish release
When introducing breaking changes, use this format:
feat(api): Change authentication endpoint
Move authentication from /auth to /api/auth for consistency with REST API structure.
BREAKING CHANGE: Authentication endpoint changed from /auth to /api/auth
Migration: Update all API calls to use new endpoint
See migration guide: docs/migrations/v1.1.0.md
The changelog generator will:
The changelog generator validates:
type(scope): description formattype(scope): description(#123) to link commits to issuesapi, ui, coreTime Saved:
Quality Improved:
The changelog automation is implemented in:
Python utility: packages/shared-py/popkit_shared/utils/changelog_generator.py
ChangelogGenerator classSkill: packages/popkit-dev/skills/pop-changelog-automation/SKILL.md
No external dependencies required. Uses only Python standard library:
subprocess - Git command executionre - Conventional commit parsingjson - JSON output formatdatetime - Timestamp generationpathlib - File path handling# Current version: v1.0.0
# Commits since last tag:
# - feat(ui): Add dark mode toggle
# - fix(api): Correct rate limit calculation
# - docs: Update README
# Run changelog generator
python changelog_generator.py --auto --update
# Output:
# Auto-determined version bump: MINOR
# Next version: 1.1.0
# ✅ Updated CHANGELOG.md with v1.1.0
# Current version: v1.5.2
# Commits include:
# - feat(auth): Implement OAuth2
# BREAKING CHANGE: Removed basic auth support
# Run changelog generator
python changelog_generator.py --auto --release
# Output:
# Auto-determined version bump: MAJOR
# Next version: 2.0.0
#
# # PopKit 2.0.0
#
# ## 🎉 What's New
# ⚠️ This release contains 1 breaking change(s) - please review...
# Get version bump analysis
python changelog_generator.py --json
# Output:
{
"version": "1.1.0",
"version_bump": "minor",
"suggested_version": "1.1.0",
"commit_count": 12,
"issues_closed": [27, 28, 29],
"grouped": {
"feat": [...],
"fix": [...],
"docs": [...]
}
}
/popkit:git pr command/popkit:git release command/popkit:git pr and /popkit:git releaseStrategic Value: This quick win from Issue #27 delivers immediate time savings while establishing PopKit as superior to Auto Claude in changelog automation quality and intelligence.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.