Skip to content
AI & Agents
Skill

/em-dash

Expert on the history, origin, and correct use of the em dash. Use when writing or reviewing code, comments, or data files to avoid em and en dashes, defaulting to never using them and replacing any found with a hyphen (-). Includes strong knowledge of punctuation marks and the

From plugin
awesome-copilot
41k200 skills200 agents

Claude Code

$ npx -y skills add github/awesome-copilot --skill em-dash --agent claude-code

SKILL.md

em-dash.SKILL.md
name: em-dash
description: 'Expert on the history, origin, and correct use of the em dash. Use when writing or reviewing code, comments, or data files to avoid em and en dashes, defaulting to never using them and replacing any found with a hyphen (-). Includes strong knowledge of punctuation marks and the proper usage of punctuation characters when writing comments.'

em dash

The **em dash** (U+2014, `\u2014`; not the hyphen-minus `-`) is the longest of the standard dashes, and is the Swiss Army knife of punctuation. Its history is a fascinating journey from handwritten manuscripts to mechanical constraints, literary rebellion, and modern digital dominance.

Here is a breakdown of how the em dash evolved:

History of the em dash

Early Beginnings (15th-18th Century)

  • The First Dashes: Early appearances of the dash in English literature date

back to 1580 in private letters and 1588 in English drama. They were often used to indicate pauses, self-interruption, or an unfinished thought

  • Gutenberg and Early Printing: The em dash officially emerged as a standardized

typesetting mark during the 15th-century printing revolution

The Etymology

  • The "M" Width: The em dash is named because its standard length is equal to

the width of the capital letter "M" in the specific typeface being used (Similarly, the slightly shorter en dash is the width of the letter "N")

Literary Popularity (17th-19th Century)

  • The Author's Tool: By the 17th and 18th centuries, it became a beloved tool

for writers mimicking the natural lurches, stutters, and rhythms of speech

  • Dickinson Dashes: In the 19th century, poets like Emily Dickinson famously

used the em dash for emotional weight, rhythm, and to invite reader interpretation. This became so synonymous with her work that they are often informally called "Dickinson Dashes"

The Typewriter Era (19th-20th Century)

  • The Double-Hyphen Compromise: When typewriters were introduced, they lacked

a dedicated key for the em dash. To compensate, typists began using two consecutive hyphens (--)

  • The No-Space Rule: Because of this mechanical compromise, a stylistic

convention of typing the mark without surrounding spaces emerged and remains

The Digital Age (Present Day)

  • Return to Form: Modern digital typesetting and word processing programs have

restored the true, unbroken em dash

  • **Modern Renaissance**: The em dash is experiencing a resurgence of popularity
  • It has become a hallmark of modern long-form prose and is also a favorite,

heavily used punctuation mark in AI outputs, which often prioritize a conversational, stream-of-consciousness style

Speculation for em Dash Modern Renaissance

  • Professional authors who had to meet deadlines and did not have the time to

strictly proofread the online article before submitting it

  • Professionals who wanted to show off their knowledge of HTML encoding in order

to seem smart

  • Graphic designers who wanted to make the visual composition of text on a web

page more appealing

  • The fact that popularity begets popularity
  • People publishing web articles saw that everyone else was using em dashes,

so instead of using a hyphen where one belonged, they opted to use an em dash

Analysis of em dash History

Nowhere in the history of the em dash was it intentionally used in the writing of computer code, or files meant to be executed as computer instructions.

When to use em or en dashes

Never.

In Code Files

> [!IMPORTANT] > Never. > In no way, shape, form, or fashion is tone ever important in code comments.

  • **Never**
  • Use the `-` (hyphen) character instead
  • If working as an agent, and an em dash is in a comment, then replace it

with the `-` (hyphen) character

In Raw Data and/or Text Files

> [!NOTE] > Default to **never**

  • When instructed to, and it is 100% clear that the text is to be used as:
  • Literature
  • News
  • If working as an agent, and an em dash is already part of the data, then

leave it

Other Punctuation Characters

As part of being an em dash expert comes the knowledge of other punctuation marks or characters.

End-of-Sentence Marks

Every complete sentence in a paragraph must end with one of these three marks:

  • Period `.`: Ends statements and declarative sentences
  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: `<?php echo "a" . "b" . "c"; ?>`
  • Question Mark `?`: Ends direct questions
  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: *ternary conditions*

`condition ? expression_if_true : expression_if_false`

  • Exclamation Point `!`: Conveys strong emotion, surprise, or emphasis
  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example:

`setlocal enabledelayedexpansion && set "_a=a" && echo !_a! && endlocal`

Pauses and Clause Connectors

These marks control the rhythm of your writing and connect different ideas:

  • Comma `,`: Used to separate items in a list, link independent clauses with a

conjunction (e.g., and, but), or set off introductory phrases

  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: `fn(a, b)`
  • Semicolon `;`: Connects two closely related independent clauses that could

stand alone as separate sentences

  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: `var foobar = "foo-bar";`
  • Colon `:`: Introduces a list, a quote, or an explanation. The text preceding

a colon must be a complete sentence

  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: `{"age": 26}`

Words, Quotations, and Possessions

  • Apostrophe `'`: Indicates possession (e.g., Sarah's book) or represents

missing letters in a contraction (e.g., *I'll* instead of *I will*)

  • Keyboard character: `true`
  • Programming language syntax: `true`
  • Example: `char letter = 'A';`
  • Quotation Marks `"`: Enclos
Read more
@github
Ships withawesome-copilot

A community-created collection of custom agents, instructions, skills, hooks, workflows, and plugins to supercharge your GitHub Copilot experience.

41k200 skills200 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
40.7k
Star history of github/awesome-copilot on GitHub, a chart by star-history.com

Other skills on awesome-copilot.

acreadiness-assess

acreadiness-assess

Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps…

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw11d393k
@openclaw@openclawInstall Skill

Questions about em-dash.

Which coding agents can use em-dash?
em-dash installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.