Release sw project en
Skill roebi/sw-dev-agent-framework/skills/release-sw-project-en
An agentic framework that does exactly one thing: **software development**. Built with TDD. Every line of production code was preceded by a failing test.
npx -y skills add roebi/sw-dev-agent-framework --skill release-sw-project-enAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Performs the release phase of a software project: bumps version, generates changelog, creates a git tag, and publishes the artifact (PyPI, npm, or GitHub Release). Uses semver, conventional commits, and PyPI Trusted Publishing (OIDC) for Python packages. Use after code review passes with zero critical or major findings. Activate for trigger phrases like: "release the project", "release phase", "publish to PyPI", "create a release", "bump version and tag", "cut a release", or "ship it".
The file declares its own license as CC BY-NC-SA 4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.5 KB, as published. Nobody here has run it
Release SW Project
Executes the final phase of the SW dev lifecycle: version bump, changelog,
git tag, and artifact publish. Only runs after code-review-en reports
zero CRITICAL and zero MAJOR findings.
Pre-conditions (gate check)
Before starting, verify:
[ ] review-checklist.md exists and shows 0 CRITICAL, 0 MAJOR findings
[ ] All tests pass: uv run pytest
[ ] No uncommitted changes: git status --short (must be empty)
[ ] Git remote is reachable
If any gate fails: stop and report to orchestrator as status: blocked.
Step 1 - Determine version bump
Read commit messages since the last tag using conventional commits:
git log $(git describe --tags --abbrev=0)..HEAD --oneline
Apply semver bump rules:
- Any
feat:commit -> MINOR bump (0.x.0) - Any
fix:commit only -> PATCH bump (0.0.x) - Any
BREAKING CHANGE:in commit body -> MAJOR bump (x.0.0) - First release with no prior tag -> 0.1.0
Step 2 - Update version in pyproject.toml
# Read current version
current=$(uv run python -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")
# Compute new version (semver bump)
new_version=<computed>
# Update pyproject.toml
sed -i "s/version = \"$current\"/version = \"$new_version\"/" pyproject.toml
Step 3 - Generate CHANGELOG entry
Append to CHANGELOG.md:
## [<new_version>] - <YYYY-MM-DD>
### Added
- <feat commit summaries>
### Fixed
- <fix commit summaries>
### Changed
- <refactor commit summaries>
Step 4 - Commit version bump
git add pyproject.toml CHANGELOG.md
git commit -m "chore: release v<new_version>"
Step 5 - Tag the release
git tag -a "v<new_version>" -m "Release v<new_version>"
git push origin main --tags
Step 6 - Publish artifact
Python package (PyPI)
Use PyPI Trusted Publishing (OIDC) - no API token needed:
Trigger the GitHub Actions release workflow (must already be configured):
# The tag push triggers the workflow automatically
# Workflow must use pypa/gh-action-pypi-publish with:
# environment: name: pypi
# permissions: id-token: write
# attestations: true
npm package
npm publish --access public
GitHub Release only
gh release create "v<new_version>" --title "v<new_version>" --notes-file <(git log ...)
Step 7 - Announce completion
phase: release
status: done
output: v<new_version> tagged and published - <artifact location>
Write final Handover-State.md update:
current_phase: release
results:
- phase: release
status: done
output: v<new_version> released
exit_condition_met: true
Post-release
- Close or archive the working branch
- Update project README badge if applicable
- Announce on relevant channels
References
references/semver.md- semver rules and examplesreferences/trusted-publishing.md- PyPI OIDC workflow setup