Agent skill

Wacli

by openclaw in openclaw/wacli

wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

MITAuto-check passed

Install Wacli

skills CLI
$ npx skills add openclaw/wacli --skill wacli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openclaw/wacli wacli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openclaw/wacli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/wacli .claude/skills/wacli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
wacli
GitHub stars
2.8k
Token cost
~811 tokens
SKILL.md length
248 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

  • SKILL.md covers Sources, Safety, Account Workflow and Message/Store Checks, plus 3 more sections
  • Calls pnpm, sqlite3 and go

What it does

Wacli is an agent skill from openclaw/wacli. wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

Its SKILL.md is about 810 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with WhatsApp. The repository describes itself as: WhatsApp CLI: sync, search, send. The licence is MIT.

Example prompts

  • “/wacli”

What it can do on your machine

Read from SKILL.md and the folder at commit 8fe6a5a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • sqlite3
    • go
    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Wacli loads about 811 tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 248 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~20
When it runs · the whole SKILL.md, loaded when a task matches
~811

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from openclaw/wacli at commit 8fe6a5a, republished under its MIT licence (© openclaw). 248 words, ~811 tokens.

Download SKILL.mdSave it as .claude/skills/wacli/SKILL.md (or your agent's skills folder).
name
wacli
description
wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

Wacli

Use this for wacli repo work and local WhatsApp linked-device stores. Prefer read-only commands for inspection unless the user explicitly asks to auth, sync, send, mutate chats/groups, or release.

Sources

  • Repo: ~/Projects/wacli
  • CLI in repo: ./dist/wacli after pnpm build
  • Installed CLI: wacli
  • Default config: ~/.wacli/config.yaml
  • Default macOS store: ~/.wacli
  • Named account stores: ~/.wacli/accounts/<name>
  • App DB: <store>/wacli.db
  • WhatsApp session DB: <store>/session.db

Safety

  • Use --read-only or WACLI_READONLY=1 for inspection.
  • Use --json for parsing.
  • Do not send messages unless explicitly asked.
  • Do not write session.db directly.
  • Do not merge account data into one wacli.db; named accounts are isolated stores.
  • Watch dirty worktrees; leave unrelated files alone.

Account Workflow

List accounts and store paths:

bash
wacli accounts list --json

Inspect one account without connecting:

bash
wacli --account me doctor --read-only --json
wacli --account me auth status --read-only --json

Use --account NAME for normal multi-account work. Use --store DIR only for one-off legacy/manual store debugging.

Message/Store Checks

Prefer CLI first:

bash
wacli --account me messages list --read-only --json --limit 20
wacli --account me messages search --read-only --json "query"
wacli --account me chats list --read-only --json

For DB health or aggregate checks, use SQLite read-only where possible:

bash
sqlite3 "$HOME/.wacli/accounts/me/wacli.db" "pragma integrity_check;"
sqlite3 "$HOME/.wacli/accounts/me/wacli.db" \
  "select count(*) from messages;
   select count(*) from messages_fts;"

Useful consistency checks:

sql
select count(*) from (
  select chat_jid, msg_id, count(*) c
  from messages
  group by chat_jid, msg_id
  having c > 1
);

select count(*)
from messages m
left join chats c on c.jid = m.chat_jid
where c.jid is null;

select count(*) from messages where revoked = 0 and deleted_for_me = 0;
select count(*) from messages_fts;

Sync/Auth UX

auth pairs and then bootstraps sync. sync never shows QR and requires an authenticated store.

Common commands:

bash
wacli --account me auth
wacli --account me sync --once
wacli --account me sync --follow
wacli --account me sync --once --events 2>events.ndjson

Interactive TTY sync progress should be concise; warnings must remain visible. --events must keep stderr as NDJSON.

Repo Workflow

Read docs before coding when behavior changes:

bash
pnpm -s docs:list || bin/docs-list || true

Focused tests first, then full gate:

bash
go test ./internal/app
go test ./internal/store
pnpm docs:site && pnpm format:check && pnpm lint && pnpm test && pnpm build && git diff --check

User-facing changes need docs and CHANGELOG.md. Use committer with explicit file paths.

Release

Read docs/release.md before release work. Release is tag-driven; verify workflow state with gh run list/view. If a release workflow is cancelled or partially failed, state exactly which jobs completed and which did not.

© openclaw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/wacli of openclaw/wacli.

Open the folder on GitHubat commit 8fe6a5a

Compare with similar skills

Wacli next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Wacli compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wacli this skillopenclaw/wacli2.8k—~811Automated safety check: PassMIT
Web Asset Generatoralonw0/web-asset-generator5121 repos~6.6kAutomated safety check: PassMIT
Deskcomm Contribuirmelgarafael/DeskcommCRM4.5k—~3.6kAutomated safety check: NotesMIT
Send User MessageTinyAGI/tinyagi3.6k—~829Automated safety check: PassMIT
Deskcomm Extensaomelgarafael/DeskcommCRM4.5k—~2.7kAutomated safety check: PassMIT
Whatsappsanjay3290/ai-skills4311 repos~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Web Asset Generator

    alonw0/web-asset-generator

    Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn.

    512 GitHub starsUsed in 1 repo~6.6k tokens
    Media & CreativeAuto-check passed
  • Deskcomm Contribuir

    melgarafael/DeskcommCRM

    Guia de contribuição ao DeskcommCRM para quem vai mexer no código e abrir um pull request, sobretudo de um fork.

    4.5k GitHub stars~3.6k tokensUpdated today
    DevelopmentAuto-check: notes
  • Send User Message

    TinyAGI/tinyagi

    Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).

    3.6k GitHub stars~829 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Deskcomm Extensao

    melgarafael/DeskcommCRM

    Guia para criar uma extensão do DeskcommCRM — o pacote declarativo — em vez de abrir um PR no núcleo.

    4.5k GitHub stars~2.7k tokensUpdated today
    Sales & SupportAuto-check passed
  • Whatsapp

    sanjay3290/ai-skills

    Send and receive WhatsApp messages via the unofficial linked-device client pywhats (pip install pywhats) — pair with QR, send text/images, group chat, read receipts, presence/typing, and a…

    431 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Integrate Whatsapp

    gokapso/agent-skills

    Connect WhatsApp to your product with Kapso: onboard customers with setup links, detect connections, receive events via webhooks, and send messages/templates/media.

    175 GitHub stars~4.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed

Works with

Questions about Wacli

What does Wacli do?

wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work. Wacli is an agent skill from openclaw/wacli. wacli: WhatsApp linked devices, stores, sync/auth/send, repo/release work.

How do I install Wacli in Claude Code?

Run `npx skills add openclaw/wacli --skill wacli -a claude-code`. Or copy the skill folder (.agents/skills/wacli in openclaw/wacli) into .claude/skills/wacli in your project. Claude Code loads it when a task matches its description.

How do I install Wacli in Codex?

Run `npx skills add openclaw/wacli --skill wacli -a codex`. Or copy the skill folder (.agents/skills/wacli in openclaw/wacli) into .agents/skills/wacli in your project. Codex loads it when a task matches its description.

Can I use Wacli in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openclaw/wacli --skill wacli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wacli, .gemini/skills/wacli, .github/skills/wacli and .opencode/skills/wacli in your project.

What does Wacli need to run?

Going by SKILL.md and its folder, Wacli needs the command-line tools its instructions call (pnpm, sqlite3, go, git and gh).

Does Wacli access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Wacli safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Wacli use?

Wacli is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Wacli use?

About 811 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Wacli?

Skills that share tags, products or a category with Wacli: Web Asset Generator (alonw0/web-asset-generator, 512 stars), Deskcomm Contribuir (melgarafael/DeskcommCRM, 4.5k stars), Send User Message (TinyAGI/tinyagi, 3.6k stars) and Deskcomm Extensao (melgarafael/DeskcommCRM, 4.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wacli?

openclaw (a GitHub organization) maintains it in openclaw/wacli, which has 2,790 GitHub stars. The repository was last updated on October 7, 2026.

Source: openclaw/wacli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.