How Humanizer Handles Em Dashes and Bold Text: Editorial Rules Explained
Humanizer strips em and en dashes from AI-generated content unless the user's writing sample contains them, and removes unjustified bold markup to eliminate the artificial emphasis typical of large language model output.
The blader/humanizer repository provides a deterministic editorial engine designed to rewrite AI-generated prose into natural, human-sounding text. Its approach to Humanizer em dashes and bold text follows strict style guidelines defined in SKILL.md, targeting common LLM artifacts while preserving the factual accuracy of the original content.
Em and En Dash Elimination
According to lines 81-84 of SKILL.md, the engine mandates that final rewrites must not contain any em (—) or en (–) dashes unless the writer's own sample already uses them. Humanizer treats these punctuation marks as deterministic signals of AI-generated prose, replacing them with more conventional alternatives to match natural human writing patterns.
Detection and Replacement Logic
When the engine encounters dash characters—including spaced variants and double-hyphen (--) sequences—it triggers a clause-level rewrite. The specific characters targeted are:
—(em dash)—(en dash)--(double hyphen)
Rather than simple character substitution, Humanizer restructures the surrounding sentence to use commas, periods, colons, or parentheses, effectively removing the interruptive punctuation entirely.
Writing Sample Preservation
The dash elimination rule includes a context-aware exception. If a user provides a writing sample containing em or en dashes, Humanizer preserves the sample's specific dash frequency and usage patterns. For AI-generated inputs without accompanying samples, the engine applies strict dash removal according to the style definition.
Bold Text Normalization
As specified in SKILL.md lines 95-100, Humanizer scans for unjustified bold markup (**text**) that serves no semantic purpose. The engine removes bold formatting from acronyms, product names, and routine terms where the emphasis creates artificial importance rather than aiding comprehension.
Identifying Unjustified Emphasis
Humanizer flags bold text that represents typical AI artifacts, including:
- Bolding acronyms like OKR or KPI without contextual necessity
- Applying emphasis to routine product names or generic terminology
- Using bold to create visual "importance" rather than structural hierarchy
Rewrite Implementation
When unjustified bold is detected, the engine strips the ** delimiters and converts the content to plain prose. For sequences of bolded items, Humanizer rewrites the structure into natural flowing sentences, removing the list-like formatting that characterizes mechanical AI output.
Implementation Examples
The following transformations demonstrate the concrete application of these editorial rules:
Em Dash Handling
| Situation | Before (contains dashes) | After (dash‑free) |
|---|---|---|
| Raw input | The new policy — announced without warning — affects thousands of workers. |
The new policy, announced without warning, affects thousands of workers. |
| Raw input | The term is primarily promoted by Dutch institutions—not by the people themselves. |
The term is primarily promoted by Dutch institutions, not by the people themselves. |
Bold Text Handling
| Situation | Before (excessive bold) | After (bold removed) |
|---|---|---|
| Raw input | It blends **OKRs (Objectives and Key Results)**, **KPIs (Key Performance Indicators)**, and visual strategy tools such as the **Business Model Canvas (BMC)**. |
It blends OKRs, KPIs, and visual strategy tools like the Business Model Canvas. |
Summary
- Humanizer removes em and en dashes per
SKILL.mdlines 81-84, replacing them with commas or restructuring clauses entirely. - The engine preserves existing dash patterns only when the user provides a writing sample containing them.
- Bold markup is stripped when applied to acronyms, product names, or routine terms lacking semantic justification, as defined in
SKILL.mdlines 95-100. - Rewrites convert artificial emphasis into plain prose, eliminating the visual artifacts typical of LLM-generated content.
- Both rules operate deterministically to maintain factual accuracy while removing mechanical formatting signals.
Frequently Asked Questions
Why does Humanizer target em dashes specifically?
Em dashes appear disproportionately in AI-generated text as a rhetorical device to create interruption or dramatic emphasis. Humanizer treats these as training-data artifacts and removes them to align the output with conventional human writing patterns, unless the user's own sample demonstrates consistent dash usage.
Can I configure Humanizer to keep em dashes in my content?
Yes. If you provide a writing sample that naturally contains em or en dashes, Humanizer will detect this pattern and preserve your specific punctuation style during the rewrite process. Without a sample, the engine defaults to strict dash elimination.
What constitutes "unjustified" bold text according to the source code?
According to the SKILL.md specification, bold markup is unjustified when applied to routine acronyms, product mentions, or generic terms solely to create visual emphasis. The engine distinguishes this from semantically necessary bolding (such as actual warnings or UI labels) based on contextual patterns in the surrounding text.
Does Humanizer modify other formatting like italics or headings?
While the repository specifically documents dash and bold handling in SKILL.md, the broader editorial engine applies comprehensive style patterns targeting AI artifacts. The deterministic rules prioritize removing mechanical formatting while maintaining natural language flow, though the exact scope of italic or heading processing depends on the specific pattern definitions in the skill configuration.
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 →