| name | add-image-vision |
| description | Add image vision to Deus agents. Resizes and processes WhatsApp image attachments, then sends them to Claude as multimodal content blocks. |
| disable-model-invocation | true |
Image Vision Skill
Adds the ability for Deus agents to see and understand images sent via WhatsApp. Images are downloaded, resized with sharp, saved to the group workspace, and passed to the agent as base64-encoded multimodal content blocks.
Phase 1: Pre-flight
- Check if
src/image.ts exists — skip to Phase 3 if already applied
- Confirm
sharp is installable (native bindings require build tools)
Prerequisite: WhatsApp must be installed first (via /add-whatsapp). This skill modifies WhatsApp channel files.
Phase 2: Apply Code Changes
Image vision is part of the WhatsApp MCP package in packages/. Check if the image module already exists:
test -f src/image.ts && echo "Already present" || echo "Not present"
If not present, the WhatsApp MCP package should include image vision support. Ensure the WhatsApp channel is installed and up to date by running /add-whatsapp.
The following files are involved:
src/image.ts (image download, resize via sharp, base64 encoding)
src/image.test.ts (8 unit tests)
- Image attachment handling in
src/channels/whatsapp.ts
- Image passing to agent in
src/index.ts and src/container-runner.ts
- Image content block support in
container/agent-runner/src/index.ts
sharp npm dependency in package.json
Validate code changes
npm install
npm run build
npx vitest run src/image.test.ts
All tests must pass and build must be clean before proceeding.
Phase 3: Configure
-
Rebuild the container (agent-runner changes need a rebuild):
./container/build.sh
-
Sync agent-runner source to group caches:
for dir in data/sessions/*/agent-runner-src/; do
cp container/agent-runner/src/*.ts "$dir"
done
-
Restart the service:
launchctl kickstart -k gui/$(id -u)/com.deus
Phase 4: Verify
- Send an image in a registered WhatsApp group
- Check the agent responds with understanding of the image content
- Check logs for "Processed image attachment":
tail -50 groups/*/logs/container-*.log
Troubleshooting
- "Image - download failed": Check WhatsApp connection stability. The download may timeout on slow connections.
- "Image - processing failed": Sharp may not be installed correctly. Run
npm ls sharp to verify.
- Agent doesn't mention image content: Check container logs for "Loaded image" messages. If missing, ensure agent-runner source was synced to group caches.