How Humanizer Patterns Are Categorized by Strength and Frequency: The 2S Framework
Humanizer splits its 25 AI-writing detection patterns into two strength-based groups—Strong (patterns 1‑5) and Weak (patterns 6‑25)—where strong patterns warrant immediate editing on a single sighting while weak patterns require multiple simultaneous tells before triggering intervention.
The blader/humanizer repository provides a comprehensive editorial framework for identifying AI-generated prose through 25 distinct linguistic tells. These Humanizer patterns categorized by strength and frequency determine precisely when text requires human revision versus when stylistic quirks can be ignored.
The 2S Classification System
Humanizer’s "2S" designation refers to the two strength-based sets that govern editorial decisions. The categorization appears in SKILL.md at line 29: "The patterns are numbered strongest first: §1‑§5 justify an edit on one sighting, and a pattern marked weak alone needs company from other tells in the same passage before you act."
Strong Patterns (Single-Sight Triggers)
Patterns 1 through 5 constitute the strong group. Defined in Section A: Staging instead of stating (lines 55‑79 of SKILL.md), these are the most powerful tells that justify an edit on a single occurrence. Each instance adds weight without adding new information, making them the most common indicators in current LLM output.
When the system encounters strong patterns like "Not X but Y" (pattern 1), it triggers an immediate rewrite regardless of surrounding context.
Weak Patterns (Context-Dependent Tells)
Patterns 6 through 25 form the weak group. Documented across Section B: Rhythm by rule, Section C: Inflation and borrowed authority, and Section D: Formatting by rule (lines 135‑375 of SKILL.md), these patterns are marked "weak alone". A lone occurrence is ignored because it is not harmful enough on its own; the system requires multiple weak tells in close proximity before flagging the passage.
These patterns occur less frequently or appear only as stylistic quirks, such as "Dashes as the universal connector" (pattern 8).
Editorial Logic and Pattern Strength
The categorization directly determines the agent’s decision algorithm. Strong patterns override context, while weak patterns demand corroboration.
def should_edit(pattern_id, surrounding_tells):
"""Return True if a pattern warrants an edit."""
strong_ids = {1, 2, 3, 4, 5} # Strong (single-sight)
weak_ids = set(range(6, 26)) # Weak (needs company)
if pattern_id in strong_ids:
return True # Edit immediately
if pattern_id in weak_ids:
return len(surrounding_tells) > 1 # Need multiple tells
return False
When should_edit receives pattern 1, it returns True immediately. For pattern 8, it returns True only if at least one other tell appears nearby.
Source File Structure and Pattern Definitions
The strength and frequency classifications are encoded across three primary files:
| File | Role in Categorization |
|---|---|
SKILL.md |
Contains the full list of patterns, the split into strong (§1‑5) and weak (§6‑25) groups, and the definition of "weak alone". |
README.md |
Provides repository overview, links to pattern sections, and explains the editorial workflow. |
AGENTS.md |
Describes skill export to agents, ensuring the categorization logic persists across platforms. |
These files are available at:
- Skill definition: https://github.com/blader/humanizer/blob/main/SKILL.md
- Project overview: https://github.com/blader/humanizer/blob/main/README.md
- Agent integration: https://github.com/blader/humanizer/blob/main/AGENTS.md
Summary
- Humanizer organizes 25 AI-writing patterns into two strength-based categories: Strong (1‑5) and Weak (6‑25).
- Strong patterns defined in
SKILL.mdlines 55‑79 trigger edits on a single occurrence and represent the most common LLM tells. - Weak patterns defined in
SKILL.mdlines 135‑375 require multiple simultaneous tells before intervention and appear less frequently in AI text. - The "2S" framework refers to these two strength sets that correspond directly to frequency of appearance in model-generated prose.
Frequently Asked Questions
What does the "2S" in Humanizer's pattern system stand for?
The "2S" refers to the two strength-based sets: Strong (patterns 1‑5) and Weak (patterns 6‑25). According to the source code in SKILL.md, these sets distinguish between patterns that justify an edit on a single sighting versus those requiring company from other tells.
Which Humanizer patterns trigger an edit immediately?
Patterns 1 through 5 trigger immediate edits. Located in Section A of SKILL.md (lines 55‑79), these strong patterns include specific rhetorical structures like "Not X but Y" that add weight without information and appear most frequently in LLM output.
How do weak patterns differ from strong patterns in AI text detection?
Weak patterns (6‑25) are marked "weak alone" in SKILL.md and only merit editing when appearing alongside other tells in the same passage. Unlike strong patterns, a single occurrence of a weak pattern is ignored because it represents a stylistic quirk rather than a decisive AI indicator.
Where can I find the complete list of the 25 Humanizer patterns?
The complete numbered list appears in SKILL.md at https://github.com/blader/humanizer/blob/main/SKILL.md. Lines 55‑79 cover the strong patterns (1‑5), while lines 135‑375 document the weak patterns (6‑25) across sections B, C, and D.
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 →