Agent developers often face the dilemma of reconstructing release notes at release time: teammates miss a breaking change, users do not know whether they should upgrade, and developers try to reconstruct “what actually changed in this release” six weeks later. Commit messages serve the code, while changelogs serve the people whose lives are changed by the code. If they wait until release to write it from memory, memory has already blurred which changes matter. The changelog-capture plugin aims to solve this problem by requiring structured, user-facing entries to be captured when code changes are made.

What It Is

This is a workflow plugin located at chenneyzhuang/changelog-capture, maintained by ChenneyZhuang. Its core capability is to capture user-facing entries while the code diff is still at hand. Entries follow a “Who/What/How to upgrade” format, clearly distinguish Added/Changed/Fixed/Breaking changes, and are validated against the actual diff at release time to ensure the changelog does not describe behavior the code does not have.

Installation and Enablement

Install the plugin using the following command:

npx skills add ChenneyZhuang/changelog-capture

After installation, the plugin runs with the current DSH process. For agent-specific compatibility paths, refer to the COMPATIBILITY.md file in the project.

Core Features

  1. Capture at change time: Record while the diff is still at hand to avoid forgetting.
  2. User-visible entries: Entry structure is fixed as Who (affected users), What (behavior description), How to upgrade (upgrade steps).
  3. Clear categorization: Changes are classified into Added, Changed, Fixed, and Breaking. Breaking changes must be placed at the top of the list.
  4. Validation mechanism: At release time, each entry must be checked against the actual diff.
  5. Noise reduction: Record only when a change affects user behavior; internal refactors with no externally visible difference are not recorded.

Typical Usage

The plugin requires entries to follow a specific format. For example, for a change to the CSV import feature:

### Changed — CSV import now maps date columns automatically (was: manual mapping)
Who: everyone importing CSV exports from other tools
Upgrade: re-run the import preview once; check the mapped dates before confirming

Use Cases and Caveats

This plugin is suitable for projects that need to maintain clear, user-visible change records.

Before use, be sure to review the source code and license (MIT). The plugin runs with the permissions of the current dsh process, and the completeness of its diff reconciliation depends on the completeness of the git history. For squashed or amended history, a real change inventory is required. In addition, the judgment of what is “user-facing” is subjective; an internal API change that does not affect SDK users may have no entry for now, until it is reported.

Summary

By recording changes in real time when they occur, the plugin minimizes the cost of generating release notes and avoids the chaos of reconstructing change history six weeks later. For more details and source code, visit the plugin directory or the GitHub repository.