claude/skills/wacli/SKILL.md
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
npx skillsauth add kendreaditya/.config wacliInstall 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 wacli only when the user explicitly asks you to message someone else on WhatsApp or when they ask to sync/search WhatsApp history.
Apply to every subcommand:
--json — machine-readable output (use this when parsing).--store <dir> — store directory (default $WACLI_STORE_DIR or ~/.wacli).--timeout <duration> — command timeout (default 5m, non-sync only).wacli auth — QR login + bootstrap sync. Flags: --follow (keep syncing after auth), --download-media, --idle-exit <duration> (default 30s).wacli auth status — show auth status.wacli auth logout — invalidate session.wacli sync — sync messages (requires prior auth, never shows QR). --follow is default true; pass --once to sync until idle and exit. Other flags: --download-media, --refresh-contacts, --refresh-groups, --max-reconnect <duration> (default 5m, 0=unlimited), --idle-exit <duration>.wacli doctor — diagnostics for store/auth/search. --connect to test live WhatsApp connection.wacli version — print version.wacli chats list --limit 20 --query "name or number" — list chats from local DB.wacli chats show --jid <jid> — show one chat.Important: search requires a non-empty query. To list messages from a chat without a search term, use messages list.
wacli messages list --chat <jid> --limit 30 — list messages (no query needed). Also supports --after YYYY-MM-DD and --before YYYY-MM-DD.wacli messages search "<query>" --limit 20 [--chat <jid>] [--from <senderJID>] [--type image|video|audio|document] [--after YYYY-MM-DD] [--before YYYY-MM-DD] — FTS5 if available, else LIKE. Query is required.wacli messages show --chat <jid> --id <msgID> — show one message.wacli messages context --chat <jid> --id <msgID> --before 5 --after 5 — show surrounding messages.wacli send text --to "+14155551212" --message "Hello! Are you free at 3pm?"wacli send text --to "[email protected]" --message "Running 5 min late."wacli send file --to "+14155551212" --file /path/agenda.pdf --caption "Agenda" [--filename name.pdf] [--mime application/pdf]wacli history backfill --chat <jid> --requests 2 --count 50 [--wait 1m] [--idle-exit 5s] — request older messages from primary device. Best-effort; requires phone online.wacli media download --chat <jid> --id <msgID> [--output <path-or-dir>] — download media for a message.wacli contacts search "<query>" --limit 50 — search synced contact metadata.wacli contacts show --jid <jid> — show one contact.wacli contacts refresh — import contacts from whatsmeow store into local DB.wacli contacts alias set --jid <jid> --alias "<name>" / wacli contacts alias rm --jid <jid> — local aliases.wacli contacts tags add --jid <jid> --tag "<tag>" / wacli contacts tags rm --jid <jid> --tag "<tag>" — local tags.wacli groups list --limit 50 --query "name" — list known groups (run sync first).wacli groups info --jid <groupJID> — fetch live info, update local DB.wacli groups refresh — fetch joined groups (live) into local DB.wacli groups rename --jid <groupJID> --name "<new name>".wacli groups join --code <invite-code> — join via invite link code.wacli groups leave --jid <groupJID>.wacli groups invite link get --jid <groupJID> / wacli groups invite link revoke --jid <groupJID>.wacli groups participants add|remove|promote|demote --jid <groupJID> --user <phone-or-jid> (--user is repeatable).<number>@s.whatsapp.net; groups look like <id>@g.us. Use wacli chats list or wacli groups list to find them.development
Search and read content from leetcode.com — problem catalog, daily challenge, full problem statements with hints and starter code, the Discuss forum (interview experiences, comp posts, layoff threads), and company question-list metadata. Read-only, no auth, no API key. Use when the user wants to look up a LeetCode problem by name/number/slug, see today's daily challenge, search Discuss for interview write-ups at a specific company (Google, Waymo, Meta, Amazon, etc.), browse a tag-filtered discuss feed, read a Discuss post + comments, or check what a LeetCode company list covers. Triggers — "lcsearch", "leetcode search", "search leetcode", "leetcode discuss", "leetcode problem", "daily leetcode", "interview discuss", "what's the leetcode for X", URLs containing leetcode.com/problems/, leetcode.com/discuss/, or leetcode.com/company/. Pair with the `interviewcoder` skill (structured leetcode-style writeups from 1point3acres) and `blind` (anonymous workplace chatter) for the same companies.
development
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
development
Search and read posts from interviewcoder.co — a Next.js-fronted aggregator of technical-interview writeups (largely sourced from 1point3acres) tagged by company, position, stage (Phone Screen / OA / Onsite / etc.), period, job type, and structured leetcode-style questions. Use when the user wants real interview questions for a specific company, recent writeups from a hiring loop, leetcode-style problems with tags and difficulty, or to look up a specific interviewcoder.co URL. Read-only, no auth, no API key. Triggers — "interviewcoder", "interviewcoder.co", "interview questions at [company]", "what's been asked at [company] recently", "interview writeup", and URLs containing interviewcoder.co.
tools
Small Yahoo Finance CLI for ticker info + N-year stock returns. Use when the user asks about: stock price, market cap, sector/industry classification, dividend yield, P/E ratio, beta, 52-week range, N-year stock return, company description for a public company. Triggers: 'yfinance', 'yfin', 'stock price', 'market cap of', 'how much has X stock returned', 'sector for ticker', 'industry classification'. Pairs with the levels-fyi skill for cross-checking public/private status (levels gives ticker, yfin returns live data).