Publish release
Publish a prepared release (phase 7). Usage: /publish-release <version>. Requires version argument. Wraps publish-release.sh for deterministic execution.From its SKILL.md
npx -y skills add erraggy/oastools --skill publish-releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 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.
SKILL.md
2.5 KB, as published. Nobody here has run it
publish-release
Publish a prepared release to GitHub. This is phase 7 of the release process.
Usage: /publish-release <version> (e.g., /publish-release v1.46.0)
Prerequisites
Before running this skill:
- Run
/prepare-release <version>to complete phases 1-6 - Verify prepared notes exist at
.release/notes-<version>.md - Review the release notes in that file
- Ensure you're ready to publish (this is irreversible)
Process
⚠️ CRITICAL: This skill wraps
publish-release.sh. Do NOT run release commands manually.
Step 1: Validate Version Argument
If no version is provided, stop and ask the user:
Error: Version argument required.
Usage: /publish-release <version>
Example: /publish-release v1.46.0
If the version doesn't match the vX.Y.Z pattern, reject it:
Error: Version must match vX.Y.Z pattern (e.g., v1.46.0)
Got: <invalid-version>
Step 2: Confirm with User
Use the AskUserQuestion tool to confirm before proceeding:
Ready to publish release **<version>**?
This will:
1. Create and push git tag <version>
2. Trigger goreleaser workflow
3. Wait for draft release with binaries
4. Publish the release (irreversible)
Proceed? [Yes / Cancel]
Step 3: Run the Publish Script
From the repository root, run:
.claude/scripts/publish-release.sh <version>
The script handles:
- Verifies on main branch
- Creates and pushes annotated tag
- Waits for goreleaser workflow
- Verifies draft has 8 assets (binaries + checksums)
- Reads prepared notes from
.release/notes-<version>.md(fails if missing) - Publishes with
gh release edit --draft=false - Verifies published release
Step 4: Report Results
On success, report:
✅ Release <version> published successfully!
View release: https://github.com/erraggy/oastools/releases/tag/<version>
The release includes:
- 8 binary assets for all platforms
- Enhanced release notes (from prepare step)
- Homebrew formula will update automatically
On failure, report the error and suggest recovery steps.
Important Notes
- Version argument is required (no inference - you're publishing what you prepared)
- Always confirm before publishing - releases are irreversible
- If the script fails partway, check the error message for recovery steps
- NEVER use
gh release create- goreleaser creates the draft