refactor(skills)!: rename kvb-git-changelog to kvb-release-changelog

A new release category groups what announces a release (changelog,
article, posts); the changelog skill is its first member. The naming
test lists the category and the README organigram places the skill
under it.

BREAKING CHANGE: /kvb-git-changelog is now /kvb-release-changelog;
make install replaces the installed copy, kvb-skill-cleanup removes the
legacy directory.

Evidence: make test green, ruff and markdownlint clean
(/tmp/rename-changelog-make-test-2.log); no reference to the old name
left in the tree; MEDUSA 5 files, 0 findings.

🎯 Fix: 97 %
💥 Break: 3 %
💸 Cost: 100 %
⏱️ Time: –
🛡️ Security: 100 %
🏆 Score: 94
🚦 Gate: ✅ 90/5, cost and time <= 100, security 100 %

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Veen-BirkenbachandClaude Opus 5.5 committed 2026-11-09 09:09:58 +00:00
1 parent 86b55dbc91
commit 9e2452454e
5 files changed
+6 -5

No files matched your search

+4 -3
View File
@@ -9,7 +9,7 @@ Compatible with Claude Code, Codex, Gemini CLI, Cursor, Copilot, Windsurf, Cline
## Naming 🏷️
Every first-party skill is named `kvb-<category>-<name>` with one of these categories: `think`, `create`, `code`, `ci`, `git`, `check`, `org`, `agent`, `skill`, `coach`: `think` thinks without producing a file, `create` produces an artifact, `code` works on code, `ci` on pipelines, `git` on history and forges, `check` analyses and reports findings, `org` coordinates agents, `agent` acts on one agent itself: its repository setup (code index, agent instructions) and its state (relax, sleep, wake up), `skill` works on skills themselves, `coach` serves the operator's wellbeing. Only `kvb-cleanup`, `kvb-coach`, `kvb-help` and the collectors `kvb-dream`, `kvb-optimize` and `kvb-transcend` stand without a category. Names use `a-z`, `0-9` and single hyphens, at most 64 characters, and equal their directory name. `tests/test_naming.py` enforces all of it, including that the organigram below lists every skill under its category.
Every first-party skill is named `kvb-<category>-<name>` with one of these categories: `think`, `create`, `code`, `ci`, `git`, `release`, `check`, `org`, `agent`, `skill`, `coach`: `think` thinks without producing a file, `create` produces an artifact, `code` works on code, `ci` on pipelines, `git` on history and forges, `release` announces a release (changelog, article, posts), `check` analyses and reports findings, `org` coordinates agents, `agent` acts on one agent itself: its repository setup (code index, agent instructions) and its state (relax, sleep, wake up), `skill` works on skills themselves, `coach` serves the operator's wellbeing. Only `kvb-cleanup`, `kvb-coach`, `kvb-help` and the collectors `kvb-dream`, `kvb-optimize` and `kvb-transcend` stand without a category. Names use `a-z`, `0-9` and single hyphens, at most 64 characters, and equal their directory name. `tests/test_naming.py` enforces all of it, including that the organigram below lists every skill under its category.
## Organigram 🏛️
@@ -23,6 +23,7 @@ flowchart LR
kvb --> code[code]
kvb --> ci[ci]
kvb --> git[git]
kvb --> release[release]
kvb --> check[check]
kvb --> org[org]
kvb --> agent[agent]
@@ -56,7 +57,7 @@ flowchart LR
git --> git_update_branches[kvb-git-update-branches]
git --> git_branch_gc[kvb-git-branch-gc]
git --> git_orphans_find[kvb-git-orphans-find]
git --> git_changelog[kvb-git-changelog]
release --> release_changelog[kvb-release-changelog]
git --> git_hotfix[kvb-git-hotfix]
git --> git_push[kvb-git-push]
git --> git_diff[kvb-git-diff]
@@ -160,7 +161,7 @@ flowchart LR
update_branches[kvb-git-update-branches]
branch_gc[kvb-git-branch-gc]
orphans_find[kvb-git-orphans-find]
changelog[kvb-git-changelog]
changelog[kvb-release-changelog]
hotfix[kvb-git-hotfix]
git_push[kvb-git-push]
git_diff[kvb-git-diff]
@@ -1,5 +1,5 @@
---
name: kvb-git-changelog
name: kvb-release-changelog
description: >
Write the `pkgmgr release` message; prints only. Trigger on "release
message", "changelog entry", before cutting a release, or pkgmgr's
File renamed without changes.
File renamed without changes.
+1 -1
View File
@@ -9,7 +9,7 @@ from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
SKILLS = REPO_ROOT / "skills"
README = REPO_ROOT / "README.md"
CATEGORIES = ("think", "create", "code", "ci", "git", "check", "org", "agent", "skill", "coach")
CATEGORIES = ("think", "create", "code", "ci", "git", "release", "check", "org", "agent", "skill", "coach")
UNCATEGORIZED = frozenset(
{
"kvb-cleanup",