agentsclimarketplace

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.

Install
npx -y skills add roebi/sw-dev-agent-framework --skill release-sw-project-en

Assembled 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 examples
  • references/trusted-publishing.md - PyPI OIDC workflow setup

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.