When Does Writing‑Sample Voice Matching Override the Dash Rule in Humanizer?

Writing‑sample voice matching overrides the dash rule whenever a user provides a reference text that contains dashes, causing Humanizer to preserve the original punctuation rather than replace it with periods, commas, or colons.

The blader/humanizer repository is an open‑source editorial engine that applies strict punctuation and rhythm rules to polish prose. While the tool’s Pattern 8 (the dash rule) typically replaces dashes with stronger punctuation marks, writing‑sample voice matching creates a specific exception that maintains the author’s original stylistic choices when the sample itself uses dashes.

Understanding Pattern 8 (the Dash Rule)

According to README.md at lines 97‑98, Pattern 8 states that dashes are “weak alone” and instructs the model to “Use periods, commas, colons, or parentheses” instead. By default, Humanizer treats isolated dashes as low‑impact connectors and substitutes them with more definitive punctuation to tighten the rhythm of the text.

Circumstances That Override the Dash Rule

The override occurs under a single condition: when a writing sample is supplied for voice matching and that sample contains dashes. In this scenario, Humanizer treats the sample’s punctuation as a deliberate stylistic cue rather than an error to be corrected.

The README.md explains this behavior at lines 64‑65: “Humanizer follows the sample's rhythm, word choice, punctuation, and deliberate quirks, including dashes if you use them.” Consequently, if the reference text includes em‑dashes or en‑dashes, Pattern 8 is suppressed and the original dashes are preserved in the output to maintain voice consistency.

Practical Implications

  • If no sample is provided, the dash rule applies universally.
  • If a sample is provided but contains no dashes, the dash rule still applies.
  • If a sample contains dashes, the rule yields to the sample’s voice.

Code Examples

Example 1: Default Behavior (No Writing Sample)

When no voice sample is provided, the dash rule transforms the punctuation:

Input:
The project — which was delayed — finally shipped.

Output (dash rule applied):
The project, which was delayed, finally shipped.

Example 2: Voice Matching Override

When a writing sample containing dashes is supplied, the rule is suspended:

Writing sample:
"I love road‑trips — they’re the best way to see the country."

Input:
The new update — which added features — improves performance.

Output (voice match override):
The new update — which added features — improves performance.

Source File Reference

The behavior is defined across three key files in the repository:

  • README.md – Contains the user‑facing description of Pattern 8 (lines 97‑98) and the voice‑matching override clause (lines 64‑65).
  • SKILL.md – Houses the formal pattern definitions, including the “weak alone” classification of the dash rule and its conditional logic when processing writing samples.
  • AGENTS.md – Provides agent‑compatibility metadata and skill configuration details.

Summary

  • The dash rule (Pattern 8) normally replaces dashes with periods, commas, colons, or parentheses.
  • Writing‑sample voice matching overrides this rule only when the provided sample text contains dashes.
  • When overridden, Humanizer preserves the original punctuation to maintain stylistic consistency with the sample.
  • The override logic is documented in README.md and formalized in SKILL.md.

Frequently Asked Questions

What is the dash rule in Humanizer?

The dash rule (Pattern 8) is an editorial constraint that treats standalone dashes as weak connectors. According to the source code in README.md lines 97‑98, the rule instructs the model to substitute dashes with “periods, commas, colons, or parentheses” unless a writing sample dictates otherwise.

How do I provide a writing sample to preserve dashes?

Supply a reference text that includes the stylistic elements you want to keep. As noted in README.md lines 64‑65, Humanizer “follows the sample's rhythm, word choice, punctuation, and deliberate quirks, including dashes.” If your sample contains em‑dashes or en‑dashes, the tool will retain them in the rewritten output.

Does the override apply to both en‑dashes and em‑dashes?

Yes. The override condition is triggered by the presence of any dash characters in the writing sample. The rule description in Pattern 8 refers broadly to dashes, and the voice‑matching logic preserves whichever dash variant appears in the provided sample.

Where is the override logic documented in the source code?

The primary documentation resides in README.md (lines 64‑65 and 97‑98). The formal pattern definition and its “weak alone” status are stored in SKILL.md, while AGENTS.md contains implementation metadata for agent integrations.

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 →