Agentropic
← All skills

/whatsapp-copy

Paste into WhatsApp without the broken formatting.

operations · Free · no sign-up

The failure this kills

Your AI writes in Markdown. WhatsApp doesn’t read Markdown. So the moment you copy a clean answer out of your assistant and paste it into a chat, the bold turns into literal **double asterisks**, your links collapse into [label](url) gibberish, and your headings lose all meaning. You end up fixing the same formatting by hand, every single time, before you can hit send.

It’s a small thing that happens twenty times a day. WhatsApp is where the real conversation lives — with your team, your clients, your accountant — and the gap between “what my AI produced” and “what I can actually send a person” is pure friction.

What it does

Type /whatsapp-copy (or just say “copy this for WhatsApp”) and the agent takes whatever you were just looking at and makes it ready to paste:

  • It converts Markdown to WhatsApp’s real conventions. **bold** becomes *bold* (two stars to one), bullets line up as - , a [label](url) link becomes a plain label: url, and headings become their own bold line.
  • It makes the message stand on its own. The chat-only chatter — “here’s the…”, “want me to change anything?”, back-references to earlier in the conversation — gets stripped, so the person receiving it sees a clean, self-contained message.
  • It puts the result straight on your clipboard and shows you exactly what it copied, so you can eyeball it before pasting.
  • It only copies. It never sends. You stay in control — you paste it into the right chat and hit send yourself.

When to reach for it

Any time something leaves your AI and goes to a real person. A summary going to your group. A price list for a client. A to-do list heading to your accountant. Anywhere you’d otherwise be deleting asterisks by hand, this hands you a clean message instead.

It’s not just for developers. Finance, ops, sales — anyone who lives in WhatsApp and drafts in an AI gets the same twenty-seconds-back, every message.

Install

Download SKILL.md and drop it into your agent’s skills directory:

mkdir -p .claude/skills/whatsapp-copy
curl -o .claude/skills/whatsapp-copy/SKILL.md https://agentropic.ai/skills/whatsapp-copy/SKILL.md

Works with Claude Code and any agent that supports the SKILL.md convention. On macOS it copies via pbcopy; on Linux/WSL it falls back to xclip / wl-copy / clip.exe.

The bigger idea

The point isn’t the asterisks. It’s that an AI is only useful when its output lands cleanly in the tool where the work actually happens — the chat, the sheet, the ticket, the inbox. Teaching your agent the last-mile conventions of each destination is exactly the kind of small, sharp discipline we install during a 1 Week Sprint: by Friday, the AI isn’t producing drafts you have to reformat — it’s producing things your team can ship as-is.

The skill file

This is the entire skill — copy it, or download SKILL.md.

---
name: whatsapp-copy
description: Extract the shareable takeaway from the current conversation, reformat it into WhatsApp's native text conventions (single-asterisk *bold*, _underscore_ italics, - bullets, > quotes, ```monospace```, raw links), and copy it to the clipboard ready to paste into a chat. Trigger with "/whatsapp-copy", "copy this for WhatsApp", "make this WhatsApp-friendly and copy", or when the user wants to forward something from the chat to a person or group on WhatsApp. Optional args name which content to copy (e.g. "/whatsapp-copy the GST to-do list").
---

# whatsapp-copy

Turn something from the current conversation into a clean, self-contained WhatsApp message and put it on the user's clipboard.

## What counts as "the relevant text"

1. **If the user named a target in the args or their message** ("the GST list", "your last summary", "the reply to Anish"), use that.
2. **Otherwise, pick the most recent substantive deliverable** in the conversation — the last list, summary, spec, or answer the user would plausibly forward. Not your own meta-chatter.
3. **Strip anything that only makes sense inside this chat:**
   - Trailing offers ("Want me to turn this into a checklist?"), preambles ("Here's the…"), and hedges.
   - Back-references like "as I mentioned above", "per the transcript", "the summary you pasted" — rewrite so a stranger reading only this message understands it.
   - Internal notes, file paths, tool names, and anything the recipient shouldn't see.
4. **Make it stand alone.** If the content needs one line of context to make sense to the recipient, add a short bold title line at the top (e.g. `*GST tool — to-do list*`). Don't invent facts.
5. **When in doubt about which of two things to copy, or whether the audience is a person vs a group, ask one quick question** before copying. Otherwise just proceed.

## WhatsApp formatting rules (convert Markdown → WhatsApp)

WhatsApp is **not** Markdown. The single most common mistake is bold. Apply these exactly:

| Intent | Markdown (do NOT emit) | WhatsApp (emit this) |
|---|---|---|
| Bold | `**text**` or `__text__` | `*text*` (single asterisks) |
| Italic | `*text*` or `_text_` | `_text_` (underscores) |
| Strikethrough | `~~text~~` | `~text~` (single tildes) |
| Inline code | `` `text` `` | `` `text` `` (unchanged — supported) |
| Code block | ```` ```lang ```` | ```` ``` ```` with no language tag |
| Bulleted list | `- item` / `* item` | `- item` (always `- `, never `* ` — a leading `*` collides with bold) |
| Numbered list | `1. item` | `1. item` (unchanged — supported) |
| Quote | `> text` | `> text` (unchanged — supported) |

Additional conversions and constraints:

- **Headings** (`#`, `##`, `###`): WhatsApp has no headings. Convert each heading to its own line in `*bold*`, with a blank line before it (except the very first). Drop the `#`.
- **Links**: WhatsApp auto-links bare URLs and has no `[text](url)` syntax. Convert `[label](url)` → `label: url`. Leave bare URLs as-is. Never wrap a URL in any formatting.
- **Tables**: unsupported. Convert a small table to `*Column-or-label:* value` lines per row, or — if column alignment genuinely matters — a ```` ``` ```` monospace block. Prefer the label:value form.
- **Horizontal rules** (`---`, `***`): delete; replace with a single blank line.
- **Nested bullets**: keep nesting shallow (one level). Indent sub-items with two spaces before the `- `.
- **No nested/overlapping emphasis** (e.g. bold inside italic) — WhatsApp renders it unreliably. Pick one.
- **Emphasis must hug the text**: `*word*` works; `* word *` does not. No space between the marker and the text, and the markers need whitespace/punctuation on the outside.
- **Spacing**: separate sections with a single blank line. WhatsApp collapses runs of blank lines, so never use more than one.
- **Emoji**: optional and WhatsApp-native. You may add a *few* leading emoji to section titles only if it fits the tone (e.g. a checklist). Default to none for anything professional/client-facing. Never replace words with emoji.
- **Length**: keep it tight — trim filler, but don't drop real content. If the result is very long (10+ sections), tell the user after copying and offer a shorter version.

## Steps

1. Identify the relevant text per the rules above.
2. Rewrite it into WhatsApp format. Produce the final message as plain text — nothing but what should land in the chat.
3. Write that text **verbatim** to a temp file (avoids shell-escaping mangling asterisks, backticks, quotes, emoji):
   - Use the Write tool to create `<scratchpad>/whatsapp-copy.txt` with the exact message content. Prefer the session scratchpad dir; `/tmp/whatsapp-copy.txt` is an acceptable fallback.
4. Copy the file to the clipboard:
   - macOS: `pbcopy < <path>`
   - Fallbacks if `pbcopy` is unavailable: Linux `xclip -selection clipboard < <path>` or `wl-copy < <path>`; WSL/Windows `clip.exe < <path>`.
5. Confirm: show the user the exact message that was copied (in a fenced block so they can eyeball the raw markers), and say it's on the clipboard, ready to paste. Do **not** send it anywhere — this skill only copies.

## Guardrails

- **Copy only — never send.** This skill puts text on the clipboard; it does not message anyone.
- **Show what you copied** so the user can verify before pasting to a person or group.
- Don't include anything the user marked private, or internal implementation detail, unless they explicitly asked to share it.
- Preserve the user's facts and numbers exactly; reformatting must not change meaning.

Watch the walkthrough.

Every skill ships with a video on our YouTube channel — one discipline per episode, field-tested.