# Allowed Alternatives to Em‑Dashes in taste‑skill: Complete Typography Rules

> Discover taste-skill typography rules: learn which dash alternatives are allowed and why em-dashes are banned to ensure pre-flight validation success. Find the official guide.

- Repository: [Leon Lin/taste-skill](https://github.com/Leonxlnx/taste-skill)
- Tags: best-practices
- Published: 2026-06-05

---

**The taste‑skill specification permits only regular hyphens (`-`) as dash characters, explicitly banning em‑dashes (`—`) and en‑dashes (`–`) in all content contexts to ensure pre‑flight validation passes.**

The taste‑skill repository enforces strict typographic standards across generated pages to maintain consistent rendering and avoid encoding issues. Understanding the allowed alternatives to em‑dashes is essential for developers working with the Leonxlnx/taste‑skill codebase, as the specification treats these characters as non‑negotiable banned elements that trigger immediate validation failures.

## The Absolute Ban on Em‑Dashes and En‑Dashes

According to [`skills/taste-skill/SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/skills/taste-skill/SKILL.md), the em‑dash (`—`) is completely prohibited as a design element or textual separator. The specification explicitly states at line 649: "**NO em‑dash (`—`) as a design element OR anywhere else.**" This rule applies universally to headlines, eyebrows, pills, body copy, quotes, attribution, captions, button text, and alt‑text.

Similarly, en‑dashes (`–`) are banned when used as separators. As documented at line 693, date ranges like `2018‑2026` and number ranges like `€40‑80k` must use hyphens rather than en‑dashes to pass validation.

## The Only Permitted Alternative: Regular Hyphens

The taste‑skill codebase allows exactly one dash‑type character throughout any generated page. Lines 695‑702 of [`SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/SKILL.md) specify: "The ONLY permitted dash characters on the page are: … **regular hyphen (`-`)**."

When you need to indicate a pause, range, or separator, you must use the standard ASCII hyphen (`-`) or restructure the sentence entirely using conjunctions or separate sentences. No other typographic dash forms are permitted according to the source documentation.

## Content Scope and Validation Rules

### Where Dash Restrictions Apply

The pre‑flight check fails if banned dashes appear in any of the following content types:

- Headlines and eyebrow text
- Pills and button labels
- Body copy and blockquotes
- Attribution lines and captions
- Image alt‑text

### Range Separators

For numeric and date ranges specifically, the specification mandates hyphen usage exclusively. While standard typography often uses en‑dashes for ranges, taste‑skill requires hyphens to avoid encoding inconsistencies across rendering environments.

## Implementation Examples

Here are practical examples showing prohibited versus permitted dash usage in React/TSX implementations:

```tsx
// ❌ Wrong – contains an em‑dash
<h1 className="text-4xl">
  Premium Design — Elevate your brand
</h1>

// ✅ Correct – uses a regular hyphen
<h1 className="text-4xl">
  Premium‑Design‑Elevate‑your‑brand
</h1>

// ❌ Wrong – en‑dash used as a range separator
<p>Project timeline: 2022–2024</p>

// ✅ Correct – hyphen for ranges
<p>Project timeline: 2022‑2024</p>

```

## Source Files and Version Control

The dash prohibition is documented in two critical files within the repository:

- **[`skills/taste-skill/SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/skills/taste-skill/SKILL.md)**: Contains the complete dash‑ban policy and explicit allowed character specifications at lines 649, 693, and 695‑702.
- **[`CHANGELOG.md`](https://github.com/Leonxlnx/taste-skill/blob/main/CHANGELOG.md)**: Records the introduction of "§9.G Em‑Dash Ban (complete)" establishing the zero‑em‑dash rule for the codebase.

## Summary

- The em‑dash (`—`) is completely banned across all taste‑skill content types including headlines, body copy, and UI elements.
- En‑dashes (`–`) are prohibited when used as separators, including in date and number ranges.
- Only regular hyphens (`-`) pass pre‑flight validation checks throughout generated pages.
- The rules are enforced in [`skills/taste-skill/SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/skills/taste-skill/SKILL.md) and tracked in [`CHANGELOG.md`](https://github.com/Leonxlnx/taste-skill/blob/main/CHANGELOG.md) under section 9.G.

## Frequently Asked Questions

### Can I use en‑dashes for date ranges in taste‑skill?

No. The specification requires hyphens for all ranges, including dates (`2022‑2024`) and numeric spans (`€40‑80k`). Using en‑dashes causes pre‑flight validation to fail immediately, as documented at line 693 of [`SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/SKILL.md).

### What happens if I include an em‑dash in a headline?

The pre‑flight check will fail. According to the source documentation at line 649 of [`skills/taste-skill/SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/skills/taste-skill/SKILL.md), em‑dashes are non‑negotiable banned characters in headlines, body copy, quotes, and all other text elements. You must replace them with regular hyphens or restructure the text.

### Are there any exceptions for quotes or attribution text?

No exceptions exist. The ban applies to quotes, attribution, captions, button text, and alt‑text equally. The specification requires using regular hyphens or rewriting sentences to avoid dash usage entirely across all content categories.

### Where is the dash policy documented in the codebase?

The primary documentation resides in [`skills/taste-skill/SKILL.md`](https://github.com/Leonxlnx/taste-skill/blob/main/skills/taste-skill/SKILL.md) (specifically lines 649‑702), with the policy history recorded in [`CHANGELOG.md`](https://github.com/Leonxlnx/taste-skill/blob/main/CHANGELOG.md) under the "§9.G Em‑Dash Ban" entry. These files collectively define the only permissible dash alternative in taste‑skill.