npx skills add https://github.com/andrejones92/canifi-life-os --skill whatsapp-webSKILL.md
WhatsApp Web Skill
Overview
Automates WhatsApp Web interactions including messaging, group management, status updates, and media sharing through browser automation with QR code authentication.
Quick Install
curl -sSL https://canifi.com/skills/whatsapp-web/install.sh | bash
Or manually:
cp -r skills/whatsapp-web ~/.canifi/skills/
Setup
Configure via canifi-env:
# First, ensure canifi-env is installed:
# curl -sSL https://canifi.com/install.sh | bash
canifi-env set WHATSAPP_LINKED "true"
Privacy & Authentication
Your credentials, your choice. Canifi LifeOS respects your privacy.
Option 1: Manual Browser Login (Recommended)
If you prefer not to share credentials with Claude Code:
- Complete the Browser Automation Setup using CDP mode
- Login to the service manually in the Playwright-controlled Chrome window
- Claude will use your authenticated session without ever seeing your password
Option 2: Environment Variables
If you're comfortable sharing credentials, you can store them locally:
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"
Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
Capabilities
- Send and receive text messages
- Share images, videos, and documents
- Create and manage groups
- Update and view status/stories
- Search messages and contacts
- Star and archive chats
- Manage group settings and admins
- Handle broadcast lists
Usage Examples
Example 1: Send a Message
User: "Send a WhatsApp message to Sarah asking about dinner plans"
Claude: I'll send that message on WhatsApp.
- Navigate to web.whatsapp.com
- Search for Sarah in contacts
- Open chat and compose message
- Send: "Hey Sarah, what are the dinner plans for tonight?"
- Confirm message delivered (double checkmarks)
Example 2: Create a Group
User: "Create a WhatsApp group called 'Weekend Trip' with John, Mike, and Lisa"
Claude: I'll create that group.
- Click New Group
- Add John, Mike, and Lisa
- Set group name "Weekend Trip"
- Add group icon if available
- Confirm group created
Example 3: Share a File
User: "Send the project proposal PDF to the Work group on WhatsApp"
Claude: I'll share that document.
- Open Work group chat
- Click attach file
- Select and upload proposal PDF
- Add caption if needed
- Send file to group
Example 4: Check Unread Messages
User: "Check my unread WhatsApp messages and summarize them"
Claude: I'll check your unread messages.
- Identify chats with unread indicators
- Open each unread chat
- Read and collect new messages
- Present summary of conversations
Authentication Flow
- Navigate to web.whatsapp.com via Playwright MCP
- If QR code shown, notify user via iMessage to scan with phone
- Wait for phone authentication (timeout: 60 seconds)
- Verify chat list loads successfully
- Maintain session via local storage
- Re-authenticate if session expires
Error Handling
- QR Code Timeout: iMessage reminder to scan QR code
- Session Expired: Notify user to re-link device
- Phone Disconnected: Alert user that phone must be online
- Rate Limited: Wait and implement backoff
- Contact Not Found: Search by phone number or name variations
- Group Limit Reached: Notify user of WhatsApp limits (1024 members)
- Media Failed: Check file size and format, retry upload
- Connection Lost: Wait for reconnection, notify if persistent
Self-Improvement Instructions
When encountering new WhatsApp features:
- Document new UI elements and chat patterns
- Add support for new message types (polls, etc.)
- Log successful group management patterns
- Update for new WhatsApp Web features
Notes
- WhatsApp Web requires phone to be connected to internet
- End-to-end encryption maintained through web interface
- Status/stories expire after 24 hours
- Broadcast lists have recipient limits
- Some features require WhatsApp Business
- Voice and video calls not supported via web automation
- Multi-device beta allows operation without phone online
Repository Stats
Stars1
Forks0