What problem does it solve?
Maintaining user-facing release notes is tedious and error-prone: entries get forgotten, merge conflicts pile up in a single CHANGES.md file, and auto-generated notes from commit messages read poorly for end users. This Skill guides maintainers through adopting and operating Sacho, a changelog manager that stores one small Markdown fragment per change under changes.d/ and compiles them into a dated CHANGES.md section at release time.
Core Features & Use Cases
- Fragment-based workflow: Create, format, preview, and validate changelog entries with
sacho add, sacho fmt, sacho preview, and sacho check, keeping each entry in the same commit series as its code change.
- Release management: Compile fragments into dated CHANGES.md sections with
sacho release, publish notes via sacho show piped to GitHub Releases, and forward-port bugfix releases across maintenance branches with sacho carry.
- Coverage enforcement: Wire
sacho check into CI or pre-commit hooks so commits touching configured paths require a fragment, with a Changelog: none trailer as an explicit opt-out.
- Use Case: After fixing a bug, you run
sacho add fix-timeout, write a user-facing entry starting with a past-tense verb, and let CI verify the fragment exists before merge; at release time one command compiles all fragments into the new version section.
Quick Start
Ask the assistant to check whether this repository has a sacho.toml or changes.d/ directory, then run sacho init to adopt Sacho or sacho add to write a changelog fragment for your latest change.