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.

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