docs(skill): diagram guidance as taste, since the evidence refused to be a rule

Every claim about visual content failed adversarial verification, so this adds
no engine check. What it adds is judgement about a diagram that already exists:
the org's own measured example renders at 1,459 px and wraps node text mid-word
while its neighbour sits at 191 px. Rendering and rendering well are separate
questions.

Also records what the platform actually permits — Mermaid verified live on
15.0.6+gitea-1.22.0, silent degradation past MERMAID_MAX_SOURCE_CHARACTERS, and
no #gh-dark-mode-only until Gitea 1.26.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mf1zhujv5QjYuAn1a9HcgW
This commit is contained in:
Kjell Tore Guttormsen 2026-08-04 09:52:37 +02:00
commit 193d5f42fe

View file

@ -123,6 +123,57 @@ command that runs the whole suite from a clean clone, stated in the README along
with the fact that nothing runs it automatically. Verifiability is the goal; CI
is one mechanism for it, and it is not available here.
## Diagrams — capability is not justification
Mermaid renders in a README on this forge. That was verified on the live
instance rather than inferred: the published `voyage` README yields two
`div.mermaid-block` containers holding real SVG. It needs no committed image and
no hand-written `iframe`, because the forge injects its own renderer.
That is the whole of what the evidence supports — availability. **Every claim
about visual content failed verification**: that images are rare and therefore
differentiating, that static images outperform GIFs, that screenshots correlate
with anything. There is no evidential basis for a rule about diagrams,
screenshots or terminal recordings, so there is no engine check and there will
not be one until that changes. Adding a diagram may still be right. It is taste,
it has to be argued as taste in the specific repo, and the argument has to say
what *this* reader gains.
Measured, for context and not as a target: across all eighteen READMEs, every
single `![...]` resolves to a badge. The org has no real images at all. That is a
description of where things stand, not a deficit to close — inverting a
measurement into a requirement is the trap this whole research line kept
falling into.
What can be judged is a diagram that already exists. **Rendering and rendering
well are separate questions**, and the org has the gap on display: the second
`voyage` diagram occupies **1,459 px** of vertical space and wraps node text
mid-word. The other one on the same page is 191 px. At the larger size it is not
read, it is scrolled past.
So when a repo has a diagram, or you are adding one:
- **Height before beauty.** Past roughly one screen it has stopped explaining and
started interrupting. Prefer `flowchart LR` to `TD` once the chain runs beyond
about five nodes — vertical is the axis that gets away from you.
- **Short node labels.** Mid-word wrapping is the visible symptom of labels
written as sentences. The sentence belongs in the prose underneath.
- **A diagram earns its place by replacing prose, not by accompanying it.** Two
descriptions of one thing is the same duplication the changelog rule catches,
drawn instead of written.
- **Watch the source length.** `MERMAID_MAX_SOURCE_CHARACTERS` is a per-instance
limit, and exceeding it degrades **silently** to a plain code block — the
reader gets raw Mermaid and nothing anywhere reports an error.
- **No dark-mode image trick.** GitHub's `#gh-dark-mode-only` fragment landed in
Gitea 1.26.0; this instance is built on gitea-1.22.0, so both variants stack
and the reader sees two images. Mermaid, drawn by the theme, is the one visual
that sidesteps the problem entirely.
- **Judge it published.** All of the above is about the rendered result, and a
local preview is a different renderer.
Keep the boundary: the gate reports nothing about visuals. Everything in this
section is advice you give a human, never a finding you file.
## Two things about the install block worth knowing before you edit one
**`enabledPlugins` is a legitimate second form, not a defect.** Most plugin