From claudeclaw
Adds emoji reaction support to ClaudeClaw's WhatsApp channel: receive, store in SQLite, send via MCP tool, and query reaction history. For interactive messaging agents.
npx claudepluginhub sbusso/claudeclawThis skill uses the workspace's default tool permissions.
This skill adds emoji reaction support to ClaudeClaw's WhatsApp channel: receive and store reactions, send reactions from the container agent via MCP tool, and query reaction history from SQLite.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
This skill adds emoji reaction support to ClaudeClaw's WhatsApp channel: receive and store reactions, send reactions from the container agent via MCP tool, and query reaction history from SQLite.
Check if src/status-tracker.ts exists:
test -f src/status-tracker.ts && echo "Already applied" || echo "Not applied"
If already applied, skip to Phase 3 (Verify).
git remote -v
If whatsapp is missing, add it:
git remote add whatsapp https://github.com/qwibitai/claudeclaw-whatsapp.git
git fetch whatsapp skill/reactions
git merge whatsapp/skill/reactions || {
git checkout --theirs package-lock.json
git add package-lock.json
git merge --continue
}
This adds:
scripts/migrate-reactions.ts (database migration for reactions table with composite PK and indexes)src/status-tracker.ts (forward-only emoji state machine for message lifecycle signaling, with persistence and retry)src/status-tracker.test.ts (unit tests for StatusTracker)agent/skills/reactions/SKILL.md (agent-facing documentation for the react_to_message MCP tool)src/orchestrator/db.ts, src/channels/whatsapp.ts, src/orchestrator/types.ts, src/orchestrator/ipc.ts, src/index.ts, src/group-queue.ts, and agent/runner/src/ipc-mcp-stdio.tsnpx tsx scripts/migrate-reactions.ts
npm test
npm run build
All tests must pass and build must be clean before proceeding.
npm run build
Service name: Derived from the directory name:
com.claudeclaw.<dirname>(macOS) /claudeclaw-<dirname>(Linux). For example, if cwd ismy-assistant, the service iscom.claudeclaw.my-assistant. Determine the correct service name before running service commands below.
Linux:
systemctl --user restart claudeclaw
macOS:
launchctl kickstart -k gui/$(id -u)/com.claudeclaw
sqlite3 store/messages.db "SELECT * FROM reactions ORDER BY timestamp DESC LIMIT 5;"
Ask the agent to react to a message via the react_to_message MCP tool. Check your phone — the reaction should appear on the message.
Failed to process reaction errorsstore/messages.db exists and is accessibleUnauthorized IPC reaction attempt blocked — the agent can only react in its own group's chat