Skip to content

Commit 8a936a6

Browse files
jeffhandleyCopilot
andcommitted
Harvest Co-authored-by trailers from all commits in every PR
Update attribution rules in prepare-release and publish-release skills to clarify that Co-authored-by trailers should be harvested from all commits in each PR (not just the merge commit) and for every PR regardless of primary author--not only for Copilot-authored PRs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent aae77b1 commit 8a936a6

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

.github/skills/prepare-release/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ Sort every PR into one of four categories. See [references/categorization.md](re
4545
```
4646

4747
**Attribution rules:**
48-
- Harvest `Co-authored-by` trailers from all commits in each PR's merge commit
49-
- For Copilot-authored PRs, check the `copilot_work_started` timeline event to identify the triggering user. That person becomes the primary author; `@Copilot` becomes a co-author
48+
- Harvest `Co-authored-by` trailers from **all commits** in each PR (not just the merge commit) to identify co-authors. Do this for every PR regardless of primary author.
49+
- For Copilot-authored PRs, additionally check the `copilot_work_started` timeline event to identify the triggering user. That person becomes the primary author; `@Copilot` becomes a co-author.
5050
- Omit the co-author parenthetical when there are none
5151
- Sort entries within each section by merge date (chronological)
5252

@@ -187,7 +187,7 @@ Only after explicit user confirmation in Step 11:
187187
## Edge Cases
188188

189189
- **PR spans categories**: categorize by primary intent
190-
- **Copilot timeline missing**: fall back to `Co-authored-by` trailers; if still unclear, use `@Copilot` as primary author
190+
- **Copilot timeline missing**: fall back to `Co-authored-by` trailers to determine whether `@Copilot` should be a co-author; if still unclear, use `@Copilot` as primary author
191191
- **No breaking changes**: omit the Breaking Changes section from release notes entirely
192192
- **Single breaking change**: use the same numbered format as multiple
193193
- **No user-facing changes**: if all PRs are documentation, tests, or infrastructure, flag that a release may not be warranted and ask the user whether to proceed

.github/skills/prepare-release/references/categorization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Use this simplified format (GitHub auto-links `#PR` and `@user`):
4949
* Description #PR by @author
5050
```
5151

52-
For PRs with co-authors (harvested from `Co-authored-by` commit trailers):
52+
For PRs with co-authors (harvested from `Co-authored-by` trailers across **all commits** in the PR, not just the merge commit):
5353
```
5454
* Description #PR by @author (co-authored by @user1 @user2)
5555
```
@@ -64,7 +64,7 @@ For direct commits without an associated PR (e.g., version bumps merged directly
6464
* Bump version to v0.1.0-preview.12 by @halter73
6565
```
6666

67-
For Copilot-authored PRs, identify who triggered Copilot using the `copilot_work_started` timeline event on the PR. That person becomes the primary author, and @Copilot becomes a co-author:
67+
For Copilot-authored PRs, additionally identify who triggered Copilot using the `copilot_work_started` timeline event on the PR. That person becomes the primary author, and @Copilot becomes a co-author:
6868
```
6969
* Add trace-level logging for JSON-RPC payloads #1234 by @halter73 (co-authored by @Copilot)
7070
```

.github/skills/publish-release/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Re-categorize all PRs in the commit range (including any new ones from Step 3).
6464

6565
1. **Re-run the breaking change audit** using the **breaking-changes** skill if new PRs were found that may introduce breaks. Otherwise, carry forward the results from the prepare-release PR.
6666
2. **Re-categorize** all PRs into sections (What's Changed, Documentation, Tests, Infrastructure).
67-
3. **Re-attribute** co-authors for any new PRs.
67+
3. **Re-attribute** co-authors for any new PRs by harvesting `Co-authored-by` trailers from all commits in each PR.
6868
4. **Update acknowledgements** to include contributors from new PRs.
6969

7070
### Step 5: Validate README Code Samples
@@ -125,7 +125,7 @@ When the user requests revisions after the initial creation, always rewrite the
125125
- **PR not found**: if the prepare-release PR cannot be identified, offer to proceed manually by specifying a version and target commit
126126
- **Draft already exists**: if a draft release with the same tag already exists, offer to update it
127127
- **PR spans categories**: categorize by primary intent
128-
- **Copilot timeline missing**: fall back to `Co-authored-by` trailers; if still unclear, use `@Copilot` as primary author
128+
- **Copilot timeline missing**: fall back to `Co-authored-by` trailers to determine whether `@Copilot` should be a co-author; if still unclear, use `@Copilot` as primary author
129129
- **No breaking changes**: omit the Breaking Changes section entirely
130130
- **Single breaking change**: use the same numbered format as multiple
131131

0 commit comments

Comments
 (0)