Skip to content
Back to skills

Whatsapp

ASecurity

Control WhatsApp from Claude. Read chats, send messages to contacts and groups, search conversations, auto-reply with AI, monitor in real-time, export history. Trigger: "/whatsapp", "whatsapp message", "send whatsapp", "read whatsapp", "whatsapp chat", "check whatsapp", "whatsapp antworten", "whatsapp nachricht", "auto reply whatsapp", "monitor whatsapp", "whatsapp export", "whatsapp search", "whatsapp unread", "whatsapp groups", "new whatsapp messages". Use this skill when the user wants to ...

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
ai-agentspythongobashsqldatabase

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned May 27, 2026

npx -y skills add marcelrgberger/whatsapp-cli --skill whatsapp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Whatsapp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Whatsapp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/marcelrgberger-whatsapp/badge)](https://www.skillsdirectory.com/skills/marcelrgberger-whatsapp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: whatsapp
description: >-
  Control WhatsApp from Claude. Read chats, send messages to contacts and groups,
  search conversations, auto-reply with AI, monitor in real-time, export history.
  Trigger: "/whatsapp", "whatsapp message", "send whatsapp", "read whatsapp",
  "whatsapp chat", "check whatsapp", "whatsapp antworten", "whatsapp nachricht",
  "auto reply whatsapp", "monitor whatsapp", "whatsapp export", "whatsapp search",
  "whatsapp unread", "whatsapp groups", "new whatsapp messages".
  Use this skill when the user wants to read, send, search, monitor, or export
  WhatsApp messages, or set up auto-replies.
---

# WhatsApp CLI Skill

## Instructions

You are a WhatsApp assistant. When the user asks about WhatsApp, interpret their intent and execute the appropriate CLI command.

### Setup

First, ensure the CLI is installed:

```bash
which whatsapp-cli || (cd ${CLAUDE_PLUGIN_ROOT}/agent-harness && python3 -m venv .venv && source .venv/bin/activate && pip install -e . && echo "whatsapp-cli installed")
```

Activate the environment:

```bash
source ${CLAUDE_PLUGIN_ROOT}/agent-harness/.venv/bin/activate 2>/dev/null || true
```

### Command Reference

| Command | Description | Example |
|---|---|---|
| `whatsapp-cli chats` | List recent chats | `whatsapp-cli chats` |
| `whatsapp-cli chats --limit N` | List N most recent chats | `whatsapp-cli chats --limit 20` |
| `whatsapp-cli unread` | Show unread chats | `whatsapp-cli unread` |
| `whatsapp-cli read <name>` | Read messages from a chat | `whatsapp-cli read "John Doe"` |
| `whatsapp-cli read <name> --limit N` | Read last N messages | `whatsapp-cli read "John Doe" --limit 100` |
| `whatsapp-cli read <name> --since <date>` | Read messages since date | `whatsapp-cli read "John Doe" --since 2026-03-01` |
| `whatsapp-cli send <name> <message>` | Send a message | `whatsapp-cli send "John Doe" "Hello!"` |
| `whatsapp-cli search <query>` | Search all messages | `whatsapp-cli search "meeting tomorrow"` |
| `whatsapp-cli search <query> --chat <name>` | Search within a chat | `whatsapp-cli search "invoice" --chat "Work Group"` |
| `whatsapp-cli search <query> --limit N` | Limit search results | `whatsapp-cli search "photo" --limit 10` |
| `whatsapp-cli groups` | List all groups | `whatsapp-cli groups` |
| `whatsapp-cli export <name> <path>` | Export chat to file | `whatsapp-cli export "John Doe" ./chat.json` |
| `whatsapp-cli export <name> <path> --format F` | Export in format (txt/json/csv) | `whatsapp-cli export "Family" ./family.csv --format csv` |
| `whatsapp-cli monitor <name>` | Monitor a chat for new messages | `whatsapp-cli monitor "John Doe"` |
| `whatsapp-cli monitor <name> --interval N` | Set poll interval in seconds | `whatsapp-cli monitor "John Doe" --interval 10` |
| `whatsapp-cli auto-reply <name> --message <msg>` | Auto-reply to a contact | `whatsapp-cli auto-reply "Boss" --message "I'll get back to you soon"` |
| `whatsapp-cli status` | Show WhatsApp connection status | `whatsapp-cli status` |

### Intent Mapping

Interpret the user's natural language and map to the correct command:

- "Show my chats" / "What chats do I have" / "Zeig mir meine Chats" -> `whatsapp-cli chats`
- "Any new messages?" / "Unread messages" / "Neue Nachrichten?" -> `whatsapp-cli unread`
- "What did John say?" / "Read messages from John" / "Was hat John geschrieben?" -> `whatsapp-cli read "John"`
- "Send John hello" / "Message John" / "Schreib John Hallo" -> `whatsapp-cli send "John" "hello"`
- "Find messages about dinner" / "Search for dinner" -> `whatsapp-cli search "dinner"`
- "Show my groups" / "List groups" / "Meine Gruppen" -> `whatsapp-cli groups`
- "Export chat with John" / "Save chat" -> `whatsapp-cli export "John" ./john_chat.txt`
- "Watch for messages from John" / "Monitor John" -> `whatsapp-cli monitor "John"`
- "Auto reply to John" / "Set up auto-reply" -> `whatsapp-cli auto-reply "John" --message "..."`

### Architecture Notes

- **Reading messages**: The CLI reads from WhatsApp's local SQLite database (ChatStorage.sqlite) in `~/Library/Group Containers/group.net.whatsapp.WhatsApp.shared/`. This is read-only access.
- **Sending messages**: Messages are sent via WhatsApp's `whatsapp://` URL scheme, which opens the desktop app. This ensures messages go through official WhatsApp infrastructure.
- **Monitoring**: Uses polling against the SQLite database at configurable intervals.
- **Auto-reply**: Combines monitoring with automatic sending when new messages are detected.

### Output Formatting

- Present chat lists as clean tables
- Show messages chronologically with timestamps and sender names
- Highlight unread message counts
- Format search results with context around matches
- Use relative timestamps when appropriate ("2 hours ago", "yesterday")

### Error Handling

- If WhatsApp is not installed: inform the user and provide install instructions
- If the database is not found: suggest opening WhatsApp at least once
- If a contact is not found: use fuzzy matching and suggest alternatives
- If WhatsApp is not running (for send): prompt user to open WhatsApp
- If permission denied on database: explain macOS Full Disk Access requirement

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.