home / skills / tradingstrategy-ai / web3-ethereum-defi / make-release

make-release skill

/.claude/skills/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-release

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.2 KB
---
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.

Overview

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.

How this skill works

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.

When to use it

  • You are ready to publish a new release of the package and need version and changelog updates.
  • Preparing pre-release or stable releases after merging feature or fix branches.
  • When you want a repeatable, minimal-release process before uploading artifacts to PyPI.
  • Before tagging or creating a release on the remote repository.

Best practices

  • Run tests and CI before starting the release process to catch regressions early.
  • Use a semver-compatible version string (e.g., 1.2.0) and confirm it matches your release policy.
  • Review CHANGELOG.md entries to ensure each item has context before adding dates.
  • Verify pyproject.toml and changelog edits locally before committing and pushing.
  • Confirm poetry build output filenames include the expected version before attempting upload.

Example use cases

  • Bump the library from 1.0 to 1.1 after merging several bug fixes and feature additions.
  • Prepare a hotfix release by updating the version, documenting fixes in the changelog, and building packages.
  • Standardize changelog entries and insert a Current placeholder for ongoing work.
  • Create artifacts for manual PyPI upload when automated publishing is not available.

FAQ

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.