Filed by the domain:skills seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on a maintainer ruling given in the live PM chat, 2026-09-04 13:1xZ. Execution family under the corpus-audit anchor #13597 (Phase 3 continues under this ruling, which supersedes the narrower X0 quote policy where the two differ).
The ruling (verbatim, untranslated)
The maintainer asked whether the PM skills should be re-reviewed for readability — 「要不要把所有的项目经理 skills 再复核一遍,语言改的通顺一点,便于人类审核,目前我看起来好累」 — and, on the seat's core-vs-secondary reading, ruled:
各条规则的出处叙事、事故复盘 根本不重要啊,不需要写入skills啊
⇒ Provenance narratives and incident post-mortems do not belong in the skill corpus at all. The corpus carries rules only, in plain language a human can review.
What this changes
- Every rule keeps its operative content (what to do, what never to do, the thresholds and names it depends on). What goes: who said it when, which incident produced it, which day it was measured, the "this is why" story — unless the story IS the rule's condition (then one clause, no date, no quote).
- A maintainer quotation stays only where the quoted words are themselves the criterion the reader tests against (the four-axes frame block is one such: it is watched byte-for-byte by
check:skill-frame-sync and is ⛔ untouched). Everything else quoted becomes the rule in plain words.
- Language: each file keeps its current language (the pm-dispatch corpus and
os-dev.md are Chinese with English identifiers; AGENTS.md is English). One rule per sentence; ⛔ only for prohibitions; no ⚠️/⭐ emphasis; no issue numbers in operational text (check:pm-skill-id-lint).
- Net shrink only — every ratchet ceiling stays where it is; the rewrite never buys lines. The seat re-locks ceilings once after the family lands (programme rule).
Members (one governed PR each, in this order; the seat dispatches serially)
| # |
file(s) |
size today (a3fbd200) |
flight |
| 1 |
.claude/skills/pm-dispatch/SKILL.md |
971 lines · 142 ⛔ · 124 quotes · 97 dates |
this card |
| 2 |
references/dispatch-runbook.md · review-checklist.md · contract-review.md · landing-operations.md · seat-post-protocol.md · state-machine.md · decision-analysis.md |
≈720 lines |
member card |
| 3 |
references/platform-readings.md · rest-channel.md · lanes/*.md · release-aftercare.md · true-green.md · compile-surfaces.md |
≈900 lines |
member card (readings ledger: facts stay, narratives go) |
| 4 |
.claude/agents/os-dev.md |
450 lines · 41 ⛔ · 53 quotes |
member card |
| 5 |
AGENTS.md |
1161 lines (English) |
member card, last |
Human review, by design
Each PR body carries a rule inventory — one row per rule: section · rule as it now reads · what was removed (narrative / quote / date) · "operative content unchanged" — so the maintainer reviews the table, not the diff. The seat's contract-tier review checks the inventory against the diff before requesting the two approvers.
Gates every member must keep green
check:pm-skill-ratchet (line count and 120-byte lines; shrink only) · check:skill-frame-sync (the frame block byte-identical in its two copies) · check:pm-governed-prose (the instruction surfaces still name the five governed surfaces) · check:pm-skill-id-lint · check:nul-bytes · check:pm-governed-merges · the whole-repo lint · whatever dispatch-gates --commands derives for the paths.
Refs: #13597 (anchor; Phase 1–2 tables and rulings) · #14685 items 2–5 (the earlier X0 / excerpt / frame / move rulings) · #12911 (the thesis).
Generated by Claude Code
Filed by the
domain:skillsseat (sessionsession_019RfFHiRCSs3JXLK4cwcfox, os-steve) on a maintainer ruling given in the live PM chat, 2026-09-04 13:1xZ. Execution family under the corpus-audit anchor #13597 (Phase 3 continues under this ruling, which supersedes the narrower X0 quote policy where the two differ).The ruling (verbatim, untranslated)
The maintainer asked whether the PM skills should be re-reviewed for readability — 「要不要把所有的项目经理 skills 再复核一遍,语言改的通顺一点,便于人类审核,目前我看起来好累」 — and, on the seat's core-vs-secondary reading, ruled:
⇒ Provenance narratives and incident post-mortems do not belong in the skill corpus at all. The corpus carries rules only, in plain language a human can review.
What this changes
check:skill-frame-syncand is ⛔ untouched). Everything else quoted becomes the rule in plain words.os-dev.mdare Chinese with English identifiers;AGENTS.mdis English). One rule per sentence; ⛔ only for prohibitions; nocheck:pm-skill-id-lint).Members (one governed PR each, in this order; the seat dispatches serially)
a3fbd200).claude/skills/pm-dispatch/SKILL.mdreferences/dispatch-runbook.md·review-checklist.md·contract-review.md·landing-operations.md·seat-post-protocol.md·state-machine.md·decision-analysis.mdreferences/platform-readings.md·rest-channel.md·lanes/*.md·release-aftercare.md·true-green.md·compile-surfaces.md.claude/agents/os-dev.mdAGENTS.mdHuman review, by design
Each PR body carries a rule inventory — one row per rule: section · rule as it now reads · what was removed (narrative / quote / date) · "operative content unchanged" — so the maintainer reviews the table, not the diff. The seat's contract-tier review checks the inventory against the diff before requesting the two approvers.
Gates every member must keep green
check:pm-skill-ratchet(line count and 120-byte lines; shrink only) ·check:skill-frame-sync(the frame block byte-identical in its two copies) ·check:pm-governed-prose(the instruction surfaces still name the five governed surfaces) ·check:pm-skill-id-lint·check:nul-bytes·check:pm-governed-merges· the whole-repo lint · whateverdispatch-gates --commandsderives for the paths.Refs: #13597 (anchor; Phase 1–2 tables and rulings) · #14685 items 2–5 (the earlier X0 / excerpt / frame / move rulings) · #12911 (the thesis).
Generated by Claude Code