# Paste

When you want to clean and reformat content (usually from your terminal) for pasting...

- Repository: https://github.com/coreyhaines31/makerskills (880 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add coreyhaines31/makerskills --skill paste -g -a claude-code -y`
Codex: `npx skills add coreyhaines31/makerskills --skill paste -g -a codex -y`
Cursor: `npx skills add coreyhaines31/makerskills --skill paste -g -a cursor -y`
Gemini CLI: `npx skills add coreyhaines31/makerskills --skill paste -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add coreyhaines31/makerskills`

## Description

When you want to clean and reformat content (usually from your terminal) for pasting into Slack, Notion, Twitter/X, LinkedIn, email, GitHub, or plain text. Strips ANSI codes, box-drawing chars, terminal prompt artifacts, and applies destination-specific formatting. Default input is the system clipboard; default output is both the clipboard and a chat preview. Triggers on "/paste", "/paste [destination]", "clean this for X," "format for slack/notion/twitter/linkedin/email/github," "render as markdown," "paste-ready," "strip formatting," "make this copy-pastable." Default destination is plain. Also scans for secrets (API keys, tokens, .env values) and warns before copying anything sensitive.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /paste, Clean content for any destination

Cleans terminal output (ANSI, box-drawing, prompt artifacts, etc.) and reformats per destination rules. Reads clipboard by default, writes back to clipboard + previews in chat.

## Step 1, Get the content

In order:
1. If the user included content in the prompt (pasted, or referenced from earlier in the conversation), use that.
2. Else, read the clipboard (commands below).
3. If both empty, ask the user what to paste.

**Clipboard commands by platform** (read / write):

| Platform | Read | Write |
|---|---|---|
| macOS | `pbpaste` | `pbcopy < "$f"` |
| Linux (Wayland) | `wl-paste -n` | `wl-copy < "$f"` |
| Linux (X11) | `xclip -selection clipboard -o` | `xclip -selection clipboard < "$f"` |
| Windows | `powershell Get-Clipboard -Raw` | `powershell "Get-Content -Raw '$f' \| Set-Clipboard"` |

`$f` is the temp file from the write procedure in Step 6. Always copy from a file, never from a heredoc or `echo`.

No clipboard (a remote, headless, or chat-bot agent): skip the clipboard, take content from the prompt, and return the cleaned text in a code fence.

## Step 2, Parse destination

| Invocation | Destination |
|---|---|
| `/paste` | **plain** (default) |
| `/paste plain` | plain |
| `/paste slack` | slack |
| `/paste notion` | notion |
| `/paste twitter` or `/paste x` | twitter |
| `/paste linkedin` or `/paste li` | linkedin |
| `/paste email` | email (plain) |
| `/paste email rich` or `/paste email html` | email (rich/HTML) |
| `/paste github` or `/paste gh` | github |
| `/paste markdown` or `/paste md` | markdown render |
| `/paste html` | render to HTML file + open in browser |

If ambiguous, ask. Per-destination rules live in `references/destinations.md`.

## Step 3, Scan for secrets

Before any cleaning or copying, scan against patterns in `references/secret-patterns.md`.

The rest: https://github.com/coreyhaines31/makerskills/blob/HEAD/skills/paste/SKILL.md
