Git Release

Utarbeider Keep-a-Changelog utgivelsesnotater, velger semver-økningen, skriver ut gh release-kommandoen

av wesammustafa · wesammustafa/opencode-primer

Bestått ★ 8.4/10

Git Release — Utarbeider Keep-a-Changelog utgivelsesnotater, velger semver-økningen, skriver ut gh release-kommandoen

Hva den gjør

Gjør commits og mergede PR-er siden siste git tag om til et Keep-a-Changelog utgivelsesnotatutkast, foreslår en semantisk versjonsøkning (major på BREAKING CHANGE-fotnoter eller `!`-markører, minor på funksjoner, patch ellers), og skriver ut en klar-til-å-kjøre `gh release create`-kommando. Utløses når du ber om å utarbeide utgivelsesnotater, forberede en tagget GitHub-utgivelse, eller bestemme hvilket versjonsnummer et sett med endringer skal få. Den stopper kort av å tagge eller publisere før du bekrefter økningen, og flagger ukonvensjonelle commit-meldinger i stedet for å finne på et sammendrag for dem.

Testrapport

Klonet repoet (GitHub API var rate-limited) og fant nøyaktig én SKILL.md på .opencode/skills/git-release/; frontmatter parses med navn + beskrivelse (158 tegn) pluss lisens/kompatibilitet/metadata, ingen skript eller medfølgende filer referert, ingen hardkodede stier, og en grep etter curl|sh, base64, eval og injeksjonsfraser over ferdighetsmappen kom tilbake tom. Installerte den under en mktemp HOME, aldri den virkelige ~/.claude/skills (verifisert etterpå). For utdatatesten bygget jeg et midlertidig git-repo på /tmp/gr-testrepo tagget v1.2.0 med seks commits inkludert `feat(cli)!: rename --out to --output` med en BREAKING CHANGE-fotnote og én søppelmelding "Update readme", deretter skrev jeg baseline-notes.md uten ferdigheten og release-notes.md strengt etter teksten. Konkret forskjell: baseline overskrev filen "# Release v1.3.0" og listet omdøpningen under "New", og manglet bruddet helt, mens ferdighetsartefaktet produserte "## [2.0.0]" med en Removed-seksjon, den angitte årsaken ("carries a `!` marker and a `BREAKING CHANGE:` footer"), en `gh release create v2.0.0 --notes-file release-notes.md`-kommando, og den flagget "Update readme" som uanmeldbar i stedet for å parafrasere den til "Updated the readme" som baseline gjorde. Utløserfraser jeg vurderte: SKAL lastes — "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" (ja, ja, ja); SKAL IKKE — "Write a commit message for these staged changes" og "Set up a GitHub Actions workflow that publishes to npm on tag push" (nei, nei; begge er commit-/CI-arbeid, ikke utgivelsesnotatutkast). 5/5. Dokumenter mister et poeng kun fordi ferdigheten presenteres som primer-repoets ene eksempelferdighet uten per-ferdighet README; det README.md og docs/skills.md hevder om den, stemmer overens med filen.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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.

Kommandoer og eksempelprompter

  • /git-releaseUtarbeider Keep-a-Changelog utgivelsesnotater, velger semver-økningen, skriver ut gh release-kommandoen

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Draft release notes for this tagged release
  • Propose the next semver bump for this release
  • Prepare a gh release create command