Skip to content

[PM corpus] rules only, plain language: strip provenance narratives and incident post-mortems from the pm-dispatch skill corpus (maintainer 2026-09-04) — member 1: SKILL.md #15379

Description

@claude

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions