memstack-development-changelog-generator
Skill425 starsChanged 5 months agoMITView on GitHub
Use when the user says 'generate changelog', 'update changelog', 'what changed', 'release notes', 'write changelog', or needs a formatted CHANGELOG.md from git commit history. Do NOT use for diary entries, git log viewing, or commit message writing.
In this repository87 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- memstack-automation-api-integrationSkill
- memstack-automation-content-pipelineSkill
- memstack-automation-cron-schedulerSkill
- memstack-automation-hosted-mcp-catalogSkill
- memstack-automation-n8n-workflow-builderSkill
- memstack-automation-webhook-designerSkill
- memstack-business-client-onboardingSkill
- memstack-business-contract-templateSkill
- memstack-business-financial-modelSkill
- memstack-business-freelancer-toolkitSkill
- memstack-business-gdprSkill
- memstack-business-invoice-generatorSkill
- memstack-business-licensingSkill
- memstack-business-proposal-writerSkill
- memstack-business-scope-of-workSkill
- memstack-business-sop-builderSkill
- compressSkill
- memstack-content-blog-postSkill
- memstack-content-email-sequenceSkill
- memstack-content-landing-page-copySkill
- memstack-content-newsletterSkill
- memstack-content-product-descriptionSkill
- memstack-content-tiktok-scriptSkill
- memstack-content-twitter-threadSkill
- memstack-content-youtube-scriptSkill
- memstack-deployment-ci-cd-pipelineSkill
- memstack-deployment-docker-setupSkill
- memstack-deployment-domain-sslSkill
- memstack-deployment-hetzner-setupSkill
- memstack-deployment-netlify-deploySkill
- memstack-deployment-railway-deploySkill
- memstack-development-api-designerSkill
- memstack-development-code-reviewerSkill
- memstack-development-mentorSkill
- memstack-development-migration-plannerSkill
- memstack-development-performance-auditSkill
- memstack-development-refactor-plannerSkill
- memstack-development-test-writerSkill
- memstack-development-webapp-testingSkill
- diarySkill
- echoSkill
- familiarSkill
- forgeSkill
- goalSkill
- governorSkill
- grimoireSkill
- humanizeSkill
- memstack-marketing-competitor-analysisSkill
- memstack-marketing-facebook-adSkill
- memstack-marketing-google-adSkill
- memstack-marketing-launch-planSkill
- memstack-marketing-lead-magnetSkill
- memstack-marketing-marketplace-submitSkill
- memstack-marketing-pricing-strategySkill
- memstack-marketing-sales-funnelSkill
- memstack-marketing-webinar-scriptSkill
- memstack-product-feature-specSkill
- memstack-product-feedback-analyzerSkill
- memstack-product-mvp-scoperSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Do NOT use for session logging (that's Diary)
- Distinctive: line 23
Do NOT use for commit message writing (that's a git workflow)
- Distinctive: line 24
Do NOT use for PR descriptions (that's a git workflow)
- Distinctive: line 31
Ask the user or infer from context:
- Distinctive: line 65
Follow Keep a Changelog format:
- Distinctive: line 98
If exists: prepend the new entry after the title line, before existing entries
- Distinctive: line 99
If not exists: create with header:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Changelog Generator: Generating changelog...
Produces a formatted CHANGELOG.md from git commit history, grouped by type and ready for release.
Activation
| Trigger | Status |
| User says "generate changelog" or "update changelog" | ACTIVE |
| User says "what changed" or "release notes" | ACTIVE |
| User says "write changelog" or "changelog since" | ACTIVE |
| User wants to view git log only | NOT this skill: use git commands directly |
| User wants a diary entry | NOT this skill: use Diary |
Context Guard
- Do NOT use for session logging (that's Diary)
- Do NOT use for commit message writing (that's a git workflow)
- Do NOT use for PR descriptions (that's a git workflow)
- This skill ONLY produces CHANGELOG.md content from existing commits
Steps
Step 1: Determine the range
Ask the user or infer from context:
| Parameter | Default | Example |
| Since tag/date | Last tag or last 7 days | v3.3.0, 2026-03-01 |
| Until | HEAD | v3.4.0, HEAD |
| Format | Keep a Changelog | Conventional, custom |
# Find the last tag
git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"
# Get commits since last tag (or date)
git log --oneline --no-merges $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~50")..HEADStep 2: Categorize commits
Parse each commit message and classify by prefix:
| Prefix | Category | Changelog Section |
feat: / feature: | Features | ### Added |
fix: / bugfix: | Bug Fixes | ### Fixed |
docs: | Documentation | ### Changed |
refactor: | Refactoring | ### Changed |
perf: | Performance | ### Changed |
test: | Tests | (omit unless user requests) |
chore: / build: / ci: | Maintenance | (omit unless user requests) |
BREAKING CHANGE or !: | Breaking | ### Breaking Changes |
| No prefix | Uncategorized | ### Other |
Step 3: Generate the changelog entry
Follow Keep a Changelog format:
## [version] - YYYY-MM-DD
### Breaking Changes
- Description of breaking change ([commit-hash])
### Added
- New feature description ([commit-hash])
### Fixed
- Bug fix description ([commit-hash])
### Changed
- Refactor/improvement description ([commit-hash])Writing rules:
- Rewrite technical commit messages into user-facing language
- Group related commits into single entries where sensible
- Lead with the impact, not the implementation ("Users can now..." not "Added handler for...")
- Include short commit hash as reference
- Skip merge commits, version bumps, and trivial chores unless requested
- Order: Breaking Changes > Added > Fixed > Changed > Removed > Other
Step 4: Handle existing CHANGELOG.md
# Check if CHANGELOG.md exists
ls CHANGELOG.md 2>/dev/null- If exists: prepend the new entry after the title line, before existing entries
- If not exists: create with header:
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [version] - YYYY-MM-DD
...Step 5: Present for review
Changelog entry for [version] ([date]):
- [N] features added
- [N] bugs fixed
- [N] changes
- [N] breaking changes
Ready to write to CHANGELOG.md? (prepend / overwrite / clipboard only)Disambiguation
- "generate changelog" / "update changelog" / "release notes" = Changelog Generator
- "save diary" / "log session" = Diary (not Changelog Generator)
- "what did we do" / "last session" = Echo (not Changelog Generator)
- "git log" / "show commits" = Direct git commands (not Changelog Generator)
Level History
- Lv.1: Base: Git-to-changelog with Keep a Changelog format, commit categorization by conventional commits prefix, user-facing rewriting, existing file handling. (Origin: MemStack v3.5, Apr 2026)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

