skilluse

publish

40
2
# Install this skill:
npx skills add skilluse/skilluse --skill "publish"

Install specific skill from multi-skill repository

# Description

Publish a new version via GitHub Actions. Use when user says "publish", "release", or "bump version".

# SKILL.md


name: publish
description: Publish a new version via GitHub Actions. Use when user says "publish", "release", or "bump version".


Publish Release

Automate version bumping and release via GitHub Actions workflow.

Arguments

/publish [version-type]
  • /publish - Auto-detect version type from commits (default: patch)
  • /publish patch - Bug fixes (0.0.X)
  • /publish minor - New features (0.X.0)
  • /publish major - Breaking changes (X.0.0)
  • /publish 1.2.3 - Specific version number

Workflow

1. PRE-FLIGHT CHECK    β†’  Verify clean working tree, on main branch
       ↓
2. ANALYZE CHANGES     β†’  Review commits since last tag to suggest version
       ↓
3. BUMP VERSION        β†’  Update package.json version
       ↓
4. COMMIT & TAG        β†’  Create release commit and git tag
       ↓
5. PUSH                β†’  Push commit and tag to trigger CI/CD

Instructions

1. Pre-flight Check

# Verify clean state
git status --porcelain
git branch --show-current

# Get current version and last tag
cat packages/cli/package.json | grep '"version"'
git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet"

STOP if:
- Working tree has uncommitted changes
- Not on main branch (unless user confirms)

2. Analyze Changes Since Last Release

# Show commits since last tag
git log $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~10")..HEAD --oneline

# Look for version indicators
# - "feat:" or "feat!:" β†’ minor or major
# - "fix:" β†’ patch
# - "BREAKING CHANGE" β†’ major

Suggest version type based on conventional commits:
| Commit Type | Version Bump |
|-------------|--------------|
| fix: | PATCH |
| feat: | MINOR |
| feat!: or BREAKING CHANGE | MAJOR |

3. Bump Version

# Read current version
CURRENT=$(grep '"version"' packages/cli/package.json | sed 's/.*"version": "\(.*\)".*/\1/')
echo "Current version: $CURRENT"

# Calculate new version (or use user-specified)
# For patch: 0.1.5 β†’ 0.1.6
# For minor: 0.1.5 β†’ 0.2.0
# For major: 0.1.5 β†’ 1.0.0

Edit packages/cli/package.json to update the version.

4. Commit and Tag

Use conventional commit format:

git add packages/cli/package.json
git commit -m "chore(cli): bump version to X.Y.Z"
git tag vX.Y.Z

DO NOT add Claude Code references or co-author tags.

5. Push to Trigger Release

git push origin main vX.Y.Z

Provide the GitHub Actions URL for monitoring:

https://github.com/skilluse/skilluse/actions

Version Calculation Helper

// Parse semver: "0.1.5" β†’ [0, 1, 5]
const [major, minor, patch] = version.split('.').map(Number);

// Bump logic
patch: `${major}.${minor}.${patch + 1}`
minor: `${major}.${minor + 1}.0`
major: `${major + 1}.0.0`

Error Handling

Issue Action
Uncommitted changes Ask user to commit or stash first
Not on main Warn and ask for confirmation
Tag already exists Suggest next version
Push fails Check remote access, show error

Post-Publish

After workflow completes, users can verify:

npm install -g skilluse
skilluse --version

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.