home / skills / serejaris / ris-claude-code / project-release

project-release skill

/skills/project-release

This skill automates semantic versioning, changelog updates, and GitHub releases for ris-claude-code, ensuring consistent releases.

npx playbooks add skill serejaris/ris-claude-code --skill project-release

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
2.5 KB
---
name: project-release
description: Releases ris-claude-code project - handles versioning, changelog, READMEs, tags, and GitHub releases. Use when releasing a new version or when asked to release.
---

# Project Release

Releases ris-claude-code with semantic versioning, changelog updates, and GitHub releases.

## Pre-release Checklist

Copy and check off:

```
- [ ] All changes committed
- [ ] Version bump determined
- [ ] READMEs need update? (only if skills list changed)
- [ ] All skill folders have SKILL.md + READMEs
```

## Version Rules

| Change | Bump | Example |
|--------|------|---------|
| New skill/component | MINOR | 1.5.1 → 1.6.0 |
| Update existing skill | PATCH | 1.5.1 → 1.5.2 |
| Bug fix, docs only | PATCH | 1.5.1 → 1.5.2 |

Get current version:

```bash
git describe --tags --abbrev=0
```

## Files Decision Matrix

| Condition | CHANGELOG | READMEs |
|-----------|-----------|---------|
| Any release | Update | Check below |
| Skills list changed (add/remove) | Update | Update both |
| Skills list unchanged | Update | Skip |

## Release Workflow

### Step 1: Update CHANGELOG.md

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

### Added
- New feature

### Changed
- Updated feature

### Fixed
- Bug fix
```

Update comparison links at bottom:

```markdown
[Unreleased]: https://github.com/serejaris/ris-claude-code/compare/vX.Y.Z...HEAD
[X.Y.Z]: https://github.com/serejaris/ris-claude-code/compare/vPREV...vX.Y.Z
```

### Step 2: Update READMEs (if needed)

Only if skills list changed. Update both:
- `README.md` (English)
- `README.ru.md` (Russian)

### Step 3: Commit

```bash
git add -A && git commit -m "docs: update changelog for vX.Y.Z"
```

### Step 4: Tag

```bash
git tag -a vX.Y.Z -m "Release vX.Y.Z"
```

### Step 5: Push

```bash
git push && git push --tags
```

### Step 6: GitHub Release

```bash
gh release create vX.Y.Z \
  --title "vX.Y.Z — Short Description" \
  --notes "$(cat <<'EOF'
## Added/Changed
- Item 1
- Item 2

**Full Changelog**: https://github.com/serejaris/ris-claude-code/compare/vPREV...vX.Y.Z
EOF
)"
```

## Post-release Verification

```
- [ ] Tag visible: git tag -l | tail -1
- [ ] Release on GitHub: gh release view vX.Y.Z
- [ ] CHANGELOG links work
```

## Common Mistakes

| Mistake | Fix |
|---------|-----|
| Forgot CHANGELOG links | Add [X.Y.Z] comparison link at bottom |
| Wrong version bump | New skill = MINOR, update = PATCH |
| READMEs updated unnecessarily | Only update if skills LIST changed |
| Missing release notes | Use template above |
| Forgot to push tags | `git push --tags` separately |

Overview

This skill automates the release process for the ris-claude-code project. It standardizes semantic versioning, changelog updates, README checks, git tagging, pushes, and creation of GitHub releases. Use it to ensure consistent, repeatable public releases and to avoid common release mistakes.

How this skill works

The skill inspects the repository state, determines the appropriate version bump (major/minor/patch according to simple rules), and guides updates to CHANGELOG.md and READMEs when needed. It provides the exact git commands for committing, tagging, and pushing, then generates a GitHub release with structured notes and comparison links. Finally it offers post-release verification checks to confirm tags, release visibility, and working changelog links.

When to use it

  • When you are ready to publish a new version of ris-claude-code.
  • When adding a new skill or component to the repository.
  • When making updates to existing skills or performing bug fixes that require a release.
  • When a stakeholder asks you to cut a release or prepare release notes.

Best practices

  • Run the pre-release checklist: commit all changes, decide version bump, and confirm README updates only if skills list changed.
  • Follow semantic versioning rules: new skill = MINOR bump; updates/bugfixes/docs = PATCH bump.
  • Always update CHANGELOG.md with the release section and ensure comparison links at the bottom point to correct tags.
  • Only update READMEs (including the English README and the translated README) if the skills list changed to avoid unnecessary churn.
  • Create an annotated git tag and push both commits and tags before creating the GitHub release.
  • Use the provided GitHub CLI release template for consistent release notes and a link to the full changelog comparison.

Example use cases

  • Release v1.6.0 after adding a new skill component and updating the changelog.
  • Cut v1.5.2 to publish a bug-fix and include the fix under the "Fixed" section of CHANGELOG.md.
  • Prepare and push a release when asked by a maintainer, including creating the annotated tag and GitHub release with comparison links.
  • Run the post-release verification checklist to confirm tags, GitHub release presence, and working changelog links.

FAQ

How do I determine the new version number?

Use semantic rules: add a MINOR bump for new skills/components and a PATCH bump for updates, bug fixes, or docs-only changes. Get the current tag with git describe --tags --abbrev=0.

When should I update READMEs?

Update README files only if the skills list changed (added or removed skills). Otherwise update only the changelog and release metadata.

What commands create the GitHub release?

Use the GitHub CLI template: gh release create vX.Y.Z --title "vX.Y.Z — Short Description" --notes "..." with notes that include a short summary and a link to the full changelog comparison.