Skip to content

Commit 6a517c3

Browse files
Clarify release note PR control plan
Co-authored-by: GitHub Copilot <198982749+Copilot@users.noreply.github.com>
1 parent 517607b commit 6a517c3

7 files changed

Lines changed: 40 additions & 30 deletions

File tree

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<!--
2-
This title and description become the GitHub Release notes by default. Write for the people who use the released
3-
artifact. See docs/content/guides/writing-release-note-prs.md and the psmodule-release-note-authoring skill.
4-
Delete headings that do not apply. Remove every placeholder and comment before marking the pull request ready.
2+
This is the final content-control plan for the pull request author. The automated release process reuses this title
3+
and description as the GitHub Release notes by default; it does not create a separate release-note document. Format
4+
the title, description, and selected version label for the people who use the released artifact. See
5+
docs/content/guides/formatting-release-note-prs.md and the psmodule-release-note-authoring skill. Delete headings
6+
that do not apply. Remove every placeholder and comment before marking the pull request ready.
57
-->
68

79
<One concise paragraph: what users receive and why it matters.>

.github/plugin/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ skill keeps plugin skills thin and points shared authoring guidance to the
4040
documentation site.
4141
The
4242
[`psmodule-release-note-authoring`](./psmodule/skills/psmodule-release-note-authoring/SKILL.md)
43-
skill writes release-bound pull requests as user-facing release notes with
44-
adoption steps and verified version transitions.
43+
skill formats pull request titles, descriptions, and labels as user-facing
44+
release notes with adoption steps and verified version transitions.
4545
Verify the installation with:
4646

4747
```console

.github/plugin/psmodule/skills/psmodule-release-note-authoring/SKILL.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
---
22
name: psmodule-release-note-authoring
3-
description: Write or review release-bound pull requests as user-facing release notes with adoption steps and a verified version transition.
3+
description: Format pull request titles, descriptions, and labels as user-facing release notes with adoption steps and a verified version transition.
44
---
55

6-
# Author release-note pull requests
6+
# Format release-note pull requests
77

8-
Use this skill when authoring, rewriting, or reviewing a pull request whose title and description will be published as
9-
release notes. Read the [release-note pull request guide](../../../../../docs/content/guides/writing-release-note-prs.md)
8+
Use this skill when formatting, rewriting, or reviewing a pull request whose title and description will be published
9+
as release notes. This skill controls the author-facing pull request message; it does not create separate release
10+
notes. Read the [pull-request formatting guide](../../../../../docs/content/guides/formatting-release-note-prs.md)
1011
before editing the pull request. That guide owns the release-note structure and the user-facing writing rules.
1112

1213
## Operating contract
1314

1415
1. Identify the artifact users consume, its current published version or reference, its configured version-label
1516
mapping, and the users affected by the change.
16-
2. Write the title and leading paragraph around the user outcome. Group changes by what users experience, not by files
17-
or implementation activity.
17+
2. Format the title, description, and selected label around one user outcome. Group description changes by what users
18+
experience, not by files or implementation activity.
1819
3. Include an ordered `Adopting this release` section for every affected user. State that normal updating is sufficient
1920
when no configuration, code, or invocation change is required.
2021
4. Verify the configured label, SemVer effect, current published version, and planned release version together. Refresh
@@ -32,6 +33,6 @@ migration, or claim that no user action is needed without inspecting the deliver
3233

3334
## References
3435

35-
- [Writing release-note pull requests](../../../../../docs/content/guides/writing-release-note-prs.md)
36+
- [Formatting release-note pull requests](../../../../../docs/content/guides/formatting-release-note-prs.md)
3637
- [Versioning and releases](../../../../../docs/content/guides/versioning-and-releases.md)
3738
- [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/)

docs/content/guides/configuring-the-pipeline.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Commands can now authenticate in environments where a browser callback is unavai
161161
- **Version transition:** `v1.4.2` -> `v1.5.0`
162162
```
163163

164-
Use [Writing release-note pull requests](writing-release-note-prs.md) for the complete user-facing structure,
164+
Use [Formatting release-note pull requests](formatting-release-note-prs.md) for the complete user-facing structure,
165165
including technical details and relevant issue links.
166166

167167
### Version-only release names

docs/content/guides/writing-release-note-prs.md renamed to docs/content/guides/formatting-release-note-prs.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
---
2-
title: Writing release-note pull requests
3-
description: Turn a pull request into clear release notes that explain outcomes, adoption steps, and version impact.
2+
title: Formatting release-note pull requests
3+
description: Control the title, description, and label that automated releases reuse as user-facing release notes.
44
---
55

6-
# Writing release-note pull requests
6+
# Formatting release-note pull requests
77

8-
For the default Process-PSModule configuration, a pull request title becomes the GitHub Release notes heading and its
9-
description becomes the release notes body. The release name is the resolved version unless
10-
`Publish.Module.UsePRTitleAsReleaseName` changes that setting. Treat the title, description, and selected version label
11-
as the final decision about what users receive.
8+
This guide is the final content-control plan for an author formatting a pull request. It is not release notes for a
9+
specific change. It defines how the pull request title, description, and version label communicate what users receive
10+
when the automated release process reuses them.
1211

13-
This guide extends the [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/) with the release transition and
14-
adoption information required by Process-PSModule consumers. It applies to any releasable artifact: a PowerShell
12+
With the default Process-PSModule settings, automation reuses the pull request title as the release notes heading and
13+
the description as the release notes body. The release name is the resolved version unless
14+
`Publish.Module.UsePRTitleAsReleaseName` changes that setting. The author, rather than the automation, makes the final
15+
message decision by formatting those three pull request fields before review.
16+
17+
This guide extends the [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/) with the release transition
18+
and adoption information required by Process-PSModule consumers. It applies to any releasable artifact: a PowerShell
1519
module, reusable workflow, GitHub Action, library, service, or infrastructure module.
1620

1721
## Before starting
@@ -25,7 +29,7 @@ module, reusable workflow, GitHub Action, library, service, or infrastructure mo
2529

2630
## Steps
2731

28-
1. Write the title in the [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/#title). Describe the
32+
1. Format the title in the [MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/#title). Describe the
2933
user-facing outcome, not the implementation activity.
3034
2. Open with one concise paragraph that says what users receive and why it matters. Use present tense and active voice.
3135
3. Group the changes by experience using `## New:`, `## Changed:`, `## Fixed:`, and, for an incompatible release,
@@ -40,10 +44,11 @@ module, reusable workflow, GitHub Action, library, service, or infrastructure mo
4044
[MSX PR format](https://msx.no/docs/Ways-of-Working/PR-Format/#description-structure). Technical details explain
4145
how the outcome was delivered; they do not replace the user-facing narrative or adoption steps.
4246

43-
## Release-note structure
47+
## Pull-request description structure
4448

4549
Use only the user-facing change headings that apply, but always include an adoption answer and release impact for a
46-
published change.
50+
published change. This is the format of the pull-request description that the release process later reuses; it is not
51+
a separate release-note document to maintain.
4752

4853
````markdown
4954
<One paragraph explaining what users receive and why it matters.>
@@ -119,19 +124,21 @@ Do not label this section `Migration` unless the release performs a genuine data
119124
version update, reference change, configuration adjustment, or command replacement belongs under
120125
`Adopting this release`.
121126

122-
## Release impact
127+
## Formatting release impact
123128

124129
The configured version label determines the next version by applying its SemVer bump to the current published
125130
version. The exact label can differ between repositories; describe its effect rather than relying on a conventional
126-
name. The title and body explain the user value, while the version becomes the default GitHub Release name.
131+
name. The pull-request title and description explain the user value, while the version becomes the default GitHub
132+
Release name.
127133

128134
Before marking a pull request ready, refresh the current version and planned version if another release landed while
129135
the branch was open. Do not publish a stale numeric transition. A prerelease label selects a release channel alongside
130136
the version bump; it is not the bump itself.
131137

132138
## Verify
133139

134-
- The title and opening paragraph are understandable without internal file, function, or class names.
140+
- The title, description, and selected label are understandable as one user-facing message without internal file,
141+
function, or class names.
135142
- Every user-visible change says what the user gets, and the technical details remain in the final details block.
136143
- `Adopting this release` gives complete, ordered instructions for affected users or explicitly says no action is
137144
needed.

docs/content/guides/versioning-and-releases.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ the configured default branch.
1212
With the default release-note settings, the pull request title becomes the release notes heading and its description
1313
becomes the release notes body. The release name remains the resolved version by default. Treat the selected label and
1414
the pull request content as the final decision about the release users receive; see
15-
[Writing release-note pull requests](writing-release-note-prs.md) for the required user-facing format.
15+
[Formatting release-note pull requests](formatting-release-note-prs.md) for the required user-facing format.
1616

1717
## Flow
1818

docs/zensical.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ nav = [
3232
{"Writing module tests" = "guides/writing-module-tests.md"},
3333
{"Skipping framework tests" = "guides/skipping-framework-tests.md"},
3434
{"Versioning and releases" = "guides/versioning-and-releases.md"},
35-
{"Writing release-note PRs" = "guides/writing-release-note-prs.md"},
35+
{"Formatting release-note PRs" = "guides/formatting-release-note-prs.md"},
3636
{"Validating before review" = "guides/validating-before-review.md"},
3737
{"Writing plugin skills" = "guides/writing-plugin-skills.md"},
3838
{"Module development orchestration" = "guides/module-development-orchestration.md"},

0 commit comments

Comments
 (0)