How Humanizer Handles 'Dashes as the Universal Connector' Pattern
Humanizer eliminates em-dashes (—) and en-dashes (–) from AI-generated text by replacing them with explicit punctuation—such as commas, periods, or colons—or rewriting sentences entirely, unless the dashes appear within code blocks or the original human sample explicitly uses them.
The blader/humanizer repository treats frequent dash usage as a hallmark of AI-generated "rhythm-by-rule" writing. According to the project's skill definitions in SKILL.md, the "Dashes as the universal connector" pattern represents a common automated writing habit where models rely on vague connective punctuation rather than clear relational clauses. Humanizer's architecture enforces strict rewrite rules to neutralize this tell while preserving semantic meaning.
The Core Rewrite Mechanism for Dash Removal
Humanizer enforces a strict constraint defined in SKILL.md at lines 59-62: the final output must not contain dashes unless the original writer's sample explicitly uses them. When processing text, the system identifies every dash—including spaced variants and double-hyphen forms (--)—and applies deterministic replacements.
The transformation logic converts each dash into one of four explicit punctuation options:
- Periods for sentence breaks
- Commas for clause separation
- Colons for exposition
- Parentheses for parenthetical asides
Alternatively, the engine may rewrite the entire sentence to convey equivalent meaning without any dash-based connectives.
Protected Contexts Where Dashes Persist
Not all dashes trigger removal. Humanizer's parser recognizes specific syntactic contexts where dashes serve functional rather than stylistic purposes. According to the source documentation, the system leaves dashes untouched when they appear inside:
- Code blocks and fenced code regions
- Inline code spans (single backticks)
- Command-line snippets and terminal examples
- File paths and directory structures
- URLs and hyperlink definitions
This exclusion prevents the corruption of technical syntax while still sanitizing narrative prose.
Transformation Examples: Before and After
The skill definition provides concrete examples at lines 64-66 demonstrating the conversion patterns. Consider these transformations:
Original text with em-dashes:
The new policy — announced without warning — affects thousands of workers.
Humanized output with commas:
The new policy, announced without warning, affects thousands of workers.
Double-hyphen variant conversion:
The changes -- long overdue according to critics -- will take effect immediately.
Becomes:
The changes, long overdue according to critics, will take effect immediately.
These examples illustrate how Humanizer replaces the "universal connector" with more precise punctuation that forces explicit relational logic between clauses.
Source Code Organization
The rewrite rules reside in the repository's primary skill definition file:
SKILL.md(section 8, lines 59-66): Contains the complete "Dashes as the universal connector" specification, including the constraint logic, replacement options, and worked examples.
The README.md file provides installation instructions and architectural overview but delegates specific pattern definitions to the skill documentation.
Summary
- Humanizer treats em-dashes and en-dashes as AI-generation artifacts that require removal from prose contexts.
- The engine replaces dashes with periods, commas, colons, or parentheses, or rewrites sentences to eliminate the connective entirely.
- Technical contexts including code blocks, file paths, and URLs are automatically exempt from dash removal.
- All rules are defined in
SKILL.mdat lines 59-66, which specifies both the constraint logic and transformation examples. - The system preserves dash frequency only when the original human sample explicitly uses them, ensuring stylistic fidelity to authentic writing patterns.
Frequently Asked Questions
What punctuation does Humanizer use to replace dashes?
Humanizer substitutes dashes with commas, periods, colons, or parentheses depending on the semantic relationship between clauses. Alternatively, it may restructure the entire sentence to convey the same meaning without parenthetical interruption.
Does Humanizer remove dashes from code examples?
No. The system explicitly protects dashes that appear inside code blocks, inline code, command-line snippets, file paths, and URLs. These technical contexts are preserved to prevent breaking functional syntax while prose is sanitized.
Where is the "Dashes as the universal connector" rule defined?
The complete specification resides in SKILL.md at lines 59-66 within the blader/humanizer repository. This section defines the constraint logic, lists acceptable replacement punctuation, and provides before/after transformation examples.
Will Humanizer keep dashes if the original text contains them?
Yes, but only conditionally. If the original writer's sample explicitly uses dashes, Humanizer matches that frequency rather than eliminating them entirely. This preserves authentic human writing patterns while still identifying and removing AI-generated dash overuse.
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 →