Repository navigation
Carry the Hub's Session, Drive, Merge, Doc-Style, and Decision-Triage Skills - #479
Conversation
… Skills Part b of the hub resync at hub main c175d557, split from #475 so each pull request fits one full Copilot review. Every file is the content #475's head carried, which the hub's scripts/carry.py wrote and a recorded local pass reviewed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
A recorded local strict-review pass covers head |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #479 +/- ##
========================================
Coverage 87.68% 87.68%
========================================
Files 11 11
Lines 1941 1941
Branches 252 252
========================================
Hits 1702 1702
Misses 166 166
Partials 73 73 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🔵 Needs a closer look
Approval should be deferred because this split PR requires combined-tree verification with three companion resync parts, including interdependent high-impact procedures and transient cross-part references absent from this diff.
No open issues 🎉
What changed in this PR
This pull request carries five hub-authored operational skills into LanguageTags as part of the staged fleet resync. The updates align session handoffs, pull request workflows, releases, decision triage, and documentation standards with the hub.
Changes:
- Adds the
decision-triageskill for classifying and researching maintainer decisions. - Updates session handoff procedures around standing issues, archived rounds, and resume workflows.
- Refreshes pull request driving, merge, release, cleanup, and skill-refresh procedures.
- Updates documentation guidance for prose, Markdown, character sets, comments, and quantitative claims.
| File | Description |
|---|---|
.github/skills/session-handoff/SKILL.md |
Defines standing handoff issues, archived rounds, resume procedures, and session-close workflows. |
.github/skills/merge-and-release/SKILL.md |
Updates promotion merging, release dispatch, skill refresh, and cleanup procedures. |
.github/skills/drive-pr/SKILL.md |
Expands pull request review, finding disposition, merge, and cleanup guidance. |
.github/skills/decision-triage/SKILL.md |
Adds maintainer-decision classification, research, and queue procedures. |
.github/skills/comment-and-doc-style/SKILL.md |
Refreshes prose, Markdown, character-set, comment, and quantitative-claim rules. |
This pull request requires changes.
Review effort: Lite
|
Answering the Copilot round on this head, verdict No change needed. The verdict names no defect in this part's content. It asks for the combined tree to be verified, and that has been done:
|
Part a of 4 of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It replaces #475, which the maintainer chose to split. That PR's Copilot round read 32 of its 50 files and stopped at about 1,840 changed lines, so each part here stays at or below that size. The four parts are #478, #479, #480 and #481. Every file here is byte-identical to the content #475's head (`c1193c97`) carried. The skills tree and the whole-file docs are byte-identical to the hub. The `AGENTS.md`/`GOVERNANCE.md` verbatim sections were written by the hub's `scripts/carry.py`. See #475 for the probes run before overwriting and for how the hand-merged files were judged. Files: `.github/skills/backlog-burndown/SKILL.md`, `.github/skills/pr-review-conduct/SKILL.md` ## Findings left open by the local review The local strict review recorded the findings below. Each is a reference into a file another part carries, so it lasts only while this part sits on `develop` alone. On the combined tree of all four parts, every reference resolves. The four parts merge into `develop` back to back, with no release dispatched in between, so no released state carries a dangling reference. - `introduced`, transient: .github/skills/backlog-burndown/SKILL.md:14 - tells the agent to run `decision-triage` before an away-mode run (also :58, :157, :165, :733, :955), but `.github/skills/decision-triage/` is absent on this branch, so an agent reading the repo's skills tree (Copilot, Codex) cannot run the pre-run triage. The away-mode criteria at :736 are carried whole, so only that pre-run step is unfollowable. Transient until b merges. - `introduced`, transient: .github/skills/backlog-burndown/SKILL.md:696 - adds "Away Mode" for runs with no maintainer present, while this tree's develop-version `unattended-handoff/SKILL.md`, `merge-and-release/SKILL.md:16,52` and `session-handoff/SKILL.md:12,210` still assign that run to `unattended-handoff`. So an unattended request fires two competing loops. A backlog-burndown away-mode run invoked with scope main or release is refused at the main merge, because merge-and-release accepts only an `unattended-handoff` grant. Its seat is also held to session-handoff's attended close order, which exempts only an `unattended-handoff` seat. Transient until b (merge-and-release, session-handoff) and d (deletes unattended-handoff) merge. - `introduced`, transient: .github/skills/pr-review-conduct/SKILL.md:339 - renames the heading to "Every finding ends in a listed outcome" and rewrites outcome 4 (:372). This tree's develop-version `drive-pr/SKILL.md:196` and `local-strict-review/SKILL.md:133,137,147` still cite "Every finding ends in one of five outcomes", which no longer exists. drive-pr's carried include (:147) still carries the old outcome 4, "file the issue first, then reply with its link". So a driver files an issue for a deferral that the new outcome 4 settles by fixing here or declining under outcome 2. Transient until b (drive-pr) and c (local-strict-review) merge. - `introduced`, transient: .github/skills/pr-review-conduct/SKILL.md:358 - cites `GOVERNANCE.md` "Trust Boundaries and Hardening Effort" (also :453) and "Design Before Code" (:455) as the grounds for declining or backing a finding. Neither is carried as an include, and this branch's GOVERNANCE.md has neither section, so a decline cites a section the repo does not hold and the agent has no text to judge the decline against. Transient until c merges. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…m the Hub (#481) Part d of 4 of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It replaces #475, which the maintainer chose to split. That PR's Copilot round read 32 of its 50 files and stopped at about 1,840 changed lines, so each part here stays at or below that size. The four parts are #478, #479, #480 and #481. Every file here is byte-identical to the content #475's head (`c1193c97`) carried. The skills tree and the whole-file docs are byte-identical to the hub. The `AGENTS.md`/`GOVERNANCE.md` verbatim sections were written by the hub's `scripts/carry.py`. See #475 for the probes run before overwriting and for how the hand-merged files were judged. Files: `.editorconfig`, `.gitattributes`, `.github/copilot-instructions.md`, `.github/skills/audit-a-repo/SKILL.md`, `.github/skills/branching-and-release-model/SKILL.md`, `.github/skills/branching-and-release-model/references/branch-protection-and-promotion.md`, `.github/skills/branching-and-release-model/references/release-publish-mechanics.md`, `.github/skills/carried-instruction-file-guard/SKILL.md`, `.github/skills/check-this-repo/SKILL.md`, `.github/skills/comment-and-doc-style/references/carried-doc-references.md`, `.github/skills/comment-and-doc-style/references/line-endings.md`, `.github/skills/comment-and-doc-style/references/markdown-links.md`, `.github/skills/copilot-instructions-keeper/SKILL.md`, `.github/skills/dotnet-codestyle/SKILL.md`, `.github/skills/dotnet-codestyle/references/conventions.md`, `.github/skills/dotnet-codestyle/references/project-config.md`, `.github/skills/dotnet-codestyle/references/testing.md`, `.github/skills/fleet-code-review/SKILL.md`, `.github/skills/git-commit-conventions/SKILL.md`, `.github/skills/git-commit-conventions/references/history-rewrite.md`, `.github/skills/python-codestyle/references/code-style.md`, `.github/skills/python-codestyle/references/profiles.md`, `.github/skills/python-codestyle/references/testing.md`, `.github/skills/resync-a-repo/SKILL.md`, `.github/skills/shell-codestyle/SKILL.md`, `.github/skills/standup-a-repo/SKILL.md`, `.github/skills/unattended-handoff/SKILL.md`, `.github/skills/upstream-contribution-workflow/SKILL.md`, `.github/skills/workflow-ci-contract/SKILL.md`, `.github/skills/workflow-ci-contract/references/architecture.md`, `.github/skills/workflow-ci-contract/references/test-methodology.md`, `.markdownlint-cli2.jsonc` ## Findings left open by the local review The local strict review recorded the findings below. Each is a reference into a file another part carries, so it lasts only while this part sits on `develop` alone. On the combined tree of all four parts, every reference resolves. The four parts merge into `develop` back to back, with no release dispatched in between, so no released state carries a dangling reference. - `introduced`, transient: .github/skills/unattended-handoff/SKILL.md:1 - deleted, while this branch's develop-version `AGENTS.md:114`, `backlog-burndown/SKILL.md:17`, `merge-and-release/SKILL.md:16,52` and `session-handoff/SKILL.md:12,17,176,188,202,210` still route the no-maintainer loop and the main-merge standing grant to it. No away mode exists anywhere on the tree, so an unattended request dead-ends: backlog-burndown says to use a skill the repo no longer carries. Transient until a, b and c merge. - `introduced`, transient: .github/skills/fleet-code-review/SKILL.md:91 - tells a reviewer to suggest removing an incidental count per `GOVERNANCE.md` "Incidental Counts", but that subsection is absent from this branch's GOVERNANCE.md and is not carried as an include. "Design Before Code" and "Trust Boundaries" at :57 and :70 are carried whole, so they resolve. A Copilot review on this tree is pointed at a rule it cannot read. Transient until c merges. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…m the Hub (#480) Part c of 4 of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It replaces #475, which the maintainer chose to split. That PR's Copilot round read 32 of its 50 files and stopped at about 1,840 changed lines, so each part here stays at or below that size. The four parts are #478, #479, #480 and #481. Every file here is byte-identical to the content #475's head (`c1193c97`) carried. The skills tree and the whole-file docs are byte-identical to the hub. The `AGENTS.md`/`GOVERNANCE.md` verbatim sections were written by the hub's `scripts/carry.py`. See #475 for the probes run before overwriting and for how the hand-merged files were judged. Files: `AGENTS.md`, `AUDIT.md`, `CODESTYLE.md`, `.github/skills/local-strict-review/SKILL.md`, `.github/skills/python-codestyle/SKILL.md`, `.github/skills/repo-worktree/SKILL.md`, `.github/skills/skill-lifecycle/SKILL.md`, `.github/skills/workflow-ci-contract/references/d-guarantees.md`. Copilot's first round on this pull request left `GOVERNANCE.md`, `WORKFLOW.md` and `agent-conduct/SKILL.md` out of its file table. Those three now travel alone in #482, #483 and #484. A second local pass over this reduced head recorded 0 findings. ## Findings left open by the local review The local strict review recorded the findings below. Each is a reference into a file another part carries, so it lasts only while this part sits on `develop` alone. On the combined tree of all four parts, every reference resolves. The four parts merge into `develop` back to back, with no release dispatched in between, so no released state carries a dangling reference. - `introduced`, transient: AGENTS.md:135 - routes no-maintainer runs to `backlog-burndown`'s away mode and the question queue to `decision-triage`, and no longer lists `unattended-handoff`. On this branch `.github/skills/decision-triage/` is absent, and the develop-version `backlog-burndown/SKILL.md:15-17` has no away mode and redirects to `unattended-handoff`, which the routing table dropped. So an agent asked to run unattended is routed to a mode that does not exist, and is redirected to a skill the entry point no longer names. Transient until a, b and d merge. - `introduced`, transient: .github/skills/local-strict-review/SKILL.md:152 - cites `pr-review-conduct` "Every finding ends in a listed outcome" (also :167), but this branch's develop-version pr-review-conduct still has "Every finding ends in one of five outcomes". :156 owes another round while a `pre-existing` finding "that outcome 4 fixes here" is open, but that pr-review-conduct's outcome 4 is "file the issue first", which never fixes here. So the round-closing test cannot be applied as written. Transient until a merges. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Part e of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It was split out of #480 because Copilot's round on that head left `GOVERNANCE.md`, `WORKFLOW.md` and `agent-conduct/SKILL.md` out of its file table. This single-file pull request carries `GOVERNANCE.md` byte-identical to #475's head (`c1193c97`) and to the hub. The other parts are #478, #479 and #481 (merged), #480, and the sibling single-file parts #482 to #484. ## Findings left open by the local review - `introduced`, resolved by #476: GOVERNANCE.md:271 - the Concurrency bullet now requires each documented exception to be "cited by number, never restated, in the comment above its implementing workflow's concurrency: key", but develop's .github/workflows/merge-bot-pull-request.yml:9-10 (exception 1) and .github/workflows/run-periodic-codegen-pull-request.yml:13-14 (exception 5) restate their rationale and cite no number, and resync/workflows-2026-11-09 fixes only publish-release.yml, so once every part merges a WORKFLOW.md 5A audit of the D9/Workflow YAML Conventions style rules still records both workflows as violating; fix in a workflow change by replacing each comment with `# GOVERNANCE.md "Workflow YAML Conventions" Concurrency exception (1)` / `(5)` as the hub's catalog/snippets/workflows copies do 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Part f of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It was split out of #480 because Copilot's round on that head left `GOVERNANCE.md`, `WORKFLOW.md` and `agent-conduct/SKILL.md` out of its file table. This single-file pull request carries `WORKFLOW.md` byte-identical to #475's head (`c1193c97`) and to the hub. The other parts are #478, #479 and #481 (merged), #480, and the sibling single-file parts #482 to #484. ## Findings left open by the local review - `introduced`, resolved by #476: WORKFLOW.md:192 - D7.1 now requires the publisher's group to be ref-scoped `${{ github.workflow }}-${{ github.ref }}` with github.run_id appended on a push the plan does not publish, but develop's .github/workflows/publish-release.yml:30-31 still uses `group: ${{ github.workflow }}`, so after this merges a develop push that publishes nothing can replace a pending main publish in the shared group and the repo audits not operational on D7.1; the fix lives on resync/workflows-2026-11-09, which is not among the recorded parts (#478, #479, #481), so it stays broken unless that branch lands too - `introduced`, resolved by #476: WORKFLOW.md:145 - D1.5 now requires a workflow other events also trigger to yield the ruleset-bound aggregator name only when github.event_name == 'pull_request', but develop's .github/workflows/test-pull-request.yml:97 names the job `Check pull request workflow status job` statically while the workflow also runs on push (lines 14-15) and workflow_dispatch (line 16), so a dispatch on a PR head posts the required context without the PR run's gates; same dependency on resync/workflows-2026-11-09 as above 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Part g of the hub resync at hub `main` `c175d557` (`audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop`). It was split out of #480 because Copilot's round on that head left `GOVERNANCE.md`, `WORKFLOW.md` and `agent-conduct/SKILL.md` out of its file table. This single-file pull request carries `.github/skills/agent-conduct/SKILL.md` byte-identical to #475's head (`c1193c97`) and to the hub. The other parts are #478, #479 and #481 (merged), #480, and the sibling single-file parts #482 to #484. ## Findings left open by the local review None. The local strict review recorded 0 findings. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Part b of 4 of the hub resync at hub
mainc175d557(audit run 2026-11-09T16:23:53Z | hub c175d557 | branch override develop). It replaces #475, which the maintainer chose to split. That PR's Copilot round read 32 of its 50 files and stopped at about 1,840 changed lines, so each part here stays at or below that size. The four parts are #478, #479, #480 and #481.Every file here is byte-identical to the content #475's head (
c1193c97) carried. The skills tree and the whole-file docs are byte-identical to the hub. TheAGENTS.md/GOVERNANCE.mdverbatim sections were written by the hub'sscripts/carry.py. See #475 for the probes run before overwriting and for how the hand-merged files were judged.Files:
.github/skills/comment-and-doc-style/SKILL.md,.github/skills/decision-triage/SKILL.md,.github/skills/drive-pr/SKILL.md,.github/skills/merge-and-release/SKILL.md,.github/skills/session-handoff/SKILL.mdFindings left open by the local review
The local strict review recorded the findings below. Each is a reference into a file another part carries, so it lasts only while this part sits on
developalone. On the combined tree of all four parts, every reference resolves. The four parts merge intodevelopback to back, with no release dispatched in between, so no released state carries a dangling reference.introduced, transient: .github/skills/merge-and-release/SKILL.md:49 - makes abacklog-burndownaway-mode run the one standing main-merge grant, and :78 citesbacklog-burndown"Away Mode".decision-triage/SKILL.md:12,125,160andsession-handoff/SKILL.md:235,247,264,270route unattended work the same way. But this branch's develop-versionbacklog-burndown/SKILL.md:15-17has no away mode and sends the no-maintainer loop tounattended-handoff, which is still present. So anunattended-handoffrun invoked with scope main is refused at the main merge, and its seat is held to session-handoff's attended close order, which now exempts only a backlog-burndown away-mode seat. Transient until a and d merge.introduced, transient: .github/skills/drive-pr/SKILL.md:206 - its include key and the :311 cite namepr-review-conduct"Every finding ends in a listed outcome", but this branch's develop-version pr-review-conduct still has "Every finding ends in one of five outcomes". Their outcome 4 also disagrees: drive-pr's carried copy records a deferral by class, while pr-review-conduct says "file the issue first, then reply with its link". So a driver and a reviewer following the two skills dispose of the same deferred finding differently. Transient until a merges.introduced, transient: .github/skills/drive-pr/SKILL.md:225 - citesGOVERNANCE.md"Trust Boundaries and Hardening Effort" to decline a hardening finding, but the section is absent from this branch's GOVERNANCE.md and drive-pr does not carry it as an include, so the decline cites a section the repo does not hold. Transient until c merges.🤖 Generated with Claude Code