Output Formatting
Formatting rules for user-facing output: copy-pasteable content (drafts, messages, prompts, config snippets) is delivered in fenced code blocks, never blockquotes, so it pastes clean anywhere.
Tags
README
output-formatting
Formatting rules for user-facing output, starting with copy-pasteable content.
What It Does
This module installs a rule that governs how Claude presents content the user intends to copy-paste somewhere else (emails, texts, social posts, bios, form answers, prompts for other tools, config snippets):
- Pasteable content goes in a fenced code block containing exactly the text that should land at the destination
- Never blockquotes (
>), which render as a vertical line in the terminal and copy dirty - No decorative quotation marks, indentation, or labels mixed into the content
- Commentary and option labels stay outside the block
- Plain text by default; markdown source only when the destination renders markdown
The result: the user selects, copies, and pastes — no reformatting pass at the destination.
Manual Installation
Copy rules/copy-paste-output.md into your Claude configuration:
# Global (all projects)
mkdir -p ~/.claude/rules
cp rules/copy-paste-output.md ~/.claude/rules/copy-paste-output.md
# Project-level
mkdir -p .claude/rules
cp rules/copy-paste-output.md .claude/rules/copy-paste-output.md
Files
| File | Description |
|---|---|
rules/copy-paste-output.md |
Rule file: fenced code blocks for pasteable content, never blockquotes |
Will install
| Path | Action | Target | Type |
|---|---|---|---|
rules/copy-paste-output.md | → | rules/copy-paste-output.md | rule |
Dependencies
No dependencies.
Required by
No other module depends on this one.
Included in presets
Install this module
Agent prompt
Recommended for agent users -- hands the whole install off to your assistant.
Fetch https://cd23a9be.ccgm-site.pages.dev/modules/output-formatting.md and install this module into my Claude Code setup.
Native plugin marketplace
One command via the native plugin marketplace -- additive, does not merge settings.json.
claude plugin install output-formatting@ccgm
The marketplace path is additive, not a replacement: it installs commands, agents, and skills as native plugin components, but it does not perform the bash installer's deep settings.json merge, and it does not write the always-loaded global CLAUDE.md context. Rules are only injected via an opt-in SessionStart hook rather than being auto-loaded. Use the bash installer when those pieces matter to you.
Files
rule (1)
rules/copy-paste-output.md
# Copy-Paste Output **Iron Law:** CONTENT MEANT TO BE COPY-PASTED GOES IN A FENCED CODE BLOCK — NEVER A BLOCKQUOTE. When output is destined for somewhere else — an email, a text message, a social post, a bio, a form field, a prompt for another tool — the deliverable is the exact text the user will paste. Any decoration added for presentation becomes cleanup work at the destination. ## Problem Pasteable content is habitually wrapped in markdown blockquotes (`>` prefixes). In the terminal that renders as a vertical line running down the left edge of the content. Selecting and copying it drags along quote markers, soft line breaks, and indentation, so the user has to hand-reformat the text before it looks right in the target text area. The same applies to decorative quotation marks, leading indentation, and inline commentary mixed into the content. ## Rule Deliver pasteable content in a fenced code block containing **exactly** the text that should land at the destination, and nothing else. - **Never** present pasteable content as a blockquote (`>`), indented text, or text wrapped in quotation marks - The block contains only the content itself — no labels, no headers like "Draft:", no trailing sign-off commentary - Keep all commentary, options, and explanation **outside** the block - Match the destination's format: plain text for emails/messages/forms; markdown source only when the destination renders markdown (GitHub comments, READMEs) - Multiple variants get one block each, with a short label in prose above each block - Preserve intentional structure (blank lines between paragraphs, list markers the destination expects) and add nothing the destination doesn't need ## What Counts as Pasteable Content Anything the user will move into another surface: emails and replies, texts/DMs, social media posts, bios and profile blurbs, product descriptions, support responses, form field answers, prompts for other AI tools, commit messages or PR descriptions presented for approval, configuration values, and commands to run on another machine. When in doubt, ask: "is the user going to select this text and paste it somewhere?" If yes, fence it. ## Example **Bad** — blockquote renders with a vertical line and copies dirty: > Hi Sarah, > > Thanks for reaching out about the timeline. We're on track to deliver by Friday. **Good** — fenced block copies clean: ```text Hi Sarah, Thanks for reaching out about the timeline. We're on track to deliver by Friday. ``` ## Red Flags Stop and re-fence the content if you catch yourself: - Reaching for `>` to present a draft, reply, or message - Putting "Subject:" or "Option A:" labels inside the block when they aren't part of the pasteable text - Adding bold/italics to content headed for a plain-text destination - Wrapping the content in quotation marks "for clarity" - Mixing your own commentary into the same block as the content - Re-sending content the user already asked to have cleaned up — the first version should have been paste-ready