GitHub Release Draft Prompt

Last updated on Mar 15, 2026

Looks at your commits since the last release, picks the next version number, and creates a draft GitHub release with a highlights section and auto-generated changelog.

You review and publish.

Built for monorepos where multiple apps ship from one repo.

Each app gets its own tag prefix (api-v1.4.3, web-v0.3.0), so releases stay separate.

You can pass a specific version or let it patch-bump automatically.

Needs an AI agent with gh CLI access (Claude Code, Cursor, Codex, etc.).

Easy to simplify for single-app repos too.

Prompt

Create a GitHub release draft for the specified app.

**Usage:** `/release <api|web> [version]`

**Examples:**

- `/release api` → Patch bump (1.4.3 → 1.4.4)
- `/release web 0.3.0` → Specific version

## Instructions

Parse arguments from: $ARGUMENTS

- First arg: app name (`api` | `web`) - REQUIRED
- Second arg: version (`x.y.z`) - OPTIONAL

### 1. Validate app name and map to tag prefix

| App   | Tag Prefix | Display Name |
| ----- | ---------- | ------------ |
| `api` | `api-v`    | `[API]`      |
| `web` | `web-v`    | `[Web]`      |

If app name is invalid, show usage and stop.

### 2. Get latest release tag for this app

```bash
gh release list --json tagName --limit 50 | \
  jq -r '.[] | select(.tagName | startswith("PREFIX")) | .tagName' | head -1
```

### 3. Determine new version

**If version argument provided:** Use it directly (validate format `x.y.z`)

**If no version argument:** Extract version from latest tag and increment patch:

```bash
# api-v1.4.3 → VERSION=1.4.3
# Split: MAJOR=1, MINOR=4, PATCH=3
# New: 1.4.4
```

### 4. Show what will be released

Before creating, display:

- Previous tag
- New tag
- Commits that will be included (use `git log PREV_TAG..HEAD --oneline`)

### 5. Analyze commits for highlights

Review the commits since last release and identify 4-6 key highlights. Group by:

- **Features**: New capabilities (feat: commits)
- **Fixes**: Important bug fixes (fix: commits)
- **Improvements**: Refactors, performance, DX (chore:, refactor:, perf: commits)

Write a highlights section in this format:

```markdown
## Highlights

- **Feature Name**: Brief description of what it enables
- **Another Feature**: What users can now do
- **Bug Fix Area**: What was broken and is now fixed
```

### 6. Create draft release

Combine highlights with auto-generated notes:

```bash
gh release create "NEW_TAG" \
  --title "[DISPLAY_NAME] vVERSION" \
  --generate-notes \
  --notes-start-tag "PREVIOUS_TAG" \
  --draft \
  --notes "## Highlights

- **Highlight 1**: Description
- **Highlight 2**: Description
- **Highlight 3**: Description

---

## What's Changed
"
```

The `--generate-notes` will append the auto-generated changelog after "What's Changed".

### 7. Output result

Show the draft release URL so user can review and publish.

## Error Cases

- Invalid app name → Show usage
- No previous releases → Require explicit version argument
- Invalid version format → Show error with expected format
- No commits since last release → Warn user but still create if they want

Subscribe for the latest prompts

New prompts, straight to your inbox