Skip to content
Back to skills

Prolog Release

ASecurity

Guidelines and automated workflow for releasing Prolog projects, bumping version numbers consistently across manifests (pack.pl, pyproject.toml, README.md, __init__.py), creating Git tags, and managing dev branch versions.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 1, 2026
ai-agentspythonbashgitdocumentation

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add dougransom/prolog-agent-toolkit --skill prolog-release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prolog Release?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prolog Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dougransom-prolog-release/badge)](https://www.skillsdirectory.com/skills/dougransom-prolog-release)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: prolog-release
description: Guidelines and automated workflow for releasing Prolog projects, bumping version numbers consistently across manifests (pack.pl, pyproject.toml, README.md, __init__.py), creating Git tags, and managing dev branch versions.
---

# Prolog Project Release & Versioning Skill

Use this skill when cutting a release, bumping project versions, tagging Git releases, or managing development branches.

## Version Numbering Conventions

1. **Development Version Format**: `X.Y.Z.devN` (e.g. `0.0.1.dev1`).
2. **Release Version Format**: `X.Y.Z` (e.g. `0.0.1` or `0.1.0`).

---

## Canonical Version Source of Truth & Rules

1. **Canonical Version**: `pyproject.toml` (`version = "X.Y.Z"`) is the single canonical source of truth for project versioning (including development versions like `0.0.1.dev3`).
2. **Runtime Resolution**: Python modules resolve version at runtime via `importlib.metadata.version(...)`.
3. **Synchronization**: Non-Python manifests (`bakage.toml`, `pack.pl`, `package.json`) and documentation (`README.md`, `CHANGELOG.md`) are synchronized to match `pyproject.toml`.
4. **Git Tag Matching**: Git release tags MUST use the exact version string from `pyproject.toml` (e.g., `git tag -a v0.0.1 -m "Release v0.0.1"` or `git tag -a v0.0.1.dev3 -m "Release v0.0.1.dev3"`).

---

## Release Execution Workflow (`prolog-agent release`)

When preparing or cutting a release, execute or run:

```bash
prolog-agent release [--version X.Y.Z]
```

### Workflow Steps:
1. **Audit & Synchronize Versions**: Change working `.devN` versions to clean release format `X.Y.Z` across `bakage.toml`, `pack.pl`, `package.json`, `pyproject.toml`, `__init__.py`, and `README.md`.
2. **Generate CHANGELOG.md**: Create or update `CHANGELOG.md` with:
   - Version header (`## [X.Y.Z] - YYYY-MM-DD`)
   - Summary of changes
   - Added/modified predicates
   - Breaking changes
3. **Commit & Tag**:
   ```bash
   git commit -am "Release vX.Y.Z"
   git tag -a vX.Y.Z -m "Release vX.Y.Z"
   ```
4. **Post-Release Prompting**:
   Prompt the user:
   - *Is a new dev branch warranted for future development?*
   - *What is the target version for the next release (e.g. update files to `0.0.2.dev1` or `0.1.0.dev1`)?*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.