home / skills / yeachan-heo / oh-my-claudecode / release

release skill

/skills/release

This skill automates the release workflow for oh-my-claudecode, streamlining version bumps, tests, tagging, publishing, and release notes.

npx playbooks add skill yeachan-heo/oh-my-claudecode --skill release

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

Files (1)
SKILL.md
1.9 KB
---
name: release
description: Automated release workflow for oh-my-claudecode
---

# Release Skill

Automate the release process for oh-my-claudecode.

## Usage

```
/oh-my-claudecode:release <version>
```

Example: `/oh-my-claudecode:release 2.4.0` or `/oh-my-claudecode:release patch` or `/oh-my-claudecode:release minor`

## Release Checklist

Execute these steps in order:

### 1. Version Bump
Update version in all locations:
- `package.json`
- `src/installer/index.ts` (VERSION constant)
- `src/__tests__/installer.test.ts` (expected version)
- `.claude-plugin/plugin.json`
- `README.md` (version badge and title)

### 2. Run Tests
```bash
npm run test:run
```
All 231+ tests must pass before proceeding.

### 3. Commit Version Bump
```bash
git add -A
git commit -m "chore: Bump version to <version>"
```

### 4. Create & Push Tag
```bash
git tag v<version>
git push origin main
git push origin v<version>
```

### 5. Publish to npm
```bash
npm publish --access public
```

### 6. Create GitHub Release
```bash
gh release create v<version> --title "v<version> - <title>" --notes "<release notes>"
```

### 7. Verify
- [ ] npm: https://www.npmjs.com/package/oh-my-claude-sisyphus
- [ ] GitHub: https://github.com/Yeachan-Heo/oh-my-claudecode/releases

## Version Files Reference

| File | Field/Line |
|------|------------|
| `package.json` | `"version": "X.Y.Z"` |
| `src/installer/index.ts` | `export const VERSION = 'X.Y.Z'` |
| `src/__tests__/installer.test.ts` | `expect(VERSION).toBe('X.Y.Z')` |
| `.claude-plugin/plugin.json` | `"version": "X.Y.Z"` |
| `README.md` | Title + version badge |

## Semantic Versioning

- **patch** (X.Y.Z+1): Bug fixes, minor improvements
- **minor** (X.Y+1.0): New features, backward compatible
- **major** (X+1.0.0): Breaking changes

## Notes

- Always run tests before publishing
- Create release notes summarizing changes
- Plugin marketplace syncs automatically from GitHub releases

Overview

This skill automates the release workflow for the oh-my-claudecode project, handling version bumps, tests, tagging, publishing, and release creation. It offers a single command interface to run consistent, repeatable releases and supports semantic version shortcuts like patch and minor. The goal is to reduce human error and speed up publishing across CI and registries.

How this skill works

Invoke the release command with a concrete version or a semantic keyword (patch, minor, major). The skill updates version constants across source files, runs the full test suite, commits and tags the release, publishes the package to npm, and creates a GitHub release with provided notes. It enforces a checklist to verify package and release presence on the registries.

When to use it

  • When preparing a new package release after feature or fix development
  • After merging a release branch or PR to main
  • When you need to bump version constants consistently across the codebase
  • Before publishing to npm and creating a formal GitHub release
  • To automate repetitive, error-prone release steps and maintain changelogs

Best practices

  • Run the full test suite locally (npm run test:run) and ensure all tests pass before publishing
  • Use semantic keywords (patch/minor/major) for predictable version increments
  • Provide clear release notes and a concise title when creating the GitHub release
  • Verify the package and release pages after publishing to confirm successful sync
  • Commit only the version change and related generated artifacts in the release commit

Example use cases

  • Cutting a bugfix release quickly: /oh-my-claudecode:release patch
  • Publishing a new feature release after merging multiple PRs: /oh-my-claudecode:release minor
  • Creating a major release when introducing breaking changes: /oh-my-claudecode:release major
  • Automating releases in CI to tag, publish, and create GitHub releases on merge to main
  • Ensuring version constants in installer and tests match the published package

FAQ

What files are updated when bumping the version?

The skill updates package.json, the installer VERSION constant, the installer test expected version, and the plugin manifest version field.

What checks run before publishing?

A full test run is required; all tests must pass. The skill then commits, tags, pushes, publishes to npm, and creates a GitHub release.

Can I supply a semantic keyword instead of a full version?

Yes. Use keywords like patch, minor, or major to increment the current version automatically.