This was generated by AI on operator direction.
Lane: work (issue-execution loop) · Category: operational (maintainability constraint)
Observation
Surfaced while implementing #704. plugins/source-control/skills/babysit-prs/SKILL.md is 499 lines on main, against plugins/skill-quality/scripts/check-skill.sh's LINE_HARD_CAP=500 (the gate errors at >= 500, so 499 is the last passing value). CI runs this gate via scripts/check-changed-skills.sh "origin/$BASE_REF".
The practical effect: this skill's always-loaded surface has zero budget. Any future change that needs a Gotchas bullet, a mode-table row, or a new rule in SKILL.md fails CI on line count alone and must either be diverted into a reference/ file or bundled with an unrelated compression pass.
How it showed up
#704 mirrored #702's fix pattern, which landed in two surfaces of implement-dispatch: the brief-composition contract and a ## Gotchas reminder. In babysit-prs only the contract half fit. The Gotchas bullet was written, tripped the cap at 507 lines, and was reverted — the mitigation now lives only in reference/orchestration.md's Worker Contract and Worker Prompt Template.
That is defensible for #704 specifically (the Worker Contract is mandatory reading for any orchestrator composing a brief, so the fix still reaches every worker without a third copy to keep in sync). It is not a general answer: the next change may genuinely need the always-loaded surface.
Candidate directions (not yet evaluated)
- Compress
SKILL.md — e.g. /docs-hygiene:compress, or relocate a section wholesale into an existing reference/ file behind a pointer.
- Re-derive whether 500 is the right cap for a skill of this complexity, or whether the cap should count differently for skills that already use progressive disclosure via
reference/.
- Accept the constraint and document it, so the next author diverts to
reference/ deliberately instead of discovering it through red CI.
No direction is recommended here — this is a filed observation for triage, not a briefed fix.
Related
This was generated by AI on operator direction.
Lane: work (issue-execution loop) · Category: operational (maintainability constraint)
Observation
Surfaced while implementing #704.
plugins/source-control/skills/babysit-prs/SKILL.mdis 499 lines onmain, againstplugins/skill-quality/scripts/check-skill.sh'sLINE_HARD_CAP=500(the gate errors at>= 500, so 499 is the last passing value). CI runs this gate viascripts/check-changed-skills.sh "origin/$BASE_REF".The practical effect: this skill's always-loaded surface has zero budget. Any future change that needs a Gotchas bullet, a mode-table row, or a new rule in
SKILL.mdfails CI on line count alone and must either be diverted into areference/file or bundled with an unrelated compression pass.How it showed up
#704 mirrored #702's fix pattern, which landed in two surfaces of
implement-dispatch: the brief-composition contract and a## Gotchasreminder. Inbabysit-prsonly the contract half fit. The Gotchas bullet was written, tripped the cap at 507 lines, and was reverted — the mitigation now lives only inreference/orchestration.md's Worker Contract and Worker Prompt Template.That is defensible for #704 specifically (the Worker Contract is mandatory reading for any orchestrator composing a brief, so the fix still reaches every worker without a third copy to keep in sync). It is not a general answer: the next change may genuinely need the always-loaded surface.
Candidate directions (not yet evaluated)
SKILL.md— e.g./docs-hygiene:compress, or relocate a section wholesale into an existingreference/file behind a pointer.reference/.reference/deliberately instead of discovering it through red CI.No direction is recommended here — this is a filed observation for triage, not a briefed fix.
Related
implement-dispatchfix whose two-surface pattern could not be fully mirrored