You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add version consistency checks to release skill
Add mandatory pre-release audit and post-release verification steps
to ensure versions align across Cargo.toml, git tags, GitHub releases,
crates.io, and Homebrew tap.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude/skills/release.md
+52-15Lines changed: 52 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Release semantic-diff
2
2
3
-
Publish a new version of semantic-diff to crates.io, create a GitHub release with a curated changelog, and trigger the CI workflow that builds dual-arch macOS binaries and auto-updates the Homebrew tap.
3
+
Publish a new version of semantic-diff with consistent versioning across all distribution channels: Cargo.toml, crates.io, GitHub release (with tag), and Homebrew tap.
4
4
5
5
## Usage
6
6
@@ -19,29 +19,50 @@ If no version argument provided, check current version and ask user:
19
19
cd /Users/kshum/Documents/gitproj/semantic-diff && grep '^version' Cargo.toml
20
20
```
21
21
22
-
### 2. Update Cargo.toml version
22
+
### 2. Version consistency check (MANDATORY)
23
23
24
-
Edit the `version = "..."` line in `Cargo.toml` to the new version.
24
+
Before making any changes, audit all version sources and report mismatches:
**All of these must align for the target version before the release is considered complete:**
35
+
-`Cargo.toml` version matches `<VERSION>`
36
+
- Git tag `v<VERSION>` exists locally and on remote
37
+
- GitHub release `v<VERSION>` exists with curated notes
38
+
- crates.io has `<VERSION>` published
39
+
- CI workflow triggered (builds binaries + updates Homebrew tap)
40
+
41
+
If previous releases have mismatches (e.g., GitHub release exists but no git tag, or crates.io is behind), **report them to the user** and offer to fix before proceeding with the new release.
42
+
43
+
### 3. Update Cargo.toml version
44
+
45
+
Edit the `version = "..."` line in `Cargo.toml` to the new version. Skip if already correct.
46
+
47
+
### 4. Add changelog entry to README
27
48
28
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.
29
50
30
-
### 4. Verify the build
51
+
### 5. Verify the build
31
52
32
53
```bash
33
54
cd /Users/kshum/Documents/gitproj/semantic-diff && cargo build --release 2>&1
34
55
```
35
56
36
-
### 5. Publish to crates.io
57
+
### 6. Publish to crates.io
37
58
38
59
```bash
39
60
cd /Users/kshum/Documents/gitproj/semantic-diff && cargo publish 2>&1
40
61
```
41
62
42
63
If this fails with an email verification error, tell the user to verify at https://crates.io/settings/profile.
cd /Users/kshum/Documents/gitproj/semantic-diff && git push origin main
69
90
```
70
91
71
-
### 7. Create GitHub release with curated changelog
92
+
### 8. Create GitHub release with curated changelog
72
93
73
94
Write release notes following this format — do NOT use `--generate-notes`:
74
95
@@ -100,7 +121,20 @@ EOF
100
121
101
122
Group changes by theme (e.g. "Adaptive Theme", "Docs & Community", "Fixes") rather than listing raw commits. Use `git log --oneline <previous_tag>..v<VERSION>` to see all changes. Write human-readable descriptions, not commit messages.
102
123
103
-
### 8. Monitor CI
124
+
### 9. Post-release verification (MANDATORY)
125
+
126
+
After GitHub release is created, verify all channels are consistent:
127
+
128
+
```bash
129
+
echo"=== Verify tag ==="&& git fetch --tags && git tag -l "v<VERSION>"
0 commit comments