Git Release
Rédige des notes de version Keep-a-Changelog, choisit l'incrément semver, affiche la commande gh release
Testé · Fonctionne
Ce que fait
Transforme les commits et les PR fusionnées depuis le dernier git tag en un brouillon de notes de version Keep-a-Changelog, propose une incrémentation de version sémantique (majeure sur les pieds de page BREAKING CHANGE ou les marqueurs `!`, mineure sur les fonctionnalités, patch sinon), et affiche une commande `gh release create` prête à l'emploi. Se déclenche lorsque vous demandez de rédiger des notes de version, de préparer une version GitHub taguée ou de décider quel numéro de version un ensemble de modifications devrait obtenir. Il s'arrête avant le taggage ou la publication jusqu'à ce que vous confirmiez l'incrémentation, et signale les messages de commit non conventionnels au lieu d'inventer un résumé pour eux.
Rapport de test
Cloné le dépôt (l'API GitHub était limitée en débit) et trouvé exactement un SKILL.md à .opencode/skills/git-release/ ; le frontmatter a été analysé avec nom + description (158 caractères) plus licence/compatibilité/métadonnées, aucun script ou fichier groupé référencé, aucun chemin codé en dur, et une recherche grep pour curl|sh, base64, eval et les phrases d'injection sur le répertoire de la compétence est revenue vide. Installé sous un HOME temporaire, jamais le vrai ~/.claude/skills (vérifié après). Pour le test de sortie, j'ai construit un dépôt git temporaire à /tmp/gr-testrepo tagué v1.2.0 avec six commits incluant `feat(cli)!: rename --out to --output` portant un pied de page BREAKING CHANGE et un message inutile « Update readme », puis j'ai écrit baseline-notes.md sans la compétence et release-notes.md en suivant strictement le corps. Différence concrète : la base de référence a intitulé le fichier « # Release v1.3.0 » et a listé le renommage sous « New », manquant complètement la rupture, tandis que l'artefact de compétence a produit « ## [2.0.0] » avec une section Removed, la raison indiquée (« carries a `!` marker and a `BREAKING CHANGE:` footer »), une commande `gh release create v2.0.0 --notes-file release-notes.md`, et il a signalé « Update readme » comme non révisable au lieu de le paraphraser en « Updated the readme » comme l'a fait la base de référence. Phrases de déclenchement jugées : DEVRAIT charger — « Draft release notes for v2.0.0 from what's merged since the last tag », « I'm cutting a release tomorrow, is this a major or a minor bump? », « Prepare a GitHub release for this repo » (oui, oui, oui) ; NE DEVRAIT PAS — « Write a commit message for these staged changes » et « Set up a GitHub Actions workflow that publishes to npm on tag push » (non, non ; les deux sont du travail de commit/CI, pas de rédaction de notes de version). 5/5. La documentation perd un point uniquement parce que la compétence est présentée comme le seul exemple de compétence du dépôt principal sans README par compétence ; ce que README.md et docs/skills.md en disent correspond au fichier.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/wesammustafa/opencode-primer.git /tmp/git-release-src mkdir -p ~/.claude/skills cp -R /tmp/git-release-src/.opencode/skills/git-release ~/.claude/skills/git-release # Single-file skill (SKILL.md only), no scripts or deps to install. # Frontmatter carries `compatibility: opencode`, but the folder is a standard # Claude Code skill and loads unchanged from ~/.claude/skills/git-release/. # Runtime expectation from the skill body: an authenticated `gh` CLI if you want # it to read merged PR data and actually run the emitted release command. # Without `gh` it still works off `git log <last-tag>..HEAD`. # Usage: "draft release notes since the last tag" in a repo with at least one tag.
Commandes et exemples de prompts
/git-releaseRédige des notes de version Keep-a-Changelog, choisit l'incrément semver, affiche la commande gh release
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Draft release notes for this tagged releasePropose the next semver bump for this releasePrepare a gh release create command