How Humanizer Detects and Fixes Forced Triads in Prose
Humanizer treats forced triads as Pattern 6 in its "Rhythm by rule" category, identifying three-part constructions that exist only to sound complete and fixing them by merging redundant examples, developing the strongest item, or varying the structure when the items lack distinct meaning.
The blader/humanizer repository provides a Markdown-based skill that analyzes text for rhetorical tells and improves writing through structured rules. When detecting and fixing forced triads, the system applies a specific heuristic defined in SKILL.md that distinguishes between meaningful three-part structures and stylistic padding, ensuring the rewrite respects the original intent while removing unnecessary verbosity.
The Forced Triad Detection Rule
According to SKILL.md (Pattern 6), Humanizer recognizes forced triads as instances where "ideas arrive in threes to sound complete, whether the meaning has three parts or not." The detection logic specifically scans for three-part constructions such as noun lists ("innovation, inspiration, and insights"), parallel examples, or three short facts followed by a lesson.
The rule requires checking that each item in the triad contributes a distinct idea. If the three parts merely echo the same concept or exist purely for rhythmic effect, Humanizer flags the construction for editing. This check occurs during the validation phase of the skill's workflow, ensuring that rewrites eliminate padding while preserving genuine three-part logical structures like process stages or distinct categories.
Three Strategies for Fixing Forced Triads
When the detection rule identifies a forced triad where the items lack unique contributions, Humanizer applies one of three editorial strategies:
Merging Parallel Examples
The skill combines redundant or closely related items into a single, richer statement. Rather than listing three similar examples that illustrate the same point, the rewrite consolidates them into one comprehensive description that carries more weight and clarity.
Developing the Strongest Item
Humanizer selects the most compelling or specific item from the triad and expands it into a fully developed idea, discarding the weaker redundant entries. This approach maintains the conceptual depth while removing the artificial rhythm of the three-part list.
Varying the Syntactic Structure
When the content does not require a three-part structure at all, the skill alters the sentence architecture entirely—converting lists into flowing prose or restructuring the argument to avoid the triadic pattern without losing the underlying meaning.
Implementation in the Markdown Skill
The forced triad detection lives entirely within the Markdown skill documentation rather than executable code. As outlined in README.md under the "Rhythm by rule" section, the skill follows a three-phase workflow: it marks the rhetorical tell, drafts a rewrite, and checks the draft against the pattern rules defined in SKILL.md.
During the check phase, Humanizer evaluates whether the triad satisfies the rule that "each item adds a distinct idea." If the triad represents a genuine three-part meaning—such as three distinct stages of a process—the skill preserves the structure, potentially rephrasing it for clarity. If the triad constitutes stylistic padding, the skill applies the merging, developing, or varying strategy to produce the final version.
Practical Usage Examples
The following examples demonstrate how Humanizer processes text containing forced triads.
Input with Forced Triads
/humanizer
The conference will feature keynote sessions, panel discussions, and networking opportunities. Attendees can expect innovation, inspiration, and industry insights.
Humanizer Output
The conference includes talks and panels. There's also time for informal networking between sessions.
Processing a File
When invoked on a specific file:
Humanize the prose in docs/launch-post.md
The skill produces edits such as:
A career can look promising and fail. So can a relationship that felt important and ended, or a skill that took years and remained useless. These decisions rarely explain themselves.
Summary
- Humanizer identifies forced triads as Pattern 6 in
SKILL.md, categorizing them under "Rhythm by rule" in the repository's documentation structure. - The detection rule checks whether each item in a three-part construction contributes a distinct idea or merely serves rhythmic padding.
- Valid fixes include merging parallel examples, developing the strongest item while removing weaker ones, or varying the syntactic structure entirely.
- Genuine triads that represent necessary three-part logic (such as process stages) are preserved and clarified rather than eliminated.
- The implementation operates through the Markdown skill's check phase, with metadata available in
AGENTS.mdfor deployment contexts.
Frequently Asked Questions
What file contains the forced triad detection rule?
The detection rule and editorial guidance for forced triads reside in SKILL.md as Pattern 6. This file contains the complete set of 25 patterns that define Humanizer's rewriting behavior, including the specific "Rhythm by rule" category where forced triads are classified.
How does Humanizer decide whether to keep or remove a triad?
Humanizer preserves a triad when the three items represent genuinely distinct ideas required by the meaning—such as three sequential stages of a process or three unrelated categories. The skill removes or restructures the triad when the items merely repeat the same concept or exist solely to create a sense of completeness.
Is the forced triad detection implemented in executable code?
No, the implementation lives entirely within the Markdown skill definition. The rule exists as documented guidelines in SKILL.md that guide the rewriting process during the check phase, rather than as functions or algorithms in a programming language.
Where can I find the workflow documentation for this pattern?
The workflow that applies the forced triad rule is documented in README.md under the "Rhythm by rule" section. This section explains how the skill marks tells, drafts rewrites, and validates them against pattern rules before producing the final text.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →