scripts/semantic-line-breaks.py reports three skill files as non-conformant in
paragraphs that pre-date any current change:
skills/ardia/SKILL.md (the driven-draft bullet, around line 36)
skills/config-ai/SKILL.md (the no-push-access branch, around line 135)
skills/gip/SKILL.md (the parallel-worker brief blockquote, around line 137)
Each is hard-wrapped at roughly 78 columns rather than broken at sentence
boundaries, which shared/writing/semantic-line-breaks.md requires.
Surfaced during #2131, where one-line edits inside those paragraphs made the
checker want to reformat the whole surrounding paragraph. Reformatting them
there was declined deliberately: a mechanical rewrap in a PR about something
else buries the real change in unrelated churn, which is the same hazard
hooks/no-whole-file-punct-replace.py exists to prevent (on 2026-08-02 a
whole-file glyph replace concealed two dropped paragraphs). So the normalization
belongs in its own PR, per CLAUDE.md's "the restructuring goes in its own issue
or PR rather than happening inside whatever task noticed it".
Reproducing
python3 scripts/semantic-line-breaks.py --base origin/main skills/ardia/SKILL.md
Note on measuring this
--all (whole-file scope) reports a would-change on essentially every file in
the corpus, including untouched ones -- verified against
shared/workflow/verify-the-right-artifact.md, which is not part of any current
change. So --all is not a conformance measure; the default changed-line scope
against --base origin/main is. Worth stating because a reviewer reading an
--all count as a per-file conformance verdict would conclude the corpus is
uniformly non-conformant, which it is not.
Scope
Prose reflow only. No content, link, or code changes; the diff should be pure
line-breaking, verified with git diff --word-diff showing no word-level
changes.
scripts/semantic-line-breaks.pyreports three skill files as non-conformant inparagraphs that pre-date any current change:
skills/ardia/SKILL.md(the driven-draft bullet, around line 36)skills/config-ai/SKILL.md(the no-push-access branch, around line 135)skills/gip/SKILL.md(the parallel-worker brief blockquote, around line 137)Each is hard-wrapped at roughly 78 columns rather than broken at sentence
boundaries, which
shared/writing/semantic-line-breaks.mdrequires.Surfaced during #2131, where one-line edits inside those paragraphs made the
checker want to reformat the whole surrounding paragraph. Reformatting them
there was declined deliberately: a mechanical rewrap in a PR about something
else buries the real change in unrelated churn, which is the same hazard
hooks/no-whole-file-punct-replace.pyexists to prevent (on 2026-08-02 awhole-file glyph replace concealed two dropped paragraphs). So the normalization
belongs in its own PR, per
CLAUDE.md's "the restructuring goes in its own issueor PR rather than happening inside whatever task noticed it".
Reproducing
Note on measuring this
--all(whole-file scope) reports a would-change on essentially every file inthe corpus, including untouched ones -- verified against
shared/workflow/verify-the-right-artifact.md, which is not part of any currentchange. So
--allis not a conformance measure; the default changed-line scopeagainst
--base origin/mainis. Worth stating because a reviewer reading an--allcount as a per-file conformance verdict would conclude the corpus isuniformly non-conformant, which it is not.
Scope
Prose reflow only. No content, link, or code changes; the diff should be pure
line-breaking, verified with
git diff --word-diffshowing no word-levelchanges.