What Are the Five Pattern Categories Used by Humanizer?

Humanizer groups AI-writing "tells" into five high-level pattern categories: Staging, Rhythm by rule, Inflation, Formatting by rule, and Leftovers.

Humanizer is an open-source skill in the blader/humanizer repository designed to rewrite AI-sounding text into human-like prose. The tool identifies specific stylistic habits that large language models apply by default, categorizing these markers into five distinct groups to prioritize corrections and guide its editing workflow.

The Five Pattern Categories Defined

According to the source code in SKILL.md, Humanizer organizes its detection logic around five thematic groups:

  1. Staging – Contrast signaling without substantive information
  2. Rhythm by rule – Mechanical structural repetitions
  3. Inflation – Overstated "big-talk" phrasing
  4. Formatting by rule – Decorative visual formatting
  5. Leftovers – Residual generation artifacts

These categories are formally listed in lines 21-26 of SKILL.md and help the skill prioritize the strongest tells during the rewrite process.

Staging

Staging refers to sentences that signal importance or contrast without adding substantive information. Common examples include "not-X-but-Y" constructions that frame content through negation rather than direct statement. The pattern detects phrases like "It's not just about... it's part of..." which create artificial tension.

Rhythm by Rule

Rhythm by rule captures repetitive structural choices applied mechanically, such as forced triads, pervasive dashes, or other rhythmic patterns that follow a template rather than natural speech cadence.

Inflation

Inflation identifies overstated phrasing that dresses ordinary facts as pivotal claims. This category targets the tendency to amplify significance through exaggerated language.

Formatting by Rule

Formatting by rule flags systematic decorative formatting that lacks semantic purpose. This includes bold labels, title-case headings, and visual adornments that serve presentation over meaning.

Leftovers

Leftovers encompasses residual chat-bot phrasing, draft moves, and other artifacts never intended for final readers. These are remnants of the generation process rather than deliberate stylistic choices.

How Humanizer Detects and Rewrites Patterns

The detection and rewriting workflow operates in two phases. First, the skill identifies any patterns belonging to these five groups within the input text. Then it rewrites the content to remove the tell while preserving the original meaning.

As implemented in blader/humanizer, the skill treats these categories as grouped themes to prioritize the strongest tells—the "five tells that most often survive a rewrite"—and applies weaker corrections only when multiple patterns appear together in the same passage.

Detection Example

You can detect specific pattern categories using the Python API:

from humanizer import detect_patterns

text = "It's not just about the beat riding under the vocals; it's part of the aggression and atmosphere."
patterns = detect_patterns(text)
print(patterns)   # → ['Staging: Not X but Y']

Skill Configuration

The core prompt defining these categories appears in SKILL.md. The skill file uses YAML frontmatter to configure the detection rules:

metadata:
  version: "3.0.0"
---
Humanizer:
  description: |
    Rewrite AI‑sounding text so it reads like the writer.
  examples:
    - input: |
        It's not just about the beat riding under the vocals; it's part of the aggression and atmosphere.
      output: |
        The heavy beat adds to the aggressive tone.

Removing Formatting Patterns

When Humanizer encounters Formatting by rule patterns, it strips decorative elements and reconstructs the semantic content:

- **User Experience:** The interface is faster.
- **Performance:** Load times improved.

# After Humanizer

The interface is faster, and load times improved.

Source Files and Implementation Details

The pattern category definitions reside in SKILL.md at lines 21-26, which contains the full list of patterns and the core prompt powering the rewrite engine. Supporting files maintain the implementation:

  • README.md – Provides installation instructions, usage overview, and version history.
  • AGENTS.md – Describes how the skill integrates with various agent platforms (Claude, OpenAI, etc.).
  • scripts/validate-package.py – Validates consistency between pattern listings, version numbers, and documentation.

The validation script ensures that category definitions in the documentation remain synchronized with the detection logic used by the rewrite engine.

Summary

  • Humanizer categorizes AI-writing tells into five pattern categories: Staging, Rhythm by rule, Inflation, Formatting by rule, and Leftovers.
  • These groups are defined in SKILL.md (lines 21-26) and guide the tool's two-phase workflow: identification followed by rewriting.
  • The detect_patterns() function allows programmatic detection of specific category violations, returning labeled matches like ['Staging: Not X but Y'].
  • Formatting by rule and Staging represent the most visually obvious tells, while Leftovers captures residual generation artifacts.
  • The scripts/validate-package.py utility maintains consistency between documentation and implementation across the repository.

Frequently Asked Questions

What are the five categories of patterns Humanizer uses?

Humanizer uses five categories: Staging (contrast signaling without new info), Rhythm by rule (mechanical structural repetitions), Inflation (overstated phrasing), Formatting by rule (decorative visual elements), and Leftovers (residual chat-bot artifacts). These are defined in SKILL.md lines 21-26.

How does Humanizer detect patterns in text?

Humanizer first identifies patterns belonging to the five categories, then rewrites the text to remove the tell while preserving meaning. The Python API provides a detect_patterns() function that returns specific category labels for analyzed text, such as ['Staging: Not X but Y'].

Where are the pattern categories defined in the source code?

The five pattern categories are documented in SKILL.md at lines 21-26. The scripts/validate-package.py script validates that these category definitions remain consistent with the detection logic and version metadata throughout the repository.

Can I customize which pattern categories Humanizer targets?

While the core categories are defined in SKILL.md, the skill architecture described in AGENTS.md supports integration with various agent platforms. The detection logic prioritizes the strongest tells (those most likely to survive rewriting) and applies weaker category corrections only when multiple patterns co-occur in the same passage.

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 →