Add patterns 34-35: uniform sentence and paragraph length - #211
Open
MCKRUZ wants to merge 1 commit into
Open
Conversation
Patterns 1-33 operate at the word and phrase level. Prose can satisfy all of them and still read as generated, because the strongest remaining tell is structural: LLMs settle into a narrow sentence-length band and stay there, and produce paragraphs of even size and identical internal shape. The skill already treats "variety in sentence length" as a sign of human writing under DETECTION GUIDANCE, but only as a detection signal. There was no generative counterpart telling an editor how to fix the problem. These two patterns supply that, with a concrete method: count words per sentence across a few paragraphs, and if the spread is narrow, break one sentence hard and let another run long. Two guards are included so the new patterns do not fight existing ones: - blader#34 explicitly defers to blader#31. Stacking short fragments to manufacture drama is its own tell, so the instruction is to increase variance, not to shorten. It also warns against mechanical short-long alternation, which is just a different uniform pattern. - Both patterns carry a genre limit. Reference documentation, API docs, procedures, and legal text are uniform by design, and a matching entry was added to the false-positive list so low variance in those genres is not flagged. Also updates the README pattern table and heading, the AGENTS.md pattern count, the plugin version, and the validator bounds, per the process in AGENTS.md. SKILL.md is 450 lines, within the 500-line budget. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
Two patterns covering the structural layer: #34 Uniform Sentence Length and #35 Uniform Paragraph Length.
Patterns 1-33 operate at the word and phrase level. Prose can satisfy all of them and still read as generated, because LLMs settle into a narrow sentence-length band and stay there, and produce paragraphs of even size and identical internal shape.
Why it isn't already covered
DETECTION GUIDANCEalready lists "Variety in sentence length" under Signs of human writing. That is a detection signal, telling the editor what not to destroy. There was no generative counterpart telling the editor how to fix prose that lacks it.These two patterns supply the method: count words per sentence across a few paragraphs, and if the spread is narrow, break one sentence hard and let another run long.
Guards against fighting existing patterns
I was conscious that a naive "vary your sentence length" rule collides with §31, so:
Housekeeping, per AGENTS.md
AGENTS.mdpattern count updatedmetadata.versionand.claude-plugin/plugin.jsonbumped to 2.10.0 (kept in sync, the validator checks this)scripts/validate-package.pybounds updated to 1-35SKILL.mdis 450 lines, within the 500-line portability budgetpython scripts/validate-package.pypassesUnrelated bug you may want to know about
scripts/validate-package.pycrashes on Windows withUnicodeDecodeErrorbecauseread_text()uses the platform default encoding (cp1252) andSKILL.mdcontains non-Latin-1 characters. This reproduces on unmodifiedmain, so it is not introduced here and I have left it alone. Passingencoding="utf-8"to the threeread_text()calls would fix it. Happy to send that as a separate PR if useful.