Skip to content

[batch] PM-skill optimization: maintainer-accepted 9-point plan, consolidated with #5925 item 7 + #6644 L2 + #7055 + #7156 #7341

Description

@os-help

Maintainer-accepted optimization batch for .claude/skills/pm-dispatch/SKILL.md and its satellite files, consolidated per the maintainer's directive with the two in-flight skill cards. Filed and routed via the maintainer-direct-dispatch channel; authorization quoted verbatim (chat, this seat's session, 2026-08-10):

> 关于项目经理的技能,接受你的优化意见,并和前面两个优化任务集中处理。派发使用云卡片,用 Fable 5 模型

> 项目经理技能还需要考虑的是派任务时使用什么模型,也应该项目经理决定,最低下限 sonnet,最高可以 fable

The accepted proposal list is the devx seat's 2026-08-10 analysis (delivered in chat); items restated here as the card of record.

Consolidated scope

Inherited cards folded in (their own threads carry the detail):

Accepted optimization items:

  1. SKILL.md restructure: main file keeps rules + one-line case anchors; Operational notes narratives, incident case law, and the filter compile-surface inventory move to references/** loaded on demand; the case-law region becomes append-only; a shrink-only line-count ratchet gate guards the main file's size.
  2. Half-state sweeper (report-only): a mechanical checker enumerating label/assignee invariant violations (pm:dispatched with no assignee; assignee with no claim comment; pm:queue+pm:dispatched both present post-landing; pm:blocked without a Blocked-by: body line; seat-sticker title/assignee/body triple out of sync). Complements [decision] engine-core lane drops pm:queue at dispatch without applying pm:dispatched — 7 instances of the ghost-card shape; pick the repair #7239 — its per-instance repairs stay with that card.
  3. Report-channel unification: every dev final report also lands as an issue comment (the os-dev-report marker), both dispatch modes; the subagent return channel becomes an accelerator, not the source of truth.
  4. Machine-produced dispatch inputs: a script mapping a file surface to the gate families that watch it (so "Local gates for this card" is generated, not recalled), plus a claim-comment shape checker.
  5. Role-file precedence audit: clauses true for every card live in .claude/agents/os-dev.md (measured: a per-dispatch prohibition lost to the role file's own prescription — os-dev cleanup prescribes git worktree remove --force, which disables the one guard protecting a parallel agent's uncommitted work #7055 evidence); per-card variables get explicit interfaces in the role file instead of conflicting defaults.
  6. Triage emits a size/model suggestion line consumed by the claim comment; the executor seat may override with a stated reason.
  7. Multi-account slimming: rituals that exist only because of the shared-identity era are marked same-account-only; the cross-account rule stays one line (assignee not yours ⇒ taken).
  8. Decision-card template: every premise line carries its own re-check command, so refreshing a stale decision card is running commands, not re-research.
  9. Model-tiering rewrite (maintainer ruling above): the dispatch model is the PM's per-card decision; floor sonnet, ceiling fable (claude-fable-5), with opus the default judgment tier in between; model stays an explicit parameter on every dispatch; tier recorded in the claim comment.

Delivery shape (ordering is load-bearing)

⛔ Constraints: no docs/adr/**; English on GitHub; sanitizer discipline on every SKILL.md write (entities for angle brackets, read back after posting); out-of-scope discoveries filed separately per PD #10.

Dispatch: cloud card (create_session), model claude-fable-5, per the authorization above.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions