Skip to content

Commit 51975a2

Browse files
committed
chore(release): add agent release skill
Why Release work is fragile enough that agents should follow the same guarded workflow as humans. A repo-local skill and command make the release command discoverable from Codex, Claude, Cursor, and Gemini. User impact Maintainers can ask an agent to prepare or publish an Agent Note release and get the same version bump, release note preview, tag, workflow monitoring, and npm verification steps. Verification git diff --check shasum .codex/skills/agentnote-release/SKILL.md .claude/skills/agentnote-release/SKILL.md .cursor/skills/agentnote-release/SKILL.md .gemini/skills/agentnote-release/SKILL.md shasum .codex/commands/release.md .claude/commands/release.md .cursor/commands/release.md .gemini/commands/release.md npm run release -- 1.0.6 --dry-run --allow-non-main --allow-dirty --skip-checks Release note: skip
1 parent aee77ad commit 51975a2

9 files changed

Lines changed: 292 additions & 0 deletions

File tree

.claude/commands/release.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
description: Prepare or publish an Agent Note release with the repo-local release command.
3+
argument-hint: <version> [--push|--dry-run]
4+
---
5+
6+
# Agent Note Release
7+
8+
Use the repo-local `agentnote-release` skill.
9+
10+
1. Use the provided version argument, accepting `x.y.z` or `vx.y.z`.
11+
2. For an actual release, switch to `main`, pull, and ensure unrelated dirty files are not present.
12+
3. Run `npm run release -- <version> --dry-run --allow-non-main --allow-dirty --skip-checks` for a rehearsal, `npm run release -- <version>` for local preparation, or `npm run release -- <version> --push` when the user explicitly wants to publish.
13+
4. Verify the release workflow, GitHub Release, and both npm packages after pushing.
14+
5. Report the commands run and final release status.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: agentnote-release
3+
description: Prepare and publish Agent Note releases with the repo-local release command, including version bump validation, release note preview, tag creation, workflow monitoring, and npm/GitHub verification.
4+
---
5+
6+
# Agent Note Release Workflow
7+
8+
Use this skill when the task asks to release Agent Note, bump a version, cut a tag, publish npm packages, or verify a release.
9+
10+
## Prepare
11+
12+
1. Confirm the target version from the user request, accepting either `x.y.z` or `vx.y.z`.
13+
2. Switch to `main` and pull the latest changes before an actual release.
14+
3. Check the working tree. Do not release with unrelated dirty files.
15+
4. If the user only wants a rehearsal, use `--dry-run`; do not create commits or tags.
16+
17+
## Release
18+
19+
Prefer the repo-local command:
20+
21+
```bash
22+
npm run release -- <version> --push
23+
```
24+
25+
Without `--push`, the command prepares the local version-bump commit and annotated tag but does not publish them:
26+
27+
```bash
28+
npm run release -- <version>
29+
```
30+
31+
The command updates package metadata, runs the CLI build/typecheck/lint/test checks, previews the next release notes with `git-cliff --unreleased --tag`, creates the dedicated `chore: bump version to <version>` commit, and creates the annotated `v<version>` tag.
32+
33+
## Guardrails
34+
35+
- Do not manually push a release tag before the package version bump commit is on `main`.
36+
- Do not use `--push` until the release note preview is acceptable.
37+
- If release notes look like an implementation log, fix commit subjects or `Release note:` bodies before tagging.
38+
- If the command fails after a local commit or tag, inspect the repository state before retrying; do not create duplicate tags.
39+
- Keep release plumbing commits hidden with `Release note: skip`.
40+
41+
## Verify
42+
43+
After pushing a release tag:
44+
45+
1. Watch the release workflow until completion.
46+
2. Verify the GitHub Release exists for `v<version>`.
47+
3. Verify npm publishes both `agent-note@<version>` and `@wasabeef/agentnote@<version>`.
48+
4. If release notes need copy edits after publication, update the GitHub Release body directly and keep the source commit guidance for future releases.
49+
50+
## Report
51+
52+
End with:
53+
54+
- Version released or prepared
55+
- Commands run
56+
- Workflow status
57+
- GitHub Release URL
58+
- npm package versions confirmed

.codex/commands/release.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
description: Prepare or publish an Agent Note release with the repo-local release command.
3+
argument-hint: <version> [--push|--dry-run]
4+
---
5+
6+
# Agent Note Release
7+
8+
Use the repo-local `agentnote-release` skill.
9+
10+
1. Use the provided version argument, accepting `x.y.z` or `vx.y.z`.
11+
2. For an actual release, switch to `main`, pull, and ensure unrelated dirty files are not present.
12+
3. Run `npm run release -- <version> --dry-run --allow-non-main --allow-dirty --skip-checks` for a rehearsal, `npm run release -- <version>` for local preparation, or `npm run release -- <version> --push` when the user explicitly wants to publish.
13+
4. Verify the release workflow, GitHub Release, and both npm packages after pushing.
14+
5. Report the commands run and final release status.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: agentnote-release
3+
description: Prepare and publish Agent Note releases with the repo-local release command, including version bump validation, release note preview, tag creation, workflow monitoring, and npm/GitHub verification.
4+
---
5+
6+
# Agent Note Release Workflow
7+
8+
Use this skill when the task asks to release Agent Note, bump a version, cut a tag, publish npm packages, or verify a release.
9+
10+
## Prepare
11+
12+
1. Confirm the target version from the user request, accepting either `x.y.z` or `vx.y.z`.
13+
2. Switch to `main` and pull the latest changes before an actual release.
14+
3. Check the working tree. Do not release with unrelated dirty files.
15+
4. If the user only wants a rehearsal, use `--dry-run`; do not create commits or tags.
16+
17+
## Release
18+
19+
Prefer the repo-local command:
20+
21+
```bash
22+
npm run release -- <version> --push
23+
```
24+
25+
Without `--push`, the command prepares the local version-bump commit and annotated tag but does not publish them:
26+
27+
```bash
28+
npm run release -- <version>
29+
```
30+
31+
The command updates package metadata, runs the CLI build/typecheck/lint/test checks, previews the next release notes with `git-cliff --unreleased --tag`, creates the dedicated `chore: bump version to <version>` commit, and creates the annotated `v<version>` tag.
32+
33+
## Guardrails
34+
35+
- Do not manually push a release tag before the package version bump commit is on `main`.
36+
- Do not use `--push` until the release note preview is acceptable.
37+
- If release notes look like an implementation log, fix commit subjects or `Release note:` bodies before tagging.
38+
- If the command fails after a local commit or tag, inspect the repository state before retrying; do not create duplicate tags.
39+
- Keep release plumbing commits hidden with `Release note: skip`.
40+
41+
## Verify
42+
43+
After pushing a release tag:
44+
45+
1. Watch the release workflow until completion.
46+
2. Verify the GitHub Release exists for `v<version>`.
47+
3. Verify npm publishes both `agent-note@<version>` and `@wasabeef/agentnote@<version>`.
48+
4. If release notes need copy edits after publication, update the GitHub Release body directly and keep the source commit guidance for future releases.
49+
50+
## Report
51+
52+
End with:
53+
54+
- Version released or prepared
55+
- Commands run
56+
- Workflow status
57+
- GitHub Release URL
58+
- npm package versions confirmed

.cursor/commands/release.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
description: Prepare or publish an Agent Note release with the repo-local release command.
3+
argument-hint: <version> [--push|--dry-run]
4+
---
5+
6+
# Agent Note Release
7+
8+
Use the repo-local `agentnote-release` skill.
9+
10+
1. Use the provided version argument, accepting `x.y.z` or `vx.y.z`.
11+
2. For an actual release, switch to `main`, pull, and ensure unrelated dirty files are not present.
12+
3. Run `npm run release -- <version> --dry-run --allow-non-main --allow-dirty --skip-checks` for a rehearsal, `npm run release -- <version>` for local preparation, or `npm run release -- <version> --push` when the user explicitly wants to publish.
13+
4. Verify the release workflow, GitHub Release, and both npm packages after pushing.
14+
5. Report the commands run and final release status.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: agentnote-release
3+
description: Prepare and publish Agent Note releases with the repo-local release command, including version bump validation, release note preview, tag creation, workflow monitoring, and npm/GitHub verification.
4+
---
5+
6+
# Agent Note Release Workflow
7+
8+
Use this skill when the task asks to release Agent Note, bump a version, cut a tag, publish npm packages, or verify a release.
9+
10+
## Prepare
11+
12+
1. Confirm the target version from the user request, accepting either `x.y.z` or `vx.y.z`.
13+
2. Switch to `main` and pull the latest changes before an actual release.
14+
3. Check the working tree. Do not release with unrelated dirty files.
15+
4. If the user only wants a rehearsal, use `--dry-run`; do not create commits or tags.
16+
17+
## Release
18+
19+
Prefer the repo-local command:
20+
21+
```bash
22+
npm run release -- <version> --push
23+
```
24+
25+
Without `--push`, the command prepares the local version-bump commit and annotated tag but does not publish them:
26+
27+
```bash
28+
npm run release -- <version>
29+
```
30+
31+
The command updates package metadata, runs the CLI build/typecheck/lint/test checks, previews the next release notes with `git-cliff --unreleased --tag`, creates the dedicated `chore: bump version to <version>` commit, and creates the annotated `v<version>` tag.
32+
33+
## Guardrails
34+
35+
- Do not manually push a release tag before the package version bump commit is on `main`.
36+
- Do not use `--push` until the release note preview is acceptable.
37+
- If release notes look like an implementation log, fix commit subjects or `Release note:` bodies before tagging.
38+
- If the command fails after a local commit or tag, inspect the repository state before retrying; do not create duplicate tags.
39+
- Keep release plumbing commits hidden with `Release note: skip`.
40+
41+
## Verify
42+
43+
After pushing a release tag:
44+
45+
1. Watch the release workflow until completion.
46+
2. Verify the GitHub Release exists for `v<version>`.
47+
3. Verify npm publishes both `agent-note@<version>` and `@wasabeef/agentnote@<version>`.
48+
4. If release notes need copy edits after publication, update the GitHub Release body directly and keep the source commit guidance for future releases.
49+
50+
## Report
51+
52+
End with:
53+
54+
- Version released or prepared
55+
- Commands run
56+
- Workflow status
57+
- GitHub Release URL
58+
- npm package versions confirmed

.gemini/commands/release.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
description: Prepare or publish an Agent Note release with the repo-local release command.
3+
argument-hint: <version> [--push|--dry-run]
4+
---
5+
6+
# Agent Note Release
7+
8+
Use the repo-local `agentnote-release` skill.
9+
10+
1. Use the provided version argument, accepting `x.y.z` or `vx.y.z`.
11+
2. For an actual release, switch to `main`, pull, and ensure unrelated dirty files are not present.
12+
3. Run `npm run release -- <version> --dry-run --allow-non-main --allow-dirty --skip-checks` for a rehearsal, `npm run release -- <version>` for local preparation, or `npm run release -- <version> --push` when the user explicitly wants to publish.
13+
4. Verify the release workflow, GitHub Release, and both npm packages after pushing.
14+
5. Report the commands run and final release status.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
name: agentnote-release
3+
description: Prepare and publish Agent Note releases with the repo-local release command, including version bump validation, release note preview, tag creation, workflow monitoring, and npm/GitHub verification.
4+
---
5+
6+
# Agent Note Release Workflow
7+
8+
Use this skill when the task asks to release Agent Note, bump a version, cut a tag, publish npm packages, or verify a release.
9+
10+
## Prepare
11+
12+
1. Confirm the target version from the user request, accepting either `x.y.z` or `vx.y.z`.
13+
2. Switch to `main` and pull the latest changes before an actual release.
14+
3. Check the working tree. Do not release with unrelated dirty files.
15+
4. If the user only wants a rehearsal, use `--dry-run`; do not create commits or tags.
16+
17+
## Release
18+
19+
Prefer the repo-local command:
20+
21+
```bash
22+
npm run release -- <version> --push
23+
```
24+
25+
Without `--push`, the command prepares the local version-bump commit and annotated tag but does not publish them:
26+
27+
```bash
28+
npm run release -- <version>
29+
```
30+
31+
The command updates package metadata, runs the CLI build/typecheck/lint/test checks, previews the next release notes with `git-cliff --unreleased --tag`, creates the dedicated `chore: bump version to <version>` commit, and creates the annotated `v<version>` tag.
32+
33+
## Guardrails
34+
35+
- Do not manually push a release tag before the package version bump commit is on `main`.
36+
- Do not use `--push` until the release note preview is acceptable.
37+
- If release notes look like an implementation log, fix commit subjects or `Release note:` bodies before tagging.
38+
- If the command fails after a local commit or tag, inspect the repository state before retrying; do not create duplicate tags.
39+
- Keep release plumbing commits hidden with `Release note: skip`.
40+
41+
## Verify
42+
43+
After pushing a release tag:
44+
45+
1. Watch the release workflow until completion.
46+
2. Verify the GitHub Release exists for `v<version>`.
47+
3. Verify npm publishes both `agent-note@<version>` and `@wasabeef/agentnote@<version>`.
48+
4. If release notes need copy edits after publication, update the GitHub Release body directly and keep the source commit guidance for future releases.
49+
50+
## Report
51+
52+
End with:
53+
54+
- Version released or prepared
55+
- Commands run
56+
- Workflow status
57+
- GitHub Release URL
58+
- npm package versions confirmed

docs/architecture.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,10 @@ checks, prints the `git-cliff` release note preview, commits
631631
`--push`, the release stays local so the generated notes can be inspected before
632632
triggering `release.yml`.
633633

634+
Repo-local Agent skills and commands mirror this workflow for Codex, Claude,
635+
Cursor, and Gemini. Use the `agentnote-release` skill or `/release` command
636+
when asking an agent to prepare or publish a release.
637+
634638
Manual fallback steps:
635639

636640
1. Update the CLI package version in `packages/cli/package.json`.

0 commit comments

Comments
 (0)