Skip to main content

release-issues

After a release is tagged, comment on every GitHub issue closed by the PRs it shipped, pinging the people who reported it, so they know the fix is out and what to do to get it. Takes the released version, `x.y.z`. Run by `make release` after the tag is pushed; run it by hand to retry.

Source facts

Repository
David-Crty/databasement
Last source activity
October 10, 2026 at 17:15
Detected SKILL.md language
English
Stars
2,590
Forks
295

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
release-issues
description
After a release is tagged, comment on every GitHub issue closed by the PRs it shipped, pinging the people who reported it, so they know the fix is out and what to do to get it. Takes the released version, `x.y.z`. Run by `make release` after the tag is pushed; run it by hand to retry.
argument-hint
x.y.z
disable-model-invocation
true
context
fork
agent
general-purpose
background
false
allowed-tools
Bash(git *), Bash(gh *), Read
# Release issues A release just went out. Tell the people who reported each issue it resolves, on the issue itself, that the fix is available and what they need to do. Read and comment only: never edit, close, reopen or label an issue, and never touch the repository. ## Context - Version released: `$ARGUMENTS` (required, `x.y.z`) - Repository: !`gh repo view --json nameWithOwner --jq .nameWithOwner` - Maintainer (never ping): !`gh api user --jq .login` If `$ARGUMENTS` is empty or is not an `x.y.z` version, stop and say `Usage: /release-issues x.y.z`. If `git rev-parse -q --verify refs/tags/vx.y.z` finds nothing, stop: the release is not tagged yet. ## Steps 1. **Range.** `git fetch --tags --quiet`, then the previous release is `git describe --tags --abbrev=0 --match 'v*' vx.y.z^`. The release's commits are `git log <previous>..vx.y.z --no-merges --format='%h %s%n%b%n---'`. 2. **Linked issues.** Collect, deduplicated: - for every `(#NNN)` PR suffix in a subject, the issues that PR closes: `gh pr view NNN --json title,body,closingIssuesReferences`; - issues a commit body closes itself (`Fixes #N`, `Closes #N`, `Resolves #N`, any tense or case). An issue only *mentioned* (`see #N`, `(#N)` in prose) is not linked: skip it. Skip every PR titled `fix(security):` and the issues it closes: security fixes are disclosed through their advisory, not here. If nothing is linked, report that and stop. 3. **Per issue**, read it with `gh issue view N --json number,title,state,author,body,comments`, then: - **Skip it** if a comment already links `releases/tag/vx.y.z` (this release was already announced there, so a rerun posts nothing twice). - **Who to ping**: the author, plus every commenter who says they hit the same problem or asked for the same thing. Never the maintainer, never a bot (`[bot]` suffix, `coderabbitai`, `github-actions`). If nobody is left, skip the issue. - **What shipped**: read the closing PR's body (it explains the why and the trade-offs) and the `vx.y.z` entries in `CHANGELOG.md`. Compare against what the reporter actually asked for or described, and say plainly if part of it was solved differently or not at all. 4. **Write the comment** in the reporter's terms, not the code's: - First line: the pings, then `fixed in` / `shipped in` `[vx.y.z](https://github.com/<repo>/releases/tag/vx.y.z) (#PR)`, using "fixed" for a bug and "shipped" for a feature. - Two to four bullets on what changed *for them*: the visible behaviour, and any limit (what still works the old way, which engines are covered). - **What they must do**, only when there is something: drop a flag that is now redundant, change a setting, run a command. Map it to their setup from the issue (their engine, their dump flags, Docker vs. Kubernetes vs. native install). Backups, restores and discovery run on the remote agent when one is configured, so when the change is in that code path, or the reporter uses an agent, say the agent must be updated to `x.y.z` as well. - When another PR in the same release also helps their case (the root cause they described, a symptom they mentioned), link it in one sentence. - Close with one short line of thanks, specific to the report when it earned it (a reproduction, a proposed design that was followed). - Style: concise, no headings, no em dashes (use commas, parentheses or separate sentences), backticks for flags, env vars and commands, keep the terms Backup, Restore, Snapshot. Never claim something was tested or behaves in a way the PR does not state. 5. **Post** each through a quoted heredoc, so apostrophes and backticks pass through untouched: ```bash gh issue comment N --body-file - <<'EOF' <comment> EOF ``` 6. **Report** one line per issue: the comment URL, or why it was skipped.
View on GitHub