agentleFS
MicrosoftKnown publishermicrosoft/amplifier-app-nanoclaw/container/skills/whatsapp-formatting/SKILL.md

whatsapp-formatting

Skill5 starsChanged 5 months agoMITView on GitHub

Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id / chatJid ends with @s.whatsapp.net or @g.us).

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If you don't know the JID, just refer to the person by name in plain prose.

    line 41
  2. Very specific:

    Don't write <@U123> (that's Slack), <@!123> (Discord), or any other channel's mention syntax.

    line 59
  3. Very specific:

    Don't paste a full JID like @15551234567@s.whatsapp.net in the text — only the digits before the JID's @ go after your @.

    line 60
  4. Distinctive:

    Don't try to tag display names.

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

WhatsApp Message Formatting

WhatsApp uses its own lightweight markup and a phone-number-based mention syntax. The host's WhatsApp adapter (Baileys) handles markdown conversion automatically, but mentions are only protocol-level mentions if you use the right syntax — otherwise they render as plain text and don't notify the recipient.

How to detect WhatsApp context

You're in a WhatsApp conversation when any of these are true:

  • The chat JID / platform id ends with @s.whatsapp.net (1-on-1 DM)
  • The chat JID / platform id ends with @g.us (group)
  • Your inbound message metadata has chatJid matching the above

Mentions — the important part

To tag a user so their name appears bold and clickable in WhatsApp and they get a push notification, write the @ followed by their phone number digits (no +, no spaces, no display name):

@15551234567 can you confirm?

The adapter scans your outgoing text for @<digits> (5–15 digits, optional leading + is stripped) and tells WhatsApp to render them as real mention tags.

The sender's phone JID is always in your inbound message metadata. When a user writes to you, inbound content.sender looks like 15551234567@s.whatsapp.net. The part before the @ is exactly what you put after @ when tagging them back.

Wrong vs right

You writeWhat recipients see
@Adam can you...Plain text @Adam. No tag, no notification.
@15551234567 can you...Bold/blue @Adam (or whatever name they're saved as), notification fires.
@+15551234567 ...Same as above — adapter strips the +.

Picking who to tag

  • In a DM, there's no real need to tag the recipient (they already see every message), but tagging still works if you want emphasis.
  • In a group, look at the participants / inbound content.sender to find the JID of the person you mean. Don't guess from display names — pushNames can collide and are not reliable.
  • If you don't know the JID, just refer to the person by name in plain prose. Don't write @<name> — it won't tag and it will look like a tag that failed.

Text styles

WhatsApp uses single-character delimiters, not doubled like standard Markdown.

StyleSyntaxRenders as
Bold*bold*bold
Italic_italic_italic
Strikethrough~strike~strike
Monospace`code`code
Block monospace```block```preformatted block

The adapter converts standard Markdown (**bold**, [link](url), # heading) to the WhatsApp-native form automatically, so you don't have to think about it — but be aware that single asterisks become italics, not bold.

What not to do

  • Don't write <@U123> (that's Slack), <@!123> (Discord), or any other channel's mention syntax.
  • Don't paste a full JID like @15551234567@s.whatsapp.net in the text — only the digits before the JID's @ go after your @.
  • Don't try to tag display names. WhatsApp has no display-name-based mention API.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.