The skill's own authority said UNLIMITED
Nothing bounded a reply's visual volume. The one file the glyph skill cites as its authority actively encouraged more. Drag to see where the budget bites.
Every repo source pushed one way
| source | says about volume |
|---|---|
src/rules/visual-style.md:52 | "UNLIMITED" · "Lean in" |
skills/glyph/rules/… | byte-identical copy |
CLAUDE.md:15 | no ceiling |
visual-style-nudge.ts | "render it as ASCII art" · no ceiling |
glyph/SKILL.md:192 | width < 80 · per diagram |
ascii-lint.ts | width, corners, density · per block |
validate-visual-style.py | which CHARACTERS · never how many |
Six sources speak to chat visuals. Every one bounds a line's width or a block's characters. None bounds the reply.
Why a line budget, not a block count
| measure | p50 | p75 | p90 | max |
|---|---|---|---|---|
| block length (lines) | 8 | 10 | 13 | 23 |
| visual share of reply | 36% | 43% | 53% | 81% |
From 151 replies, 28 carrying a visual. A block-COUNT rule binds almost nothing: 24 of the 28 already used exactly one block, while the worst reply was 81% visual and would have passed it. Volume is the failure mode.
No gate can enforce this.
validate-visual-style.py reads a PR
title and body; ascii-lint fires on file writes. A chat reply is
neither, so it is unobservable to both. This is a docs fix by necessity, not
by preference. Issue #3558.