Our review
Automates the preparation and publication of a new release for the cryptobot-python package.
Strengths
- Reduces manual errors by automating version file updates
- Runs tests before release to ensure quality
- Creates a git tag and GitHub release automatically
Limitations
- Specific to the cryptobot-python project structure (pyproject.toml, HISTORY.md)
- Requires gh (GitHub CLI) to be installed and configured
- Assumes make test is available and passes
When you need to publish a new version of the cryptobot-python package, e.g., after accumulating changes.
For projects not using pyproject.toml or a HISTORY.md file, or if you prefer a manual release process.
Security analysis
CautionThe skill uses powerful tools like `make` and `gh` for release management. No destructive or exfiltration commands, but `make test` could run arbitrary code without user verification.
- •The skill instructs to run `make test` which executes potentially arbitrary commands from a Makefile. While likely legitimate for the project, it introduces execution risk if the Makefile is compromised.
Examples
Cut a release for cryptobot-python version 0.4.2Prepare and publish a new release with version 1.0.0 for cryptobot-pythonCreate a release for cryptobot-python version 0.5.0, I will provide the release notes after you start.name: release description: Prepare and publish a new cryptobot-python release. Use when the user asks to cut a release, bump the package version, update HISTORY.md, create a git tag, or create a GitHub release.
Release Skill
Create a new release for the cryptobot-python package.
Usage
/release <version>
Where <version> is the new semantic version (e.g., 0.4.2, 0.5.0, 1.0.0).
Instructions
When the user invokes this skill with a version number, perform the following steps:
-
Validate the version: Ensure the version follows semantic versioning (X.Y.Z format).
-
Update version files:
- Update
versioninpyproject.toml - Update
__version__incryptobot/__init__.py
- Update
-
Ask for release notes: Ask the user what changes should be included in the release notes.
-
Update HISTORY.md: Add a new entry at the top of the History section with:
- Version number and today's date
- The release notes provided by the user
-
Run tests: Execute
make testto ensure all tests pass before proceeding. -
Create commit: Create a commit with message
chore(release): prepare v<version> release -
Create tag: Create an annotated git tag
v<version>pointing to the release commit. -
Create GitHub release: Use
gh release createto create a GitHub release with:- Tag:
v<version> - Title:
v<version> - Release notes from the HISTORY.md entry
- Tag:
-
Report completion: Provide the user with:
- Summary of files changed
- Link to the GitHub release
Docker Compose Architect
DevOps
Designs optimized Docker Compose configurations.
Incident Postmortem Writer
DevOps
Writes structured and blameless incident postmortem reports.
Runbook Creator
DevOps
Creates clear operational runbooks for common DevOps procedures.