wacli-skill

Agent skill for using the local wacli WhatsApp CLI instead of browser automation.

wacli is a scriptable WhatsApp client built on whatsmeow. It pairs as a linked WhatsApp Web device, mirrors messages into a local SQLite store, and supports offline search, sending, and chat/contact management from the command line.

Third-party tool. Uses the WhatsApp Web protocol via whatsmeow. Not affiliated with WhatsApp.

Why this skill exists

This skill gives an agent a clean, local path for WhatsApp work without poking at browser DOM junk.

Good fits:

  • QR pairing and auth status checks
  • one-shot or follow-mode sync
  • offline message search and context lookups
  • sending text, files, reactions, stickers, and voice notes
  • chat and contact inspection from the local store

Contents

  • SKILL.md — skill instructions, safe defaults, and command patterns
  • scripts/wacli-local.sh — tiny wrapper that execs the local wacli binary

Highlights from wacli

  • Auth + sync — QR pairing, one-shot sync, or long-running follow mode
  • Offline message store — local SQLite history with FTS search
  • Sending — text, replies, mentions, files, stickers, voice notes, reactions
  • History backfill — best-effort older-message requests from the primary device
  • Scriptable output--json for machine-readable reads and automation-friendly flows
  • Diagnostics + safetydoctor, read-only mode, lock handling, bounded local behavior

Quick start

# Pair (shows QR), then bootstrap sync
wacli auth

# Keep syncing after auth
wacli sync --follow

# Inspect chats and recent messages
wacli --json --read-only chats list --limit 50
wacli --json --read-only messages list --chat <chat-jid> --limit 20

# Search locally stored messages
wacli --json --read-only messages search "meeting"

# Send
wacli send text --to 1234567890 --message "hello"

Recipients can be a JID, phone number, or synced contact/group/chat name. If a name is ambiguous, use a JID or the CLI selection flags supported by wacli.

Local assumptions

This published skill came from a setup where:

  • wacli is installed and available on PATH
  • the default store is /root/.local/state/wacli
  • agents should prefer --json --read-only for inspection work

You may want to tweak these paths and defaults for your own environment.

Extra examples in this repo

  • EXAMPLES.md — broad command examples covering the current CLI surface

Upstream docs

Source

Published from Luna's local OpenClaw workspace.

Description
Agent skill for using the local wacli WhatsApp CLI
Readme 34 KiB
Languages
Shell 100%