Files
oikos/.claude/skills/release-prep/SKILL.md
T
2026-04-21 10:38:45 +02:00

2.1 KiB

name, description, disable-model-invocation, user-invocable, argument-hint, allowed-tools
name description disable-model-invocation user-invocable argument-hint allowed-tools
release-prep Bump patch version, update CHANGELOG, commit, tag, push and create GitHub release true true [patch|minor|major]
Read
Edit
Bash(npm version *)
Bash(git add *)
Bash(git commit *)
Bash(git tag *)
Bash(git push *)
Bash(gh release create *)
Bash(git status *)
Bash(git log *)
Bash(git diff *)

Run from inside oikos/. Argument selects the semver bump (default: patch).

  1. Pre-flight — run git status and git diff --staged. Abort if the tree is dirty with unrelated files. Summarise the pending changes.
  2. CHANGELOG — open oikos/CHANGELOG.md. Insert a new ## [X.Y.Z] - YYYY-MM-DD block immediately below ## [Unreleased]. Use today's date from the currentDate context. Only use Keep-a-Changelog sections: ### Added, ### Changed, ### Fixed, ### Removed, ### Security. One bullet per user-facing change in English. Never invent entries that aren't in the diff.
  3. Version bump — run npm version ${1:-patch} --no-git-tag-version. Read the new version from oikos/package.json.
  4. Stagegit add oikos/CHANGELOG.md oikos/package.json oikos/package-lock.json plus any other files from the task. Never use git add -A or git add ..
  5. Commitgit commit -m "chore: release vX.Y.Z". Do not pass --no-verify. If a hook fails, fix the cause and create a new commit.
  6. Taggit tag vX.Y.Z.
  7. Pushgit push && git push --tags.
  8. GitHub Releasegh release create vX.Y.Z --repo ulsklyc/oikos --title "vX.Y.Z" --notes "<CHANGELOG block body>". Paste the new CHANGELOG section verbatim as notes.

Guardrails

  • Never --force, never --no-verify, never --no-gpg-sign.
  • The GH_TOKEN must come from the shell environment, never from a hard-coded literal in this file or in commit messages.
  • If gh release create fails with a 401/403, stop and report — do not paste a token inline.
  • If git status shows uncommitted work unrelated to the release, stop and ask the user.