Source profileQuality 78/100

github/awesome-copilot/skills/em-dash/SKILL.md

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 proper usage of punctuation characters when writing comments.

Source repository stars
37,126
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

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.

Best for

  • In Code Files
  • In Raw Data and/or Text Files
  • Never

Not for

  • 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 (-).

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/github/awesome-copilot --skill "skills/em-dash"
Safe inspection promptEditorial

Inspect the Agent Skill "em-dash" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/em-dash/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    History of the em dash

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

    The First Dashes: Early appearances of the dash in English literature dateGutenberg and Early Printing: The em dash officially emerged as a standardizedThe "M" Width: The em dash is named because its standard length is equal to
  2. 02

    Early Beginnings (15th-18th Century)

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

    The First Dashes: Early appearances of the dash in English literature dateGutenberg and Early Printing: The em dash officially emerged as a standardizedThe "M" Width: The em dash is named because its standard length is equal to
  3. 03

    The Etymology

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

    The "M" Width: The em dash is named because its standard length is equal to- 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 "…
  4. 04

    Literary Popularity (17th-19th Century)

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

    The Author's Tool: By the 17th and 18th centuries, it became a beloved toolDickinson Dashes: In the 19th century, poets like Emily Dickinson famously- 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 Dickinso…
  5. 05

    The Typewriter Era (19th-20th Century)

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

    The Double-Hyphen Compromise: When typewriters were introduced, they lackedThe No-Space Rule: Because of this mechanical compromise, a stylistic- 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 mechani…

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score78/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars37,126SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
github/awesome-copilot
Skill path
skills/em-dash/SKILL.md
Commit
9933dcad5be5caeb288cebcd370eeeb2fc2f1685
License
MIT
Collected
2026-07-28
Default branch
main
View the original SKILL.md

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 ": Enclose direct speech or quotes. In American English, periods and commas almost always go inside the quotation marks
    • Keyboard character: true
    • Programming language syntax: true
      • Example: char abc[] = "abc";

Dashes and Slashes

  • Hyphen -: Joins two or more words together to form a single compound adjective (e.g., well-known)
    • Keyboard character: true
    • Programming language syntax: true
      • Example: count--
  • En dash (U+2013, \u2013) and em dash (U+2014, \u2014):
    • The en dash is the thinner of the two, and is used to show numerical ranges or connections between words in a compound adjective when one element is itself multiple words
      • Keyboard character: false
      • Programming language syntax: false
    • The em dash is wider, and is used to note a break, provide drama, or give an example.
      • Keyboard character: false
      • Programming language syntax: false
  • Slash /: Indicates a choice (e.g., yes/no) or separates lines of poetry
    • Keyboard character: true
    • Programming language syntax: true
      • Example: /* comment */ || 10/2 || 5//2

Grouping and Emphasizing

  • Parentheses ( ): Enclose extra, non-essential information that clarifies a sentence but can be removed without changing the core meaning
    • Keyboard character: true
    • Programming language syntax: true
      • Example: if (5 > 2)
  • Brackets [ ]: Used to enclose words added to a quotation by someone other than the original author, usually to clarify a pronoun or provide missing context
    • Keyboard character: true
    • Programming language syntax: true
      • Example: var arr = [1, 2, 3];

General Rule for using Other Punctuation Characters

When commenting on code files, or any file that will be included in compiled computer instructions; use this rule-of-thumb:

  • Determine if the character is commonly on a keyboard, or is the punctuation character part of a programming language's syntax:

    • If NOT a keyboard character, and NOT a common programming syntax character; then:
      • NEVER use that character in code or code comments
        • Example not mentioned:
    • If a keyboard character, and a common programming syntax character, then:
      • Use that character correctly in code comments

[!IMPORTANT] When in doubt, follow the pseudo-code instructions below:

# For en dash and em dash
echo - | sed "s/-/-/g"

# Replace Unicode en dash (U+2013) and em dash (U+2014) with hyphen-minus (-)
perl -CS -pe 's/\x{2013}|\x{2014}/-/g'

# For encoded characters
echo � | sed "s/�/ /g"

# (Optional) Remove the Unicode replacement character (U+FFFD) if it appears in pasted text
perl -CS -pe 's/\x{FFFD}/ /g'

Further Reading

Alternatives

Compare before choosing

Computed 10042,015

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 997

event4u-app/agent-config

design-review

Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.

Computed 9831,966

K-Dense-AI/scientific-agent-skills

dask

Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.

Computed 9831,966

K-Dense-AI/scientific-agent-skills

neurokit2

Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.