Official agent skill

Em Dash

by github in github/awesome-copilot

Expert on the history, origin, and correct use of the em dash.

OfficialMITAuto-check passedDevelopment

Install Em Dash

skills CLI
$ npx skills add github/awesome-copilot --skill em-dash -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install github/awesome-copilot em-dash --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/github/awesome-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/em-dash .claude/skills/em-dash && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
em-dash
GitHub stars
40k
Token cost
~2.4k tokens
SKILL.md length
1,151 words
Files
1
Skills in repo
417
Repo updated
First seen
Licence
MIT

At a glance

Expert on the history, origin, and correct use of the em dash.

  • Data files to avoid em and en dashes
  • SKILL.md covers History of the em dash, Analysis of em dash History, When to use em or en dashes and Other Punctuation Characters, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Defaulting to never using them and replacing any found with a hyphen (-)

What it does

Em Dash is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. 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.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical documentation. The repository describes itself as: Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. The licence is MIT.

When your agent uses it

  • Data files to avoid em and en dashes
  • Defaulting to never using them and replacing any found with a hyphen (-)

Example prompts

  • “/em-dash”

What it can do on your machine

Read from SKILL.md and the folder at commit 727ff2e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • hardingproject.com
    • thebookrefinery.com
    • reddit.com
    • en.wikipedia.org
    • linkedin.com
    • thaothai.substack.com
    • nytimes.com
    • medium.com
    • niu.edu
    • thepunctuationguide.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Em Dash loads about 2.4k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 1,151 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from github/awesome-copilot at commit 727ff2e, republished under its MIT licence (© github). 1,151 words, ~2,416 tokens.

Download SKILL.mdSave it as .claude/skills/em-dash/SKILL.md (or your agent's skills folder).
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
Show full SKILL.md (491 more words)Show less
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:

bash
# 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

© github, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/em-dash of github/awesome-copilot.

Open the folder on GitHubat commit 727ff2e

Compare with similar skills

Em Dash next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Em Dash compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Em Dash this skillgithub/awesome-copilot40k—~2.4kAutomated safety check: PassMIT
Diagram Designcathrynlavery/diagram-design44k1 repos~7.5kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
Get API Docs with chubandrewyng/context-hub14k2 repos~775Automated safety check: PassMIT
Doc SyncJetBrains/ideavim10k2 repos~2.6kAutomated safety check: PassMIT
Mailspring App ScreenshotsFoundry376/Mailspring18k—~1.4kAutomated safety check: PassGPL-3.0

Similar skills

  • Diagram Design

    cathrynlavery/diagram-design

    Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.

    44k GitHub starsUsed in 1 repo~7.5k tokens
    DevelopmentAuto-check passed
  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • Get API Docs with chub

    andrewyng/context-hub

    Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.

    14k GitHub starsUsed in 2 repos~775 tokens
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Mailspring App Screenshots

    Foundry376/Mailspring

    Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.

    18k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Draw.io Diagram Studio

    Agents365-ai/drawio-skill

    Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.

    10k GitHub stars~2.4k tokensUpdated 5 days ago
    DevelopmentAuto-check: notes

More from github/awesome-copilot

All 417 skills in this repo
  • Acquire Codebase Knowledge

    github/awesome-copilot

    Official

    Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.

    40k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Azure Architecture Autopilot

    github/awesome-copilot

    Official

    Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.

    40k GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Draw.io Diagram Generator

    github/awesome-copilot

    Official

    Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.

    40k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check passed
  • Credit Risk Data Cleaning

    github/awesome-copilot

    Official

    Cleans raw credit data and screens variables before loan modeling, dropping unstable, noisy or redundant features and writing an Excel report of every step.

    40k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Daily Focus Board

    github/awesome-copilot

    Official

    Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.

    40k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Python Pypi Package Builder

    github/awesome-copilot

    Official

    End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.

    40k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Categories

Questions about Em Dash

What does Em Dash do?

Expert on the history, origin, and correct use of the em dash. Em Dash is an agent skill from github/awesome-copilot, published by the product's own GitHub organization. Expert on the history, origin, and correct use of the em dash.

When should I use Em Dash?

Em Dash fits situations like: data files to avoid em and en dashes; defaulting to never using them and replacing any found with a hyphen (-).

How do I install Em Dash in Claude Code?

Run `npx skills add github/awesome-copilot --skill em-dash -a claude-code`. Or copy the skill folder (skills/em-dash in github/awesome-copilot) into .claude/skills/em-dash in your project. Claude Code loads it when a task matches its description.

How do I install Em Dash in Codex?

Run `npx skills add github/awesome-copilot --skill em-dash -a codex`. Or copy the skill folder (skills/em-dash in github/awesome-copilot) into .agents/skills/em-dash in your project. Codex loads it when a task matches its description.

Can I use Em Dash in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add github/awesome-copilot --skill em-dash -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/em-dash, .gemini/skills/em-dash, .github/skills/em-dash and .opencode/skills/em-dash in your project.

What does Em Dash need to run?

SKILL.md names no scripts, command-line tools or credentials: Em Dash is instructions for the agent only.

Does Em Dash access the network?

SKILL.md names 10 domains. As links in the text: hardingproject.com, thebookrefinery.com, reddit.com, en.wikipedia.org, linkedin.com, thaothai.substack.com, nytimes.com, medium.com, niu.edu and thepunctuationguide.com. This is read from the text; nothing was executed.

Is Em Dash safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Em Dash use?

Em Dash is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Em Dash use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Em Dash?

Skills that share tags, products or a category with Em Dash: Diagram Design (cathrynlavery/diagram-design, 44k stars), Simple English (moeru-ai/airi, 50k stars), Get API Docs with chub (andrewyng/context-hub, 14k stars) and Doc Sync (JetBrains/ideavim, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Em Dash?

github (a GitHub organization, an official publisher) maintains it in github/awesome-copilot, which has 39,748 GitHub stars. The repository holds 417 skills in this directory. The repository was last updated on October 7, 2026.

Source: github/awesome-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.