From makerskills
Cleans terminal output (ANSI codes, box-drawing chars, prompt artifacts) and reformats for Slack, Notion, Twitter/X, LinkedIn, email, GitHub, or plain text. Scans for secrets before copying.
How this skill is triggered — by the user, by Claude, or both
Slash command
/makerskills:pasteThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.
In order:
pbpaste| Invocation | Destination |
|---|---|
/paste | plain (default) |
/paste plain | plain |
/paste slack | slack |
/paste notion | notion |
/paste twitter or /paste x | |
/paste linkedin or /paste li | |
/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.
Before any cleaning or copying, scan against patterns in references/secret-patterns.md.
If any match:
sk-12...wxyz).[REDACTED]), or abort?"Strip from the content:
\x1b\[[0-9;]*[a-zA-Z] and related (color codes, cursor movement, screen control)╭ ─ ╮ │ ╰ ╯ ╞ ╡ ╤ ╧ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ━ ┃ ┏ ┓ ┗ ┛ etc. Replace with simpler equivalents (-, |) or remove entirely depending on context.$ , > , ❯ , % , # (when first non-whitespace on a line that looks like a shell prompt)\r) — replace with \n or deleteRead references/destinations.md and apply the relevant transform.
| Destination | Output behavior |
|---|---|
| plain / slack / notion / twitter / linkedin / email / github | (a) Show preview in a code fence in chat. (b) Copy clean version to clipboard via pbcopy. |
| email rich | Render to HTML, write to /tmp/paste-<timestamp>.html, open it in browser. Skip clipboard (the user copies from browser to preserve rich text). |
| markdown | Render the cleaned markdown directly in chat (Claude Code renders it). Also copy raw markdown to clipboard. Offer: "Open as HTML too?" — if yes, write and open. |
| html | Render to HTML, write to /tmp/paste-<timestamp>.html, open it. Skip clipboard. |
After output, report a one-line summary of what was cleaned (e.g., "Stripped 12 ANSI codes, 4 box-drawing chars, 1 prompt artifact. Character count: 248 / 280 (X).").
Twitter and LinkedIn have practical limits. the user said "let me trim" — don't refuse or auto-truncate.
If the content has URLs and destination is twitter or linkedin:
makerskills:jab-hook and ~/.claude/memory/feedback_social_link_placement.md/paste slack
→ Reads clipboard, strips ANSI, converts **bold** to *bold*, copies to clipboard, shows preview.
/paste twitter
[pasted error log]
→ Uses pasted content (ignores clipboard), strips everything, warns at 412/280 chars, copies, asks if the user wants to trim or pick a different destination.
/paste html
[pasted markdown table]
→ Renders table as HTML, opens in browser. the user selects + copies into Notion/email with formatting preserved.
/paste
[pasted output with sk-anthropic-key in it]
→ Stops. "Spotted what looks like an Anthropic API key: sk-an...3kf9. Continue, redact, or abort?"
jab-hook — clean output for pasting into Typefully drafts when the MCP path doesn't fit; also enforces the link-placement rule for X/LinkedIn destinationssocial-fetch — clean a fetched post before quoting it in a draft or newslettersecond-brain — paste output can be captured cleanly into raw/note-<slug>.md for future compilationwatch-video — transcript / summary output often flows through paste for platform-specific reformattingpaste scans for sk-*, AKIA*, xoxb-*, JWT-shaped strings, and long-hex tokens. Prompts before proceeding on any hit. Better to false-positive occasionally than to leak a real key.*bold*; LinkedIn wants unicode-styled bold; email wants HTML. Same input, 9 different valid outputs. The destination flag is not optional.\033[31m etc.) render as garbage everywhere except the source terminal.twitter or linkedin. Documented in ~/.claude/memory/feedback_social_link_placement.md.npx claudepluginhub coreyhaines31/makerskills --plugin makerskillsCopies text to the macOS system clipboard with optional rich HTML formatting for pasting into Slack, Word, Google Docs, Notion, etc. Includes plain-text fallback.
Formats messages for Slack with pixel-perfect accuracy. Converts Markdown to rich HTML (copy-paste) or Slack mrkdwn (API/webhook). Invoke when user wants to write Slack messages, announcements, or format content for Slack.
Post-processes AI-generated text through the unslop CLI to strip AI writing patterns before publishing. Useful as a final cleanup pass in shell pipelines, commit hooks, or CI steps.