Removing Em-Dashes from Prose: Alternatives and Implementation in Stop-Slop
Remove em-dashes from AI-generated prose to eliminate predictable punctuation patterns and enforce clearer syntax using commas, periods, or semicolons instead.
The Stop-Slop skill is a collection of editorial rules designed to strip predictable AI "tells" from text. According to the source code in hardikpandya/stop-slop, removing em-dashes is a core requirement for producing human-like writing that avoids formulaic rhythms.
Why Remove Em-Dashes? The Core Rationale
The Stop-Slop skill treats em-dashes as a stylistic crutch that signals machine-generated text. According to SKILL.md and references/structures.md, the reasoning follows four specific principles:
-
Predictability — Em-dashes create visual cues that signal pauses or asides. AI models frequently lean on this punctuation to mimic human "thought trails," creating recognizable patterns that readers associate with synthetic text.
-
Clarity and Flow — Overuse fragments sentences into "staccato" rhythms. By banning em-dashes, the skill forces writers to construct natural clause structures that improve readability.
-
Consistency — Enforcing a single punctuation style reduces variation that AI models exploit to produce formulaic outputs.
-
Simplification for LLMs — When supplied as a system prompt, fewer punctuation tokens mean the model has less room to hide filler behind complex punctuation flourishes.
In SKILL.md, Rule 6 – Vary rhythm explicitly states: "No em dashes." The references/structures.md file expands this under Rule 25 – Rhythm Patterns: "Em-dashes – Remove. Use commas or periods. No em dashes at all."
Alternatives to Em-Dashes in Prose
When removing em-dashes from prose, the Stop-Slop skill recommends specific substitutions based on the grammatical function of the original dash:
Independent clause separation — Replace em-dashes separating two standalone thoughts with a period or semicolon.
Original: "Speed, quality, cost—pick two."
Revised: "Speed, quality, cost. Pick two."
Cause-and-effect linking — Substitute conjunctions or semicolons when the dash implies a relationship between statements.
Original: "The data tells us—our users love it."
Revised: "The data tells us; our users love it."
Justification clauses — Rewrite as a single sentence with explicit connecting words.
Original: "We must act now—there's no time to waste."
Revised: "We must act now because there's no time to waste."
Afterthoughts — Use periods for emphasis or parentheses for incidental information.
Original: "He was late—again."
Revised: "He was late (again)."
Modifier lists — Convert to comma-separated lists without the dash.
Original: "She smiled—softly, sincerely."
Revised: "She smiled softly, sincerely."
These alternatives align with the principle in references/structures.md lines 118-126: prefer direct statements over punctuation-driven flourishes.
Implementation: Applying the Stop-Slop Rule
To enforce the em-dash prohibition programmatically or via prompt engineering, reference the specific rule locations in the repository.
When using Claude or similar LLMs, include the skill rules in the system prompt:
system_prompt = """
You are Claude. Apply the Stop-Slop skill rules (see SKILL.md) to the user text.
Rules include:
- Rule 6 (SKILL.md): No em dashes
- Rule 25 (references/structures.md): Em-dashes – Remove. Use commas or periods.
"""
user_text = "The solution is simple—just restart the server."
# Expected transformation:
# "The solution is simple. Just restart the server."
For manual editing, scan for the Unicode character — (em-dash) or double hyphens -- and apply the substitution patterns above based on sentence structure.
Source Files and Rule Locations
The em-dash prohibition is documented across several files in the repository:
-
SKILL.md— Contains Rule 6 – Vary rhythm with the flat prohibition "No em dashes" at lines 26-27. -
references/structures.md— Contains Rule 25 – Rhythm Patterns with detailed removal instructions and alternatives at lines 118-126. -
README.md— Provides high-level overview of the skill's goals, including em-dash removal as part of the anti-slop methodology. -
references/examples.md— Shows before-and-after transformations illustrating how em-dashes are removed in practice.
Summary
- The Stop-Slop skill bans em-dashes in
SKILL.mdRule 6 andreferences/structures.mdRule 25 to prevent predictable AI punctuation patterns. - Key alternatives include periods for sentence breaks, semicolons for related clauses, and conjunctions for explicit logical connections.
- Removing em-dashes forces clearer sentence architecture and eliminates the "staccato" rhythm common in synthetic text.
- Implementation requires either manual substitution based on grammatical context or automated filtering via system prompts referencing the skill rules.
Frequently Asked Questions
What is the Stop-Slop skill?
The Stop-Slop skill is a system prompt framework hosted in the hardikpandya/stop-slop repository that defines editorial rules for identifying and removing AI-generated text patterns. It provides specific constraints on vocabulary, sentence structure, and punctuation—including the complete prohibition of em-dashes—to produce more naturalistic prose.
Why are em-dashes considered an "AI tell"?
Em-dashes are considered an AI tell because large language models frequently use them to simulate human speech patterns and abrupt thought transitions. According to the Stop-Slop source code in references/structures.md, this creates a recognizable visual rhythm that signals formulaic generation rather than deliberate human craft.
Can I use en-dashes or hyphens instead of em-dashes?
The Stop-Slop rules specifically target the em-dash character (—). While the repository does not explicitly ban en-dashes or hyphens, the Rule 25 guidance in references/structures.md emphasizes replacing em-dash functions with commas or periods rather than substituting alternative dash characters. The goal is structural clarity, not merely character substitution.
How do I detect em-dashes in existing text?
Search for the Unicode character U+2014 (—) or double hyphen sequences (--) depending on the source formatting. In references/structures.md, the skill treats both the visual em-dash and common typewriter approximations as violations requiring replacement with standard sentence punctuation.
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 →