release-management — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited release-management (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Tag a commit and publish a GitHub release with generated or custom release notes.
repo_owner and repo_name for the target repositoryrepo write access (requires contents: write permission)get_latest_sha to retrieve the HEAD commit of the default branchcreate_tag with a semantic version string and descriptive messagecreate_release referencing the new tagget_latest_sha| Parameter | Type | Description |
|---|---|---|
repo_owner | str | GitHub organisation or username |
repo_name | str | Repository name |
Returns: SHA string of the HEAD commit on the default branch.
create_tag| Parameter | Type | Description |
|---|---|---|
repo_owner | str | GitHub organisation or username |
repo_name | str | Repository name |
tag_name | str | Tag name (e.g. v1.2.3) |
message | str | Annotated tag message describing the release |
create_release| Parameter | Type | Default | Description |
|---|---|---|---|
repo_owner | str | — | GitHub organisation or username |
repo_name | str | — | Repository name |
tag_name | str | — | Existing tag to release from |
release_name | str | — | Human-readable release title |
body | str | — | Release notes (Markdown) |
draft | bool | False | Publish as draft (not publicly visible) |
prerelease | bool | False | Mark as pre-release (alpha/beta/rc) |
generate_release_notes | bool | True | Auto-generate notes from merged PRs |
make_latest | str | "true" | Mark as the latest release |
Format: vMAJOR.MINOR.PATCH (e.g. v2.1.0)
| Part | Increment when |
|---|---|
| MAJOR | Breaking changes to the public API |
| MINOR | New backwards-compatible features |
| PATCH | Backwards-compatible bug fixes |
Pre-release suffixes: v1.0.0-alpha.1, v1.0.0-beta.2, v1.0.0-rc.1
The body field must follow this structure exactly:
## v{MAJOR}.{MINOR}.{PATCH} -- {YYYY-MM-DD}
### What's Included
- **Feature or fix label** -- brief description
- **Another change** -- brief description
### ⚠️ Breaking Changes (from v{PREV_MAJOR}.x)
1. **Change title** -- description and migration path
2. **Another breaking change** -- description
### New Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `VAR_NAME` | Yes/No | What it controls |
### What Changed
- type(scope): commit message (SHORT_SHA) by @author
**Full Changelog**: https://github.com/{owner}/{repo}/compare/v{PREV}...v{NEW}Rules:
-- (double dash), never em-dashesYYYY-MM-DD from the current dateBreaking Changes and New Environment Variables sections when not applicableWhat Changed lists every commit in the release using conventional commit formatFull Changelog URL compares the previous tag to the new tagdraft=True first to preview the release before publishinggenerate_release_notes=True unless you need full manual control over the notesprerelease=True for alpha/beta/rc versions~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.