Agent skill

release

Create a new release for grepai. Checks CI, determines version type, updates CHANGELOG and documentation, credits contributors, and creates GitHub release.

Stars 1,599
Forks 127

Install this agent skill to your Project

npx add-skill https://github.com/yoanbernabeu/grepai/tree/main/.claude/skills/release

SKILL.md

Release Process for grepai

This skill guides you through creating a new release. All output must be in English.

When to Use This Skill

Invoke this skill when:

  • User asks to "create a release"
  • User asks to "publish a new version"
  • User asks to "bump the version"
  • User mentions "release" in the context of versioning

Release Workflow

Step 1: Verify CI on Main

Check that all CI checks pass on main:

bash
gh run list --branch main --limit 1 --json status,conclusion,name

STOP if CI is not green. Ask the user to fix issues first.

Step 2: Get Current Version and Changes

Get the latest release:

bash
gh release list --limit 1

List merged PRs since last release:

bash
gh pr list --state merged --base main --json number,title,author,mergedAt,labels --limit 50

Display a summary of changes categorized by type (feat, fix, docs, etc.).

Step 3: Determine Version Type

Change Type Version Bump
Breaking changes Major (vX+1.0.0)
New features (feat) Minor (vX.Y+1.0)
Bug fixes (fix) Patch (vX.Y.Z+1)
Docs/chore only Usually no release needed

Ask user confirmation before proceeding.

Step 4: Update Version Files

4.1 CHANGELOG.md

Add new section after ## [Unreleased]:

markdown
## [X.Y.Z] - YYYY-MM-DD

### Added
- **Feature Name**: Description (#PR) - @author

### Fixed
- **Fix Name**: Description (#PR) - @author

Update comparison links at bottom:

markdown
[Unreleased]: https://github.com/yoanbernabeu/grepai/compare/vX.Y.Z...HEAD
[X.Y.Z]: https://github.com/yoanbernabeu/grepai/compare/vPREVIOUS...vX.Y.Z

4.2 Documentation Hero

Update version in docs/src/components/homepage/HeroAnimated.astro line 6:

astro
const { version = "X.Y.Z" } = Astro.props;

4.3 Nix Flake

Update flake.nix:

  1. Update version (line 13):
nix
version = "X.Y.Z";
  1. Update vendorHash:
    • Set vendorHash = ""; temporarily in flake.nix
    • Run make nix-hash to compute the correct hash (requires Docker)
    • Replace with the new hash: vendorHash = "sha256-XXXXX";
    • If Docker is not available, ask the user to provide the hash or skip this step

Step 5: Commit and Push

bash
git add CHANGELOG.md docs/src/components/homepage/HeroAnimated.astro flake.nix
git commit -m "chore(release): bump version to X.Y.Z

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
git push origin main

Step 6: Wait for CI

bash
gh run list --branch main --limit 1 --json status,conclusion --watch

Step 7: Create GitHub Release

bash
gh release create vX.Y.Z --generate-notes --title "vX.Y.Z"

Step 8: Verify

bash
gh release view vX.Y.Z

Contributor Credits

IMPORTANT: Always credit PR authors in CHANGELOG:

markdown
- **Pascal/Delphi Support**: Add `.pas` and `.dpr` file support (#71) - @yoanbernabeu

GitHub --generate-notes automatically credits contributors in release notes.

Checklist

  • CI green on main before starting
  • Version type matches changes (major/minor/patch)
  • CHANGELOG.md updated with all PRs
  • All contributors credited with @username
  • Hero version updated in docs
  • Nix flake version and vendorHash updated in flake.nix
  • CI passed after version commit
  • GitHub release created

Keywords

release, version, bump, publish, changelog, semver, semantic versioning

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results