Skip to content

finding: the published skills/ catalog is human-merge by convention but is not gated — two of the pm-dispatch fork's three prefixes are enforced #9404

Description

@os-zhuang

Observation filed while implementing #9395. No action proposed here; recording the gap so it is a decision rather than an oversight.

What was measured

The pm-dispatch skill's ACCEPT fork treats three prefixes as human-merge-only (.claude/skills/pm-dispatch/SKILL.md, verbatim):

路径面一条命中docs/adr/**.claude/skills/**skills/** ⇒ ACCEPT 换终局三件套 … ⛔ 不合并不入队不挂auto-merge

After #9395 the ADR maintainer approval gate enforces the first two. skills/** — the published catalog that ships to customer projects — remains convention only: a skills/**-only PR passes the gate on the zero-lookup clean path and can be flipped ready, armed and queued exactly as PR #9238 was on the internal surface.

This was deliberate in #9395, not an omission: the #9319 decision-2 ruling names .claude/skills/**, and the gate script's header states the exclusion out loud rather than quietly widening past the ruling.

Why it is worth a decision rather than a shrug

  • The risk profile differs from .claude/skills/** in an interesting direction: the internal skills steer this repo's own agents, while skills/** ships to customer projects — a bad landing propagates outward instead of inward.
  • If the answer is "convention is enough for the published catalog", that is a fine answer, but it should be a recorded one; the three-prefix fork currently reads as one rule with an unexplained two-thirds enforcement.
  • Mechanically this is a one-entry change: GOVERNED_SURFACES in scripts/check-adr-merge-approval.mjs takes a third row with its own rule wording, and the self-test's "the published skills catalog is NOT governed" assertion would invert.

Refs: #9395 (where the two-of-three state was created) · #9319 (the ruling) · #7548.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions