Filed out-of-scope while implementing #9395 (the ADR maintainer approval gate now refuses an unapproved or armed .claude/skills/** PR, per the #9319 decision-2 ruling).
The gap
Prime Directive #14's own text (AGENTS.md, "⛔ An ADR is confirmed and merged by the maintainer, by hand") scopes itself entirely to one prefix:
on any PR whose diff touches docs/adr/**, ⛔ never merge it, ⛔ never add it to the merge queue, ⛔ never call enable_pr_auto_merge.
.claude/skills/** appears nowhere in the directive. The human-merge reservation for skill PRs lives in the pm-dispatch skill's ACCEPT fork and in the maintainer ruling recorded on #7548 (2026-08-11, "skills updates are ADR-class — human review/merge required"), and #9319 refers to the reservation as Prime Directive #14 — but a seat that reads AGENTS.md alone is told only about ADRs.
After #9395 the gate refuses skill PRs citing "Prime Directive #14" in its failure text. That citation should be checkable against a directive that names the surface.
Suggested fix (maintainer's call — this is governance prose, not code)
One sentence inside #14 naming .claude/skills/** alongside docs/adr/**, noting that both are now machine-enforced by the same required check, and stating where the published skills/ catalog stands (see the sibling finding filed alongside this one).
Not fixed in #9395's PR: that card's surface is scripts/check-adr-merge-approval.mjs + .github/workflows/adr-merge-approval.yml, and rewording a Prime Directive is the maintainer's, not a rider on a gate PR.
Refs: #9395 (the gate change) · #9319 (the ruling) · #7548 (the 2026-08-11 skills-are-ADR-class ruling) · #9238 (the bypass instance).
Filed out-of-scope while implementing #9395 (the
ADR maintainer approvalgate now refuses an unapproved or armed.claude/skills/**PR, per the #9319 decision-2 ruling).The gap
Prime Directive #14's own text (AGENTS.md, "⛔ An ADR is confirmed and merged by the maintainer, by hand") scopes itself entirely to one prefix:
.claude/skills/**appears nowhere in the directive. The human-merge reservation for skill PRs lives in the pm-dispatch skill's ACCEPT fork and in the maintainer ruling recorded on #7548 (2026-08-11, "skills updates are ADR-class — human review/merge required"), and #9319 refers to the reservation as Prime Directive #14 — but a seat that reads AGENTS.md alone is told only about ADRs.After #9395 the gate refuses skill PRs citing "Prime Directive #14" in its failure text. That citation should be checkable against a directive that names the surface.
Suggested fix (maintainer's call — this is governance prose, not code)
One sentence inside #14 naming
.claude/skills/**alongsidedocs/adr/**, noting that both are now machine-enforced by the same required check, and stating where the publishedskills/catalog stands (see the sibling finding filed alongside this one).Not fixed in #9395's PR: that card's surface is
scripts/check-adr-merge-approval.mjs+.github/workflows/adr-merge-approval.yml, and rewording a Prime Directive is the maintainer's, not a rider on a gate PR.Refs: #9395 (the gate change) · #9319 (the ruling) · #7548 (the 2026-08-11 skills-are-ADR-class ruling) · #9238 (the bypass instance).