Observation recorded while editing three skills under card #9387 (PR #9470). Not a defect in anything shipped — recording it so the next person to grow a skill is not surprised.
What I observed
scripts/pm/check-skill-line-ratchet.mjs header states the intent:
So the ceiling now covers the whole surface, per file
Its CEILINGS map holds 7 entries: the six pm-dispatch files (SKILL.md plus its five references/) and .claude/agents/os-dev.md.
The other four skills under .claude/skills/ carry no ceiling:
checklist-testchecklist-authordogfood-verificationspec-property-retirement
Why it may matter
The ratchet's own rationale is that intent 「erodes one well-meaning paragraph at a time」 without a gate, and it cites a measured case: the un-ratcheted references/ and os-dev.md grew +31% in one shift while the ratcheted file held at 0%. That argument is not specific to the PM protocol — it applies to any instruction file an agent reads in full. The four uncovered skills are read in full by the sessions that use them.
PR #9470 grew checklist-test from 131 to 163 lines with nothing to check that growth but authorial restraint, which is precisely the condition the ratchet was built to replace.
Not proposing the change here
Whether these four should get ceilings is a judgement about how much instruction surface the QA/dogfood lane should carry, and adding ceilings mid-review would have been scope creep on an ADR-class card. Recording the asymmetry for triage.
If ceilings are wanted, the natural moment is right after #9470 is reviewed, so the numbers are set from the post-review text rather than needing a raise immediately.
- Unassigned, observation class, no
pm:queue.
Observation recorded while editing three skills under card #9387 (PR #9470). Not a defect in anything shipped — recording it so the next person to grow a skill is not surprised.
What I observed
scripts/pm/check-skill-line-ratchet.mjsheader states the intent:Its
CEILINGSmap holds 7 entries: the sixpm-dispatchfiles (SKILL.md plus its fivereferences/) and.claude/agents/os-dev.md.The other four skills under
.claude/skills/carry no ceiling:checklist-testchecklist-authordogfood-verificationspec-property-retirementWhy it may matter
The ratchet's own rationale is that intent 「erodes one well-meaning paragraph at a time」 without a gate, and it cites a measured case: the un-ratcheted
references/andos-dev.mdgrew +31% in one shift while the ratcheted file held at 0%. That argument is not specific to the PM protocol — it applies to any instruction file an agent reads in full. The four uncovered skills are read in full by the sessions that use them.PR #9470 grew
checklist-testfrom 131 to 163 lines with nothing to check that growth but authorial restraint, which is precisely the condition the ratchet was built to replace.Not proposing the change here
Whether these four should get ceilings is a judgement about how much instruction surface the QA/dogfood lane should carry, and adding ceilings mid-review would have been scope creep on an ADR-class card. Recording the asymmetry for triage.
If ceilings are wanted, the natural moment is right after #9470 is reviewed, so the numbers are set from the post-review text rather than needing a raise immediately.
pm:queue.