一键导入
keep-a-changelog
Maintain CHANGELOG.md in Keep a Changelog format by updating Unreleased and version sections with user-relevant changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Maintain CHANGELOG.md in Keep a Changelog format by updating Unreleased and version sections with user-relevant changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Prefer composition and interfaces over class inheritance to reduce coupling and survive change - model has-a relationships, abstract through interfaces/contracts rather than parent classes, and reserve inheritance for the narrow cases where it fits. Use when designing or refactoring class hierarchies, reviewing OOP code, deciding between extending a class and composing one, or when the user mentions inheritance, subclassing, base classes, or composition.
Write consistent Python docstrings using reST roles for cross-references. Use when writing or updating docstrings, documenting Python code, or when the user mentions docstrings, reST, Sphinx, or API documentation.
| name | keep-a-changelog |
| description | Maintain CHANGELOG.md in Keep a Changelog format by updating Unreleased and version sections with user-relevant changes. |
This skill helps keep CHANGELOG.md accurate, current, and user-focused following Keep a Changelog format.
It is intended for maintaining changelog entries as the product evolves.
The agent helps update ## [Unreleased] and, when explicitly asked, prepare version sections in the changelog.
The human remains responsible for deciding when and how to cut a release.
CHANGELOG.md## [Unreleased]CHANGELOG.md should be updatedAdded, Changed, Deprecated, Removed, Fixed, SecurityUnreleased notes into a versioned changelog sectionCHANGELOG.mdCHANGELOG.md does not follow Keep a Changelog structureThe changelog must include only user-relevant product changes.
For this repository, that generally means:
src/The changelog must NOT include:
tests/)If a change does not affect how users import, use, or install the library, it should generally be excluded from the changelog.
Only include changes that are meaningful to library consumers.
Do not include:
CHANGELOG.md must remain in this structure:
## [Unreleased]
### Added### Changed### Deprecated### Removed### Fixed### Security## [X.Y.Z] - YYYY-MM-DD[unreleased]: ..., [0.1.1]: ...)The six categories above are the baseline. Additional semantic sections MAY be
introduced when a change does not fit the basics (for example a dedicated
### Security callout, or another clearly-named category). Add them only when
they improve clarity; do not invent categories for changes that already fit.
Important:
Do not add or modify bottom reference links unless explicitly asked.
# wrong
- Something
- Something 2
# right
- Something
- Something 2
`like_this`) as sparingly as
possible — only for an essential identifier such as a symbol or flag. Prefer
plain prose.Use these types as defined by Keep a Changelog:
Additional rules:
UnreleasedWhen the user says "update changelog", "add to changelog", or provides a list of changes:
## [Unreleased].## [Unreleased] blockCHANGELOG.mdWhen the user explicitly asks to convert current changelog notes into a versioned section:
Use the target version X.Y.Z.
Use today's date in YYYY-MM-DD using the user's timezone.
Create a new section directly under Unreleased:
## [X.Y.Z] - YYYY-MM-DD
Move content from ## [Unreleased] into that new version section:
Reset ## [Unreleased] categories back to placeholder state (- ...)
Do not edit reference links at the bottom unless explicitly asked
Output the proposed changelog edits as a diff or updated blocks
When updating the changelog, always produce:
CHANGELOG.md changes (diff or updated sections)CHANGELOG.md current