用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill watching-whatsapp命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | watching-whatsapp |
| description | Use when setting up WhatsApp monitoring, processing unread chats, sending messages, |
| metadata | {"author":"abdullahmalik17"} |
Monitors WhatsApp Web and creates task files for important messages.
# Start watcher (visible browser)
python src/watchers/whatsapp_watcher.py
# Or via MCP server (for sending)
python src/mcp_servers/whatsapp_server.py
MCP Server (whatsapp_server.py)
│
▼ Creates queue file
Vault/WhatsApp_Queue/SEND_to_*.md
│
▼ Watcher picks up
Watcher (whatsapp_watcher.py)
│
▼ Browser automation
WhatsApp Web → Message sent
Why queues? MCP doesn't drive browser directly to prevent session locking.
config/whatsapp_data/Vault/Needs_Action/The to parameter must match the contact name in your phone EXACTLY (case-sensitive):
# ✗ FAILS - Different case
send_whatsapp_message(to="john doe", message="Hello")
# ✓ WORKS - Exact match
send_whatsapp_message(to="John Doe", message="Hello")
Messages are auto-classified by keywords:
| Priority | Keywords | Action |
|---|---|---|
| Urgent | urgent, asap, emergency, critical | Immediate escalation |
| High | important, invoice, payment, deadline | Same-day review |
| Medium | question, request, update | Standard queue |
| Low | thanks, ok, noted | Archive |
Known contacts (from config/known_senders.json) get automatic priority upgrade:
WhatsApp updates their DOM frequently. Multiple fallback selectors are used:
# Primary input selector
input_selector = 'div[contenteditable="true"][data-tab="10"]'
# Fallback
input_selector = 'div[data-testid="conversation-compose-box-input"]'
Only 120 seconds to scan QR code. After that:
Vault/Logs/Vault/Needs_Action/Phone numbers are automatically redacted in audit logs:
+1 234 567 8900 → [REDACTED]
Enable automatic responses based on priority:
WHATSAPP_AUTO_REPLY=true
WHATSAPP_AUTO_REPLY_THRESHOLD=high # Options: urgent, high, medium, low
Only messages at or above threshold get auto-reply.
Via whatsapp_server.py:
send_whatsapp_message(to, message, requires_approval) - Queue message for sending| Variable | Default | Description |
|---|---|---|
WHATSAPP_POLL_INTERVAL | 30 | Seconds between checks |
WHATSAPP_HEADLESS | false | Run browser hidden |
WHATSAPP_AUTO_REPLY | false | Enable auto-reply |
WHATSAPP_AUTO_REPLY_THRESHOLD | high | Minimum priority for auto-reply |
DRY_RUN | false | Test mode (no actual sends) |
send_whatsapp_message(
to="John Doe",
message="Your invoice is ready",
requires_approval=True # Creates file in Pending_Approval/
)
Move file to Vault/WhatsApp_Queue/ renamed as SEND_to_*.md to send.
send_whatsapp_message(
to="John Doe",
message="Quick update",
requires_approval=False # Goes directly to queue
)
Run: python scripts/verify.py
sending-emails - Email sending patternsdigital-fte-orchestrator - Task processing loopConverted and distributed by TomeVault — claim your Tome and manage your conversions.