Back to Skills

versioning

verified

Use when releasing, tagging, or bumping versions. Defines semver rules and keeps package.json/pyproject.toml synced with git tags.

View on GitHub

Marketplace

agi-marketplace

bfmcneill/agi-marketplace

Plugin

core

Repository

bfmcneill/agi-marketplace

core/skills/versioning/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/bfmcneill/agi-marketplace/blob/main/core/skills/versioning/SKILL.md -a claude-code --skill versioning

Installation paths:

Claude
.claude/skills/versioning/
Powered by add-skill CLI

Instructions

# Versioning

Semantic versioning rules and workflow for consistent releases.

## Semver Rules

Format: `MAJOR.MINOR.PATCH` (e.g., `1.4.2`)

| Bump | When | Examples |
|------|------|----------|
| **MAJOR** | Breaking changes | API removed, incompatible changes, major rewrites |
| **MINOR** | New features (backward compatible) | New endpoint, new option, new capability |
| **PATCH** | Bug fixes (backward compatible) | Fix crash, fix typo, fix edge case |

### Decision Tree

```
Is it a breaking change?
├── Yes → MAJOR
└── No → Does it add new functionality?
    ├── Yes → MINOR
    └── No → PATCH
```

### What Counts as Breaking?

**MAJOR (breaking):**
- Removing a public function/endpoint
- Changing function signature (required params)
- Changing return type
- Renaming exports
- Dropping support for runtime/dependency

**MINOR (feature):**
- Adding new function/endpoint
- Adding optional parameter
- New configuration option
- Performance improvement with no API change

**PATCH (fix):**
- Bug fix
- Documentation fix
- Internal refactor (no API change)
- Dependency update (non-breaking)

## Version Sync Workflow

**Keep these in sync:**
1. `package.json` version (JS/TS projects)
2. `pyproject.toml` version (Python projects)
3. Git tag

### Release Workflow

```bash
# 1. Update version in manifest
# package.json: "version": "1.2.0"
# OR pyproject.toml: version = "1.2.0"

# 2. Commit the version bump
git add package.json  # or pyproject.toml
git commit -m "chore: bump version to 1.2.0"

# 3. Tag the commit
git tag -a v1.2.0 -m "Release 1.2.0: [brief description]"

# 4. Push with tags
git push && git push --tags
```

### Pre-release Versions

For work-in-progress releases:
- `1.2.0-alpha.1` - Early testing
- `1.2.0-beta.1` - Feature complete, testing
- `1.2.0-rc.1` - Release candidate

## Common Mistakes

| Mistake | Correct |
|---------|---------|
| Bumping MAJOR for new feature | MINOR (if backward compatible) |
| Bumping PATCH for new option | MINOR (it's new function

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2406 chars