cellm/skills/version-control/SKILL.md
Deep versioning guidance for any project — SemVer vs EffVer vs CalVer, release automation, AI artifact versioning. Use when: 'versioning strategy', 'which versioning scheme', 'setup releases', 'version AI artifacts'. For CELLM-specific version bumps and inflation checks, use cellm:versioning.
npx skillsauth add murillodutt/cellm cellm/skills/version-controlInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Is the project in production with users depending on the API?
NO -> 0.x.y (SemVer pre-stable)
MINOR = breaking, PATCH = features + fixes. Iterate freely.
YES -> Published library/package?
YES -> Strict SemVer. Batch breaking changes. Deprecate before remove.
NO -> Need to communicate impact? -> EffVer
Date matters more? -> CalVer
Want simplicity? -> SemVer with fixed cadence
| Scheme | Format | Best For | Adopted By | |--------|--------|----------|-----------| | SemVer | MAJOR.MINOR.PATCH | Libraries, packages, APIs | npm, Cargo, Go, PyPI | | EffVer | MACRO.MESO.MICRO | Effort-based communication | Matplotlib, JAX, JupyterHub | | CalVer | YYYY.MM.DD (variable) | Date-driven releases | Ubuntu, pip, Black | | Epoch SemVer | {EPOCH*1000+MAJOR}.MINOR.PATCH | Era-based projects | Experimental only |
| Strategy | When |
|----------|------|
| Stay on 0.x.y | Pre-production — no stable API yet |
| Pre-release tags (-alpha, -beta, -rc) | Separate maturity from version |
| Batch breaking changes | Accumulate on branch, release on cadence |
| Deprecate before remove | Mark deprecated in MINOR, remove in next MAJOR |
| Codemods | Automate migration to reduce MAJOR cost |
| Release channels (stable/beta/canary) | Rapid iteration without inflating stable version |
| Artifact | Version How | |----------|-------------| | Prompts | SemVer: structural change = MAJOR, new field = MINOR, wording = PATCH | | ML Models | SemVer-ML: architecture = MAJOR, hyperparams = MINOR, training data = PATCH | | Datasets | DVC/LakeFS + link to model version |
Conventional Commits (type(scope): description) + automated release tools:
| Tool | Ecosystem | |------|-----------| | changelogen | Nuxt/UnJS | | semantic-release | npm | | release-please | Google/GitHub | | changesets | Monorepos (Turborepo, pnpm) |
data-ai
Prose override — temporarily disable quantization and respond in readable prose. Use when relational density matters, for safety-critical explanations, onboarding handoffs, or when token economy is not the priority.
development
Govern explicit weekly Super PRs or maintainer-requested PR merges. Evaluates a 10-criterion readiness checklist and performs governed merge only when a user-requested PR is READY. Never creates or keeps permanent PRs. Use when: 'pr-check', 'pr-merge', 'merge this PR safely', 'is PR ready', 'guard merge', or /sk-git delegates pr-merge.
data-ai
Operational surface for the compress-llm Layer-1 token I/O compressor. Enable, disable, switch mode, and inspect status without editing config files. Use when tuning compression pressure for the current session or project.
tools
Generate structured upstream feedback for the CELLM engineering team. Produces evidence-first Markdown at docs/evidence/<date>-cellm-feedback-*.md for bugs, anti-patterns, deprecation gaps, and harness surprises, with optional atom registration via knowledge_ops. Use when: 'feedback for CELLM', 'send to CELLM team', 'register this as atom', 'document this anti-pattern', 'report this bug upstream'. Trigger proactively on MCP schema/runtime mismatches, mechanical edit loops (>=3 sequential edits), short deprecation windows (<6 weeks), or reusable harness surprises. Do NOT trigger for routine feature work or project-local bugs.