Automates version bumping, changelog updates, and GitHub release tagging for the RegiLattice project.

Install

mkdir -p .claude/skills/release-rajwanyair && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10456" && unzip -o skill.zip -d .claude/skills/release-rajwanyair && rm skill.zip

Installs to .claude/skills/release-rajwanyair

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Bump the version, update the changelog, tag, and publish a GitHub release for RegiLattice. Use when preparing a new release, updating version numbers, creating a CHANGELOG entry, or pushing a version tag to trigger the CI release workflow. Triggers on: 'bump version', 'release', 'publish', 'version', 'tag', 'changelog', 'MINOR bump', 'PATCH bump'.
349 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Bump version numbers
  • Update changelogs
  • Create git tags
  • Publish GitHub releases

How it works

It automates the update of version properties across multiple files and triggers the CI release workflow via git tags.

Inputs & outputs

You give it
Version type (patch/minor/major)
You get back
New release

When to use release

  • Bump project version for a patch
  • Update changelog before release
  • Push version tag to trigger CI

About this skill

Release — RegiLattice

Version Scheme

MAJOR.MINOR.PATCH — Semantic Versioning

BumpWhen
PATCHBug fixes, refactoring, docs, dead code removal, config fixes
MINORNew tweaks, new features, new dialogs/services
MAJORBreaking API changes, architectural overhauls

Files to Update (31-item checklist — see full details in lessons-learned.instructions.md)

The canonical checklist with all 28 files + 3 external actions lives in .github/instructions/lessons-learned.instructions.md (section "SVG Count Update Checklist"). Always reference that as the source of truth.

Group A — Version properties (EVERY version bump)

#FileProperty / Pattern
1Directory.Build.props<Version>, <AssemblyVersion>, <FileVersion>, <InformationalVersion>
2installer/Package.wxsVersion="X.Y.Z" (inside <Package ...>)

Group B — SVG graphics (when counts change)

#FileWhat changes
3docs/assets/stats.svgTweaks + categories + tests (plain digits — 7718, never space-separated)
4docs/assets/banner.svgTweaks · categories · tests · themes · profiles
5docs/assets/features.svgPer-category tweak count badges
6docs/assets/architecture.svgStats badge + category pills: tweak count · category count · module file count
7docs/assets/how-it-works.svgTweaks count in Browse step
8docs/assets/project-structure.svgFile count · tweak count · category count
9docs/assets/solution-overview.svgFile count · tweak count

Group C — Documentation & instruction files

#FileWhat changes
10README.mdVersion badge, test badge, download link, description, features, diagram counts
11CHANGELOG.md (root stub)Latest version entry summary
12docs/CHANGELOG.mdPrepend new ## [X.Y.Z] section with Stats line
13docs/Development.mdHeader "Last updated" date + version
14docs/Roadmap.mdBaseline counts if changed
15.github/copilot-instructions.mdHeader, version table, tweak/category/module/test counts
16.github/instructions/workspace.instructions.mdTweaks/module count in Tweaks/ directory comment
17.github/instructions/lessons-learned.instructions.mdHeader date + version + counts
18.github/instructions/testing.instructions.mdTest project counts table (Core/CLI/GUI/Total)
19.github/agents/regilattice.agent.md"Current state" line: tweak/category/module/test counts

Group D — Package registry manifests (version + description counts)

#FileWhat changes
20chocolatey/regilattice.nuspec<version>, <summary>, description counts
21scoop/regilattice.jsonversion, url, hash, description counts
22winget/RegiLattice.RegiLattice.yamlPackageVersion
23winget/RegiLattice.RegiLattice.installer.yamlPackageVersion, InstallerUrl
24winget/RegiLattice.RegiLattice.locale.en-US.yamlPackageVersion, ShortDescription, Description counts
25powershell/RegiLattice.psd1ModuleVersion

Group E — Derived files (update AFTER release build)

#FileWhat changes
26DockerfileLABEL description counts

Group F — External (post-push)

#ActionWhat changes
27GitHub About sidebargh repo edit — update tweak count in description

Step-by-Step Release Process

0. Create a release issue and branch (MANDATORY for version bumps)

Current path:

  1. Create a release issue from .github/ISSUE_TEMPLATE/release.yml
  2. Create the release branch locally: git checkout -b release/vX.Y.Z
  3. Push the branch and open a draft PR to main

Manual path (for local-only prep):

# Create branch
git checkout -b release/vX.Y.Z

# Create issue via gh CLI
gh issue create --title "Release vX.Y.Z" --label "release" --body "Release checklist for vX.Y.Z. See PR."

# After pushing changes:
gh pr create --title "chore: release vX.Y.Z" --body "Closes #NN" --base main

1. Pre-flight checks

# Run all tests — must be 0 failures
dotnet test tests/RegiLattice.Core.Tests/RegiLattice.Core.Tests.csproj --settings tests/.runsettings --blame-hang-timeout 30s
dotnet test tests/RegiLattice.CLI.Tests/RegiLattice.CLI.Tests.csproj --settings tests/.runsettings --blame-hang-timeout 30s
dotnet test tests/RegiLattice.GUI.Tests/RegiLattice.GUI.Tests.csproj --settings tests/.runsettings --blame-hang-timeout 30s

# Validate tweak integrity before tagging
dotnet run --project src/RegiLattice.CLI/RegiLattice.CLI.csproj -c Release --no-build -- --validate

# Release build — must be 0 errors, 0 warnings (build each project sequentially)
dotnet build src/RegiLattice.Core/RegiLattice.Core.csproj  -c Release
dotnet build src/RegiLattice.GUI/RegiLattice.GUI.csproj    -c Release
dotnet build src/RegiLattice.CLI/RegiLattice.CLI.csproj    -c Release

2. Bump version in all files

Update ALL properties simultaneously — never leave them out of sync:

<!-- Directory.Build.props -->
<Version>X.Y.Z</Version>
<AssemblyVersion>X.Y.Z.0</AssemblyVersion>
<FileVersion>X.Y.Z.0</FileVersion>
<InformationalVersion>X.Y.Z</InformationalVersion>

3. Add CHANGELOG entry in docs/CHANGELOG.md

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

### Added

- ...

### Fixed

- ...

### Stats

- Tweaks: **N NNN**
- Tests: **N NNN** passing (NNN Core + NNN CLI + NNN GUI)
- Version bumped `X.Y.Z-1` → `X.Y.Z`

4. Update root CHANGELOG.md stub with the latest entry summary

5. Push to release branch and merge PR

git add -A
git commit -m "chore: bump version to vX.Y.Z

- Directory.Build.props: all 4 version properties updated
- installer/Package.wxs: Version updated
- README.md: badge + download link updated
- CHANGELOG(s): vX.Y.Z entry added
Closes #NN
Total: N NNN tweaks, N NNN tests (0 failures)"

git push origin release/vX.Y.Z

Mark the draft PR as ready for review. Wait for CI to pass. Merge to main.

6. Tag and push (triggers GitHub Actions release workflow)

git checkout main
git pull
git tag vX.Y.Z
git push --tags   # ← TRIGGERS release.yml

7. Post-release verification (MANDATORY — do not skip)

Wait 3–5 minutes then:

  1. Open the GitHub Actions tab: https://github.com/RajwanYair/RegiLattice/actions/workflows/release.yml
  2. Confirm the workflow for vX.Y.Z shows a green ✅ (not ❌ or ⏳)
  3. Open https://github.com/RajwanYair/RegiLattice/releases/latest
  4. Verify the release exists with all expected assets:
    • RegiLattice-vX.Y.Z-win-x64.exe (GUI portable)
    • RegiLatticeCLI-vX.Y.Z-win-x64.exe (CLI portable)
    • SHA256SUMS.txt (checksums)
    • RegiLattice-vX.Y.Z-win-x64.msi (optional)
    • RegiLattice-vX.Y.Z-win-x64.msix (optional)
  5. Close the release issue (auto-closed if PR body had Closes #NN)

Only after these checks pass is the release complete. Do NOT skip this step — past releases failed silently (v3.5.0 succeeded; v3.7.3 workflow failed because the MSI build error cascaded and killed the release upload step entirely).

GitHub Actions Release Workflow

The tag push triggers .github/workflows/release.yml which:

  1. Builds GUI + CLI as self-contained win-x64 single-file executables
  2. Optionally builds the WiX .msi installer (continue-on-error: true)
  3. Optionally builds an .msix package and Chocolatey package
  4. Creates a GitHub Release with all matched artifacts

The MSI build is non-blocking — if WiX tool


Content truncated.

When not to use it

  • Mid-session versioning
  • Pushing without passing tests

Prerequisites

GitGitHub CLI

Limitations

  • Requires clean working tree
  • Manual verification of release required

How it compares

It enforces a strict 31-item checklist for version updates, ensuring consistency across documentation and registry manifests.

Compared to similar skills

release side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
release (this skill)03moReviewIntermediate
agent-workflow-automation46moReviewAdvanced
project-os16moReviewIntermediate
project-tooling14moCautionBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry