Understanding the Rhythm by Rule Patterns (6-11) in Humanizer

The Rhythm by Rule patterns in Humanizer are six specific mechanical writing tells—numbered 6 through 11—that identify formulaic prose rhythms including forced triads, repeated openings, dash overuse, stacked qualifiers, hyphenated pairs, and passive voice constructions.

Humanizer is an open-source AI-writing detection skill that groups mechanical prose markers into distinct families. The Rhythm by Rule family, defined in the blader/humanizer repository, captures algorithmic structural habits that make text sound artificially constructed. These patterns, which appear in SKILL.md starting at line 39, are classified as "weak-alone" tells that only warrant editing when multiple patterns cluster together in the same passage.

What Are the Rhythm by Rule Patterns?

The Rhythm by Rule family comprises patterns 6 through 11 in the Humanizer skill file. Each pattern targets a specific mechanical rhythm that large language models tend to impose on prose according to SKILL.md.

Pattern 6: Forced Triads

Defined at SKILL.md#L39, this pattern detects when writers force ideas into groups of three to create false completeness. The algorithmic tendency to generate "innovation, inspiration, and insights" or three parallel examples that add no new information signals mechanical construction rather than organic thought.


# Example: Forced triads detection

text = "The event features keynote sessions, panel discussions, and networking opportunities."

# Humanizer suggests:

# "The event includes talks and panels, plus informal networking between sessions."

Pattern 7: Repeated Sentence Openings

Located at SKILL.md#L51, this pattern identifies consecutive sentences that start with identical subjects or phrases. This monotonous rhythm—such as "She noted the door. She noted the lock on it. She filed both away."—reveals template-driven generation.


# Example: Repeated openings detection

text = "She noted the door. She noted the lock on it. She filed both away."

# Humanizer suggests:

# "She noted the door and its lock, then filed both away."

Pattern 8: Dashes as the Universal Connector

Documented at SKILL.md#L59, this flag triggers when em or en dashes over-connect clauses, allowing the model to avoid precise grammatical relationships. Sentences like "The new policy — announced without warning — affects thousands of workers" rely on dashes as universal glue.


# Example: Dash overuse detection

text = "The new policy — announced without warning — affects thousands of workers."

# Humanizer suggests:

# "The new policy, announced without warning, affects thousands of workers."

Pattern 9: Stacked Qualifiers

Found at SKILL.md#L68, this pattern catches multiple hedging words piled onto a single claim. Phrases like "It could potentially possibly be argued that..." soften assertions beyond what source material justifies, creating a mechanical uncertainty rhythm.


# Example: Stacked qualifiers detection

text = "It could potentially possibly be argued that the policy might have some effect on outcomes."

# Humanizer suggests:

# "The policy may affect outcomes."

Pattern 10: Hyphenated Pairs Everywhere

Specified at SKILL.md#L77, this pattern tracks indiscriminate compound adjective usage. When hyphenated pairs appear after nouns—such as "the report is high-quality" where "high quality" requires no hyphen—the text follows a mechanical consistency rule rather than grammatical accuracy.


# Example: Hyphenated pairs detection

text = "The team is cross‑functional, the report is high‑quality, and the methodology is data‑driven."

# Humanizer suggests:

# "The team is cross functional, the report is high quality, and the methodology is data driven."

Pattern 11: Passive Voice and Missing Subjects

Defined at SKILL.md#L86, this final Rhythm by Rule pattern identifies sentences that hide actors or use passive constructions. Constructions like "No configuration file needed" or "The results are preserved automatically" create detached, formulaic prose that obscures agency.


# Example: Passive voice detection

text = "No configuration file needed. The results are preserved automatically."

# Humanizer suggests:

# "You do not need a configuration file. The system preserves the results automatically."

Why These Patterns Are "Weak-Alone" Tells

According to the Humanizer source code, the Rhythm by Rule patterns are designed as weak-alone indicators. A single instance of pattern 6 (forced triads) or pattern 10 (hyphenated pairs) does not automatically trigger an edit suggestion. Instead, Humanizer weights these patterns higher only when multiple Rhythm by Rule markers appear in proximity. This clustering approach prevents false positives on legitimate stylistic choices while catching passages that follow an algorithmic formula.

Implementation and Source Files

The Rhythm by Rule patterns are implemented across several key files in the blader/humanizer repository:

  • SKILL.md (source): Contains the canonical definitions for patterns 6-11, including detection criteria and remediation examples at lines 39, 51, 59, 68, 77, and 86.

  • README.md (source): Provides high-level documentation on integrating the skill and understanding the pattern families.

  • agents/openai.yaml (source): Defines how the Rhythm by Rule detection logic is presented to OpenAI-compatible agents, configuring the system prompts that evaluate text against these patterns.

  • scripts/validate-package.py (source): Validates the integrity of SKILL.md and ensures all six Rhythm by Rule patterns maintain consistent metadata and linking.

Summary

  • Rhythm by Rule patterns (6-11) detect mechanical prose rhythms in blader/humanizer.
  • The six patterns are: forced triads, repeated sentence openings, dash overuse, stacked qualifiers, hyphenated pairs, and passive voice.
  • These are weak-alone tells that require multiple pattern matches before triggering editorial suggestions.
  • Pattern definitions reside in SKILL.md at specific line ranges (L39-L86).
  • Corrections prioritize voice-driven alternatives over algorithmic structures.

Frequently Asked Questions

What makes Rhythm by Rule patterns "weak-alone" tells?

Weak-alone tells are pattern matches that do not constitute AI-generated text on their own. According to the Humanizer skill definition, Rhythm by Rule patterns only trigger editorial suggestions when multiple patterns from this family appear together in the same passage, indicating formulaic rhythm rather than natural variation.

How do Rhythm by Rule patterns differ from other AI-writing tells in Humanizer?

While other pattern families might target semantic content or vocabulary choices, the Rhythm by Rule family specifically identifies structural and syntactic repetitions—mechanical cadences like triads and passive constructions that create an artificial flow regardless of the topic being discussed.

Can I customize which Rhythm by Rule patterns to enforce?

Yes. The agents/openai.yaml configuration file allows you to adjust the weighting or disable specific patterns from the Rhythm by Rule family. However, the canonical definitions in SKILL.md remain the standard reference for what constitutes patterns 6 through 11.

Where does Humanizer store the remediation examples for these patterns?

All remediation examples and detection criteria for patterns 6-11 are stored in SKILL.md within the blader/humanizer repository, specifically between lines 39 and 86, with each pattern occupying a dedicated section with before-and-after text samples.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →