Skip to content

Commit 75a881f

Browse files
Alan Shumclaude
andcommitted
docs: strengthen release skill to enforce changelog in release commit
Step 4 now explicitly states changelog must be in the release commit, not a follow-up. Step 7 includes a verification check. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent cd2ffa1 commit 75a881f

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

.claude/skills/release.md

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,33 @@ If previous releases have mismatches (e.g., GitHub release exists but no git tag
4444

4545
Edit the `version = "..."` line in `Cargo.toml` to the new version. Skip if already correct.
4646

47-
### 4. Add changelog entry to README
47+
### 4. Add changelog entry to README (MANDATORY — must be in the release commit)
4848

49-
Read the changelog section in `README.md`. Add a new `### v<VERSION>` entry above the previous version with bullet points summarizing the changes. Use `git log --oneline <previous_tag>..HEAD` to see what changed.
49+
**This step MUST happen before the commit in Step 7.** The changelog is part of the release commit, not a follow-up.
50+
51+
1. Find the previous release tag:
52+
```bash
53+
git tag -l 'v*' | sort -V | tail -1
54+
```
55+
56+
2. Get all changes since the last tag:
57+
```bash
58+
git log --oneline <previous_tag>..HEAD
59+
```
60+
61+
3. Read the `## Changelog` section in `README.md` and add a new `### v<VERSION>` entry **above** the previous version.
62+
63+
4. Write human-readable bullet points grouped by theme (features, fixes, perf). Format:
64+
```markdown
65+
### v<VERSION>
66+
67+
- **Feature name** — One-sentence description of what it does and why.
68+
- **Fix** — What was broken and how it's fixed.
69+
```
70+
71+
5. Also update the config example block in README if any defaults or options changed.
72+
73+
**The README.md changes must be staged along with Cargo.toml in Step 7's commit.**
5074

5175
### 5. Verify the build
5276

@@ -79,11 +103,13 @@ Ensure the remote uses HTTPS (so `gh` handles auth):
79103
git remote set-url origin https://github.com/alankyshum/semantic-diff.git
80104
```
81105

82-
Commit the version bump and changelog (skip if no changes to commit):
106+
Commit the version bump, changelog, and any config doc updates together in a single release commit:
83107
```bash
84-
cd /Users/kshum/Documents/gitproj/semantic-diff && git add Cargo.toml Cargo.lock README.md && git commit -m "chore: release v<VERSION>"
108+
cd /Users/kshum/Documents/gitproj/semantic-diff && git add Cargo.toml Cargo.lock README.md && git commit -m "chore: release v<VERSION> with changelog"
85109
```
86110

111+
**Verify README.md is included** — if `git diff --cached README.md` shows no changes, Step 4 was skipped. Go back and add the changelog entry before committing.
112+
87113
Push to main:
88114
```bash
89115
cd /Users/kshum/Documents/gitproj/semantic-diff && git push origin main

0 commit comments

Comments
 (0)