
Add Whatsapp Cloud
Add WhatsApp Business Cloud API channel via Chat SDK.
Install
npx skills add nanocoai/nanoclaw --skill add-whatsapp-cloud -g -a claude-code -y- Repository
- nanocoai/nanoclaw31.1k
- Category
- Business
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 2,008 tokens
- Runs scripts
- No, instructions only
What it does
Add WhatsApp Business Cloud API channel via Chat SDK. Official Meta API.
Add WhatsApp Cloud API Channel
Connect NanoClaw to WhatsApp via the official Meta WhatsApp Business Cloud API.
NanoClaw doesn't ship channels in trunk, this skill copies the WhatsApp Cloud
adapter in from the channels branch.
The mechanical steps under Apply carry nc: directive fences: an agent reads
the prose and applies them, and a parser can apply them deterministically from
the same document. Every directive is idempotent, so the whole skill is safe to
re-run; anything a parser can't apply falls back to the prose beside it.
Apply
1. Copy the adapter
Fetch the channels branch and copy the WhatsApp Cloud adapter into
src/channels/ (overwrite, the branch is canonical):
src/channels/whatsapp-cloud.ts
src/channels/whatsapp-cloud-registration.test.ts
2. Register the adapter
Append the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core:
import './whatsapp-cloud.js';
3. Install the adapter package
Pinned to an exact version, the supply-chain policy rejects ranges and latest:
@chat-adapter/whatsapp@4.41.1
4. Build and validate
Build guards the typed createChatSdkBridge(...) core call and proves the
dependency is installed, the import throws at evaluation if @chat-adapter/whatsapp
is missing or the barrel drifts:
pnpm run build
pnpm exec vitest run src/channels/whatsapp-cloud-registration.test.ts
whatsapp-cloud-registration.test.ts imports the real channel barrel and asserts
the registry contains whatsapp-cloud, it goes red if the import line is deleted
or drifts, if the barrel fails to evaluate, or if @chat-adapter/whatsapp isn't
installed (the import throws), so it also covers the dependency from step 3.


