diff --git a/README.md b/README.md index 4a58106..98adabb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Compatible with Claude Code, Codex, Gemini CLI, Cursor, Copilot, Windsurf, Cline ## Naming 🏷️ -Every first-party skill is named `kvb--` 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--` 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] diff --git a/skills/kvb-git-changelog/SKILL.md b/skills/kvb-release-changelog/SKILL.md similarity index 99% rename from skills/kvb-git-changelog/SKILL.md rename to skills/kvb-release-changelog/SKILL.md index 4dc859b..e9a5bfa 100644 --- a/skills/kvb-git-changelog/SKILL.md +++ b/skills/kvb-release-changelog/SKILL.md @@ -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 diff --git a/skills/kvb-git-changelog/reasons.md b/skills/kvb-release-changelog/reasons.md similarity index 100% rename from skills/kvb-git-changelog/reasons.md rename to skills/kvb-release-changelog/reasons.md diff --git a/skills/kvb-git-changelog/special.md b/skills/kvb-release-changelog/special.md similarity index 100% rename from skills/kvb-git-changelog/special.md rename to skills/kvb-release-changelog/special.md diff --git a/tests/test_naming.py b/tests/test_naming.py index 0b37996..d906a20 100644 --- a/tests/test_naming.py +++ b/tests/test_naming.py @@ -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",