Skip to content

Commit 05c47b6

Browse files
arturcicclaude
andcommitted
docs: add release agent skill and cross-agent instructions
Converts the /release Claude Code command into an agent skill at .agents/skills/release/SKILL.md (symlinked at .claude/skills/release), covering milestone readiness, GitHub release creation, downstream PR monitoring, and published-artifact verification. Documents how to run it for Claude Code, GitHub Copilot, and Codex CLI in CONTRIBUTING.md and AGENTS.md, and fixes a .gitignore collision with the VS build-output [Rr]elease/ rule that was hiding the new skill directory. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent dd28a14 commit 05c47b6

6 files changed

Lines changed: 602 additions & 1 deletion

File tree

.agents/skills/release/SKILL.md

Lines changed: 555 additions & 0 deletions
Large diffs are not rendered by default.

.claude/skills/release

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../.agents/skills/release

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<!-- Copilot instructions for GitVersion repository -->
22
# GitVersion — Copilot agent instructions
33

4-
See [AGENTS.md](../AGENTS.md) for repo-specific guidance (architecture, developer commands, conventions, and testing patterns).
4+
See [AGENTS.md](../AGENTS.md) for repo-specific guidance (architecture, developer commands, conventions, testing patterns, and the release process).

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,6 @@ dogfood/
127127
new-cli/log.txt
128128

129129
new-cli/logs/
130+
131+
# Agent skills (name collides with the VS build-output [Rr]elease/ rule above)
132+
!.agents/skills/release/

AGENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,15 @@ dotnet run --project new-cli/GitVersion.Cli
101101
- **Commit style**: prefer atomic commits; rebase onto `main` rather than merging.
102102
- **Tests**: integration tests live in `src/GitVersion.Core.Tests/IntegrationTests/`. Use `EmptyRepositoryFixture` / `BaseGitFlowRepositoryFixture` and builder patterns (`GitFlowConfigurationBuilder`, `GitHubFlowConfigurationBuilder`).
103103

104+
## Release process
105+
106+
Cutting a release (milestone setup, label validation, creating the GitHub release, monitoring downstream
107+
publish PRs for Homebrew/winget/GitTools Actions, and verifying published artifacts on NuGet/Docker/Chocolatey)
108+
is documented step-by-step in [`.agents/skills/release/SKILL.md`](.agents/skills/release/SKILL.md) — read that
109+
file in full before doing any release work, and follow its phases in order rather than improvising. It's also
110+
symlinked at `.claude/skills/release` for tool discovery, and summarized for humans in
111+
[`CONTRIBUTING.md`](CONTRIBUTING.md#release-process). It requires the `gh` CLI authenticated (`gh auth login`).
112+
104113
## Tips
105114

106115
- For `gh` commands, set `GH_PAGER=cat GH_FORCE_TTY=0` to avoid pager/TTY issues in non-interactive terminals.

CONTRIBUTING.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,39 @@ We use Cake for our build and deployment process. The way the release process is
142142
and other distribution channels.
143143
9. The issues and pull requests will get updated with message specifying in which release it was included.
144144

145+
### Running the release with the `release` agent skill
146+
147+
Steps 2–9 above are automated by the `release` agent skill, kept at [`.agents/skills/release/SKILL.md`](.agents/skills/release/SKILL.md)
148+
(also symlinked at `.claude/skills/release` for tool discovery, and referenced from [`AGENTS.md`](AGENTS.md)). It walks
149+
through milestone setup, GitReleaseManager label validation, creating the GitHub release, monitoring the downstream
150+
publish PRs (Homebrew, winget, GitTools Actions), and verifying published artifacts (NuGet, Docker, Chocolatey, docs schema).
151+
152+
All three supported coding agents resolve to the same skill file, with different invocation mechanics:
153+
154+
- **Claude Code** has native skill support. Open a session in the repo root and run:
155+
156+
```
157+
/release
158+
```
159+
160+
or ask the assistant to run the `release` skill directly if slash commands aren't available in your client.
161+
162+
- **GitHub Copilot** reads [`.github/copilot-instructions.md`](.github/copilot-instructions.md), which points to `AGENTS.md`.
163+
Ask Copilot Chat (or the Copilot coding agent) to perform a GitVersion release; it should follow the pointer to
164+
`AGENTS.md` and from there to the skill file. If it doesn't pick up the pointer on its own, explicitly ask it to
165+
read `.agents/skills/release/SKILL.md` and follow its phases in order.
166+
167+
- **Codex CLI** reads `AGENTS.md` automatically as repo-specific guidance. Ask it to perform a GitVersion release;
168+
it should follow the `AGENTS.md` pointer to `.agents/skills/release/SKILL.md`. As with Copilot, you can also
169+
reference the skill file path directly if it doesn't follow the pointer unprompted.
170+
171+
In every case, the skill requires the `gh` CLI installed and authenticated (`gh auth login`) — Phase 0 checks this
172+
before doing anything else.
173+
174+
The skill is interactive: it stops at each phase to show its findings and confirm next steps with you (e.g. before
175+
creating the GitHub release, before fixing label issues, before retrying a failed publish workflow). It does not
176+
wait for downstream PRs to merge — once a PR is confirmed created it's linked in the summary and considered done.
177+
145178
### NuGet Trusted Publishing
146179

147180
NuGet packages are published to nuget.org using [Trusted Publishing](https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing),

0 commit comments

Comments
 (0)