本文へ移動
cccskills
無料GitHub で公開

keep-a-changelog

Maintain CHANGELOG.md — add new version entries, keep the Unreleased section, cut a release, or restructure the whole file — following the Keep a Changelog format and Semantic Versioning.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Keep a Changelog

Use this skill when the user wants to add a new version entry to a CHANGELOG.md, maintain the Unreleased section, cut a release, or restructure the changelog following the Keep a Changelog format and Semantic Versioning.

Principles

  • Changelogs are for humans, not machines. They are curated: record notable, user-facing changes only — a changelog is not a commit log.
  • Machines can draft; humans curate. When generating from commits, summarize from the reader's point of view; never paste git log output.
  • List the latest version first. Show the release date (YYYY-MM-DD). Write plainly — many readers are not native speakers.
  • Never guess dates — always retrieve the current date programmatically (date +%Y-%m-%d).

Structure

File header

Pin the link to the spec version the file follows (2.0.0 unless the repo pins an older one):

# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/2.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Unreleased section (top of file)

## [Unreleased]
### Added
- ...

Version blocks and comparison links (bottom of file)

## [1.1.0] - 2025-06-01
### Added
- ...
### Fixed
- ...

[Unreleased]: https://github.com/owner/repo/compare/v1.0.0...HEAD
[1.1.0]: https://github.com/owner/repo/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/owner/repo/releases/tag/v1.0.0

[Unreleased] compares the latest tag to HEAD; each version links to the diff vs the one before it; the oldest version links to its tag (nothing earlier to compare). Keep the link out of the heading so the file reads cleanly.


Workflow — Maintain Unreleased

As notable changes land, append them to ## [Unreleased] under the right section. This is the default ongoing workflow.

Workflow — Cut a Release

  1. Confirm the new version with the user (or determine from the spec):
    • MAJOR: breaking changes
    • MINOR: new features, backward-compatible
    • PATCH: bug fixes only
  2. Rename ## [Unreleased] to ## [X.Y.Z] - YYYY-MM-DD (heading and its link at the bottom).
  3. Change the [Unreleased] link to compare the new tag against HEAD; add the new version's comparison link.
  4. Add a fresh, empty ## [Unreleased] section pointing at HEAD.
  5. Get the date via date +%Y-%m-%d — never hardcode.

Workflow — New Version Entry (no Unreleased section / backfill)

  1. Read CHANGELOG.md to identify the last released version and its date.
  2. Find commits since then: git log --oneline <last-tag>..HEAD. If no tag exists for the last version, use git log --oneline and filter manually.
  3. Get today's date programmatically.
  4. Determine the new version number (ask the user if not specified).
  5. Group commits into Keep a Changelog sections (see mapping below), curating: fold several commits into one reader-facing entry where they form one change.
  6. Prepend the new version block after the file header.
  7. Add/update the comparison links at the bottom.
  8. Do NOT remove or alter any existing version entries.

Workflow — Restructure Entire CHANGELOG.md

  1. Read the full file; note all version blocks and their dates.
  2. Rewrite, preserving every version and date, enforcing: correct header, Unreleased section, consistent section names/order, comparison links at the bottom, consistent bullet style (capital letter, no trailing period).
  3. Confirm dates via date +%Y-%m-%d where a version claims today.

Section Rules

Use only these six sections, in this order when multiple are present. Omit any empty section.

SectionWhen to use
AddedNew features or capabilities
ChangedChanges to existing behavior
DeprecatedFeatures marked for future removal
RemovedFeatures removed in this release
FixedBug fixes
SecuritySecurity-related fixes or improvements

Fixed vs Changed — the decision rule: was the old behavior a bug? If yes → Fixed. If it was intentional and you changed it → Changed.

Dependencies are not a type of change. A dependency update can be harmless, a fix, or breaking — describe its effect under the right type, or leave it out.

Breaking changes — mark with **Breaking:** at the start of the entry, inside its type (usually Changed or Removed), never a separate section:

### Changed
- **Breaking:** `parse()` now returns a result object instead of raising.
- Rename the `color` option to `theme`.

CVEs — lead the entry with the CVE ID so readers and tools can match it:

### Security
- CVE-2024-12345: out-of-bounds read when parsing malformed input.

Deprecate before removing — mark Deprecated in one release, Removed in a later one, and say which version will remove it.

Yanked releases — list, don't hide: ## [0.0.5] - 2014-12-13 [YANKED].


Commit → Section Mapping Heuristics

This mapping assumes Conventional Commits messages produced by the git-commiter skill.

CommitSection
feat: / add / newAdded
refactor: / change / rename / move / update / improveChanged
fix: / bug / patchFixed
remove: / delete / dropRemoved
deprecate:Deprecated
security: / cve / vulnSecurity
docs: / chore: / ci: / test:Omit unless user-facing

When a commit is ambiguous, infer intent from the diff or file name. Remember: several commits often collapse into one entry — write for the reader, not the history.


Style Rules

  • Write in English throughout.
  • Each bullet: capital letter, present tense, no trailing period. Example: Add retry logic for HTTP requests
  • Keep bullets concise — one line per entry where possible.
  • Wrap code identifiers, file paths, and module names in backticks.
  • Never guess dates — always retrieve the current date programmatically.
  • When in doubt about plain wording, follow the simple-english skill.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

Execute git commits using the Conventional Commits specification. Use this skill whenever the user says "commit", "git commit", "/commit", "stage and commit", "make a commit", "save my changes", or asks to commit specific files or all changes. Also triggers on phrases like "push my changes" (commit first), "commit everything", "commit with message X", or whenever git diff/status suggests uncommitted work the user wants to save. Handles auto-staging, diff analysis, message generation, breaking change detection, batch splitting of unrelated changes, safe pushes, and pre-commit hook failures gracefully. Always use this skill rather than ad-hoc git commit commands.

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

graphify

無料

Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

grilling

無料

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

implement

無料

Implement a piece of work based on a spec or set of tickets.

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

Search and explore an Obsidian vault through the NoteBrain CLI (semantic search, tags, backlinks, connections, hidden links, boosted retrieval). Use it whenever the user mentions their notes, knowledge base, Obsidian vault, semantic search, finding connections or unlinked notes, or asks exploratory questions like "what do I know about X", "find notes related to Y", "what connects to Z", or "summarize my notes on W" — even when they never say NoteBrain, vector search, or ChromaDB.

日本語の概要は準備中です。原文の説明を表示しています。

nmdra/Dotfiles282026年8月11日 更新

nmdra のスキルをすべて見る

このスキルの問題を報告する