home / skills / tradingstrategy-ai / web3-ethereum-defi / make-release
This skill helps you prepare a Python package release by updating version, changelog, and building artifacts for PyPI.
npx playbooks add skill tradingstrategy-ai/web3-ethereum-defi --skill make-releaseReview the files below or copy the command above to add this skill to your agents.
---
name: make-release
description: Prepare a new release by updating version, changelog, and building the package
---
# Make release
This skill prepares a new release of the `web3-ethereum-defi` package.
## Required inputs
1. **Version number** - The version string for the new release (e.g., `1.1`, `2.0`)
## Steps
### 1. Update version in pyproject.toml
Edit the `version` field in `pyproject.toml` to the new version number.
### 2. Update CHANGELOG.md
1. Find the `# Current` heading in `CHANGELOG.md`
2. Rename it to `# {version}` (the new version number)
3. Append today's date in parentheses to every changelog entry in that section that is missing a date
4. Insert a new `# Current` section at the very top of the file with a single placeholder entry:
```markdown
# Current
- TODO
# {version}
...existing entries...
```
### 3. Create a git commit
Create a commit with the message `Preparing a release`. Push to the master.
### 4. Build the package
Run:
```shell
poetry build
```
Verify the build succeeds and the output `.tar.gz` and `.whl` filenames contain the correct version number.
### 5. Prompt the user
After a successful build, tell the user:
> Release {version} built successfully. Please upload to PyPI manually.
This skill prepares a new release for the web3-ethereum-defi Python package by updating version metadata, normalizing the changelog, committing changes, and building distributable artifacts. It streamlines the manual steps required to publish a release while ensuring version consistency and a clear changelog history.
Provide a target version string and the skill updates the version field in pyproject.toml, restructures CHANGELOG.md by moving the Current section into a versioned heading with dates, and inserts a fresh Current placeholder. It then creates a git commit, pushes to master, runs poetry build, and verifies the produced .tar.gz and .whl artifacts contain the expected version. Finally it notifies you to upload the built packages to PyPI manually.
What version format should I provide?
Use a clear semantic version string (for example 1.1 or 2.0.0) consistent with your project's versioning policy.
Does this skill publish to PyPI automatically?
No. It builds the distributables and verifies them, then instructs you to upload the resulting files to PyPI manually.