Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Read incoming SMS or email messages — OTPs, verification codes, verification links, incoming mail. Do NOT use for sending email (use ravi-email-send) or mana...
Read incoming SMS or email messages — OTPs, verification codes, verification links, incoming mail. Do NOT use for sending email (use ravi-email-send) or mana...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Read SMS and email messages received at your Ravi identity. Use this after triggering verifications, 2FA, or when expecting incoming messages.
# List SMS conversations (grouped by sender) ravi inbox sms --json # Only conversations with unread messages ravi inbox sms --unread --json # View a specific conversation (all messages) ravi inbox sms <conversation_id> --json # conversation_id format: {phone_id}_{from_number}, e.g. "1_+15559876543" JSON shape — conversation list: [{ "conversation_id": "1_+15559876543", "from_number": "+15559876543", "phone_number": "+15551234567", "preview": "Your code is 847291", "message_count": 3, "unread_count": 1, "latest_message_dt": "2026-02-25T10:30:00Z" }] JSON shape — conversation detail: { "conversation_id": "1_+15559876543", "from_number": "+15559876543", "messages": [ {"id": 42, "body": "Your code is 847291", "direction": "incoming", "is_read": false, "created_dt": "..."} ] }
# List email threads ravi inbox email --json # Only threads with unread messages ravi inbox email --unread --json # View a specific thread (all messages with full content) ravi inbox email <thread_id> --json JSON shape — thread detail: { "thread_id": "abc123", "subject": "Verify your email", "messages": [ { "id": 10, "from_email": "noreply@example.com", "to_email": "janedoe@example.com", "subject": "Verify your email", "text_content": "Click here to verify: https://example.com/verify?token=xyz", "direction": "incoming", "is_read": false, "created_dt": "..." } ] }
Use these when you need messages by ID rather than by conversation: ravi message sms --json # All SMS messages ravi message sms --unread --json # Unread only ravi message sms <message_id> --json # Specific message ravi message email --json # All email messages ravi message email --unread --json # Unread only ravi message email <message_id> --json # Specific message
ravi inbox sms --unread --json | jq -r '.[].preview' | grep -oE '[0-9]{4,8}'
THREAD_ID=$(ravi inbox email --unread --json | jq -r '.[0].thread_id') ravi inbox email "$THREAD_ID" --json | jq -r '.messages[].text_content' | grep -oE 'https?://[^ ]+'
Poll, don't rush — SMS/email delivery takes 2-10 seconds. Use sleep 5 before checking. Auto-contacts — Ravi automatically creates or updates contacts when you send or receive email/SMS. Use ravi contacts search to look up people you've interacted with. Always use --json — human-readable output is not designed for parsing.
ravi-email-send — Reply, reply-all, or forward emails you've read ravi-email-writing — Write professional replies with proper formatting and tone ravi-contacts — Look up a sender's name or details from their email/phone ravi-login — End-to-end signup/login workflows that use inbox for OTP extraction ravi-feedback — Report inbox delivery issues or suggest improvements
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.