skills/whatsapp/SKILL.md
WhatsApp router: history/search/read/send; wacrawl read, wacli live.
npx skillsauth add steipete/agent-scripts whatsappInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this as the first stop for WhatsApp work. Keep the source boundary sharp:
wacrawl: primary WhatsApp Desktop archive. Read-only, best local history, no network, no sending.wacli: linked-device accounts. Use for alt accounts, live sync, auth, sending, chat/group mutation, and WhatsApp Web protocol questions.If the user names wacrawl or wacli repo work specifically, read that tool's own skill too.
wacrawl.wacrawl; it has chat-level unread counts, not per-message read state.wacrawl status; run wacrawl sync when asked or when current data matters.me, molty, or named stores: use wacli --account NAME.wacli only after explicit user intent.wacrawl as Desktop archive truth for primary history, and wacli as linked-device/live coverage with protocol limits.wacli commands for inspection: pass --read-only or set WACLI_READONLY=1.wacli session.db directly.wacli accounts isolated; do not merge stores.Freshness and status:
wacrawl status
wacrawl doctor
wacrawl sync
Unread triage:
wacrawl chats --limit 20
wacrawl unread --limit 20
wacrawl --json unread --limit 100
Search and slice messages:
wacrawl messages --after 2026-01-01 --limit 50
wacrawl messages --chat JID --asc --limit 100
wacrawl messages --has-media --limit 50
wacrawl --json search "query"
wacrawl search "query" --after 2026-01-01 --from-them
Archive media or backups, only when asked:
wacrawl import --copy-media
wacrawl backup status
wacrawl --sync never backup push
Account discovery and read-only inspection:
wacli accounts list --json
wacli --account me auth status --read-only --json
wacli --account me chats list --read-only --json
wacli --account me messages list --read-only --json --limit 50
wacli --account me messages search --read-only --json "query"
Background live sync, only when requested. Prefer tmux for follow-mode:
wacli --account me sync --follow --events
wacli --account me sync --once --events
Media, sending, and live mutations, only when explicitly requested:
wacli --account me media download --chat JID --id MESSAGE_ID
wacli --account me send text --to JID_OR_NAME --message "message"
wacli --account me send file --to JID_OR_NAME --file ./file.jpg --caption "caption"
wacli --account me send text --to JID --reply-to MESSAGE_ID --message "reply"
When comparing wacrawl and wacli, compare both counts and overlap:
msg_idchat_jid + msg_id when JIDs are normalized enough~/Projects/wacrawl: Desktop archive importer/search/backup.~/Projects/wacli: linked-device client/sync/send.~/Projects/agent-scripts/skills/wacrawl and ~/Projects/agent-scripts/skills/wacli.tools
npm registry ops: login, whoami, names, publish; 1Password tmux.
development
Mac fleet inventory and upkeep with full/worker profiles: collect installed apps and packages, compare desired versus observed state, audit local-account escrow references, update Homebrew/global packages, safely sync repos and Xcode, and report disk, service, backup, update, and security health.
tools
Claude Code work routing: delegate implementation, fixing, exploratory subagents, rebasing, and PR merging/landing to Codex CLI while the parent specifies, decides, reviews, and verifies. Load a private codex-next policy first when available; otherwise use the native-Claude model gate. Codex-backed autoreview is always allowed and preferred.
tools
macOS screen capture, accessibility inspection, and background-first app/window/UI automation with Peekaboo v4.