Claude Code Plugins

Community-maintained marketplace

Feedback

release-publishing

@pwarnock/liaison-toolkit
2
0

Release workflow with changesets, version bumping, changelog generation, and npm publishing. Use when preparing releases, managing versions, or publishing to npm.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name release-publishing
description Release workflow with changesets, version bumping, changelog generation, and npm publishing. Use when preparing releases, managing versions, or publishing to npm.
license MIT
metadata [object Object]

Release Publishing

Complete workflow for managing releases using Changesets, semantic versioning, changelog generation, and npm/Bun package publishing.

When to use this skill

Use this skill when:

  • Preparing a new release
  • Bumping version numbers
  • Generating changelog entries
  • Publishing to npm or GitHub releases
  • Creating changesets for changes
  • Coordinating releases in monorepos

Changesets Workflow

Adding a Changeset

# Start changeset wizard
bun changeset

# Select change type
? What kind of change is this? … (Use arrow keys, type to select)
❯ patch
  minor
  major

# Provide description
? What is the summary of this change? …
> Fixed skill validation bug

# Choose affected packages
? Which packages should this change affect? …
❯ packages/liaison
  packages/opencode_config
  packages/liaison-coordinator

Changeset File Format

# .changeset/release-2024-12-26.md
---
"packages/liaison": patch
---

Fixed skill validation bug in supportsSymlinks function.

Bumping Version with Changesets

# Update versions and create CHANGELOG.md
bun changeset version

# This will:
# - Update package.json versions based on changesets
# - Consolidate changesets into CHANGELOG.md
# - Delete processed changesets

Semantic Versioning

Version Number Format

MAJOR.MINOR.PATCH

MAJOR - Breaking API changes
MINOR - New features, backward compatible
PATCH - Bug fixes

Versioning Decision Tree

Type Example Impact
major 1.0.0 → 2.0.0 Breaking changes, require migration
minor 1.2.0 → 1.3.0 New features, optional to upgrade
patch 1.2.3 → 1.2.4 Bug fixes, recommended to upgrade

Pre-release Versions

// package.json
{
  "version": "1.0.0-alpha.1",
  "version": "1.0.0-beta.2",
  "version": "1.0.0-rc.1"
}

Changelog Generation

Changeset Changelog Format

# CHANGELOG.md

## [1.0.0] - 2024-12-26

### Added
- New skill management CLI commands
- Agent Skills standard support

### Changed
- Migrated from tsc to Bun build system

### Fixed
- Skill validation bug in supportsSymlinks
- Type definition duplications in skills.ts

### Patched
- Security issue with fixed /tmp path in symlink testing

## [0.9.0] - 2024-12-20

### Added
- Initial Agent Skills implementation

Manual Changelog Entry

### Fixed

- Skill validation now properly handles nested YAML metadata in frontmatter
- Improved error messages for invalid skill names

Pre-release Checklist

# Run all checks before release
bun run pre-release

# Should verify:
# - All tests passing
# - Coverage at 80%+
# - No linting errors
# - Build succeeds
# - Documentation updated

Version Verification

# Check version is consistent across monorepo
turbo run check-versions

# Verify no unpublished changesets remain
bun changeset status

Publishing to npm

Publishing with Bun

# Build packages
bun run build

# Publish to npm
bun publish

# Publish with specific tag
bun publish --tag next

# Publish from package directory
cd packages/liaison && bun publish

Publishing with npm (alternative)

# Build
bun run build

# Publish
npm publish

# Publish from directory
npm publish --directory ./packages/liaison

Publishing with Access Token

# Set npm token
export NPM_TOKEN="your-token-here"

# Publish with token
bun publish --access public --token $NPM_TOKEN

Dry Run Publishing

# Test publishing without actually uploading
bun publish --dry-run

# Check what would be published
bun pack

GitHub Releases

Creating GitHub Release

# Using gh CLI
gh release create v1.0.0 \
  --title "Version 1.0.0" \
  --notes "## What's Changed\n- Added Agent Skills\n- Fixed bugs" \
  --generate-notes

Automated Release Notes

# Auto-generate notes from CHANGELOG.md
gh release create v1.0.0 --notes-file CHANGELOG.md

# Or use changeset
bun changeset publish

Release Assets

# Attach build artifacts
gh release upload v1.0.0 ./dist/*.tgz

# Create and upload checksums
sha256sum dist/*.tgz > checksums.txt
gh release upload v1.0.0 checksums.txt

Monorepo Publishing

Publishing All Packages

# Publish all changed packages in monorepo
bun changeset publish

# This will:
# - Detect which packages changed
# - Update versions
# - Build packages
# - Publish to npm
# - Create GitHub release

Turbo Build Order

# Build in dependency order
turbo run build

# Or build only changed packages
turbo run build --filter=liaison

Version Coordination

# Ensure all packages reference compatible versions
turbo run check-versions

# Update cross-package dependencies
bun changeset version

Post-release Tasks

Tagging Releases

# Create and push git tag
git tag v1.0.0
git push origin v1.0.0

# Annotated tag with message
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0

Branch Management

# Merge release branch to main
git checkout main
git merge release/v1.0.0

# Delete release branch
git branch -d release/v1.0.0

# Delete remote release branch
git push origin --delete release/v1.0.0

Announcements

## Example Release Announcement

**Version 1.0.0 is now available!**

### What's New
- Agent Skills support with CLI commands
- 4 bundled skills: library-research, git-automation, liaison-workflows, bun-development
- Cross-platform symlinks for all major agent platforms

### Upgrading

```bash
bun upgrade @liaison-toolkit/liaison

Migration Notes

No breaking changes in this release. Upgrade is optional.


## Verification

After releasing:
- [ ] All published packages install correctly
- [ ] npm registry shows new version
- [ ] GitHub release created with correct tag
- [ ] Changelog.md updated with all changes
- [ ] Version numbers are consistent across packages
- [ ] Post-release announcements sent
- [ ] Documentation updated for new features

## Examples from liaison-toolkit

### Example 1: Creating a Patch Release

```bash
# 1. Add changeset for bug fix
bun changeset
# Choose: packages/liaison, patch, "Fixed validation bug"

# 2. Bump version
bun changeset version
# Output: packages/liaison 0.1.0 → 0.1.1

# 3. Build
bun run build

# 4. Publish
bun publish

# 5. Tag
git tag v0.1.1
git push origin v0.1.1

Example 2: Monorepo Release

# 1. Add changesets for all changed packages
bun changeset

# 2. Version and build all changed packages
bun changeset version
bun run build

# 3. Publish to npm and GitHub
bun changeset publish

# This handles:
# - Dependency version coordination
# - Build order
# - npm publishing
# - GitHub release creation

Related Resources