Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add oborchers/fractional-cto --skill versioning-releasesgit clone --depth 1 https://github.com/oborchers/fractional-ctoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/oborchers/fractional-cto/versioning-releases)<a href="https://agentmods.dev/skills/oborchers/fractional-cto/versioning-releases"><img src="https://agentmods.dev/badge/skills/oborchers/fractional-cto/versioning-releases/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/oborchers/fractional-cto/versioning-releases"><img src="https://agentmods.dev/badge/skills/oborchers/fractional-cto/versioning-releases.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00096 | $0.02467 |
| Opus 5.5 | $0.00038 | $0.00987 |
| Sonnet 5.5 | $0.00019 | $0.00493 |
| Haiku 4.5 | $0.00010 | $0.00247 |
Grade A, and why
versioning-releases scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Follow SemVer Strictly and Automate Every Release
A version number is a contract with every user who pins against your package. Breaking that contract -- shipping a behavioral change in a PATCH bump, removing a function without a deprecation cycle, or publishing a non-PEP-440 tag -- erodes trust and causes silent failures across the dependency graph. The best Python packages (Pydantic, pytest, Django) treat versioning as seriously as they treat their API surface.
Pydantic's v1-to-v2 migration is the most instructive case study: systematic renaming with a model_ prefix, a compatibility namespace (pydantic.v1), an automated codemod (bump-pydantic), and a 12-month support window for v1. That level of discipline is what users expect from a well-maintained package.
SemVer Decision Guide
Use MAJOR.MINOR.PATCH for every Python library. Increment the correct segment based on what changed, not how much code was touched.
| Change Type | Bump | Example |
|---|---|---|
| Remove public function/class | MAJOR | Delete Client.send() |
| Change function signature (required args) | MAJOR | def get(url) becomes def get(url, timeout) |
| Change return type or default behavior | MAJOR | Return dict instead of list |
| Rename public attribute/method | MAJOR | .json() becomes .model_dump() |
| Drop Python version support | MAJOR | Drop Python 3.9 |
| Add new public function/class | MINOR | New Client.stream() method |
| Add optional parameter with default | MINOR | def get(url, *, timeout=30) |
| Deprecate without removing | MINOR | Add deprecation warning |
| Fix incorrect behavior | PATCH | Fix off-by-one in pagination |
| Internal refactor (no API change) | PATCH | Restructure _internal/ |
The hardest calls are behavioral changes. If parse("2024-01-01") returned a date and now returns a datetime, the signature is identical but downstream code breaks. This is a MAJOR change.
The 0.x Convention
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 184 lines · 96 tokens per session scan A 3ab3cd1c6cf6
versioning-releases is a skill published in the GitHub repository oborchers/fractional-cto (32 stars, last pushed 3d ago), licensed MIT. It adds 96 tokens to every session and 2,467 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-13.
Other skills, from other repositories
pypi-release
This skill should be used when releasing tunacode-cli to PyPI. It keeps the existing local release checks, then hands the actual PyPI upload to a GitHub Actions workflow that uses the repository's PYPIAPITOKEN secret.
python-packaging
Create distributable Python packages with proper project structure, setup.py/pyproject.toml, and publishing to PyPI. Use when packaging Python libraries, creating CLI tools, or distributing Python code.
plainx-release
Releases plainx packages with version suggestions, changelog generation, and git tagging. Use when releasing a package to PyPI.
python-release
Release engineering for Python projects on uv — static versioning in pyproject.toml exposed via importlib.metadata, building the sdist and wheel with uv build, publishing to PyPI with uv publish via Trusted Publishing (OIDC, no token), tag-triggered GitHub Actions releases, CI running ruff/ty (or pyright)/pytest with…
changelog-python-cliff-skill
Generate automated changelogs for Python projects using git-cliff with PEP 440 versioning support.
managing-python-releases
Manages Python library releases with semantic versioning, changelogs, tags, GitHub releases, PyPI publishing, and deprecation planning. Use this skill whenever a user is cutting a release, deciding version bumps, writing a changelog, automating release pipelines, or preparing users for breaking changes.