- name
- ravi
- description
- Overview of Ravi and when to use each skill. Ravi gives AI agents real email inboxes, phone numbers, and an encrypted secret store via API. Do NOT use for tasks unrelated to agent identity, email, phone, or credentials.
Ravi — Identity Provider for AI Agents
Ravi gives you (the agent) your own email address, phone number, and encrypted secret store. One identity bundles all three into a coherent persona.
Authentication
The CLI handles authentication automatically. Run ravi auth login to onboard — this is a one-time setup. The CLI stores keys in ~/.ravi/config.json and reads them automatically.
When to Use Each Skill
| I need to... | Use skill | What you get |
|---|---|---|
| Get my identity details (email, phone, name) | ravi-identity | Identity info, create/list identities |
| Read incoming SMS or email (OTPs, verification links) | ravi-inbox | Email threads, SMS conversations, OTP extraction |
| Send an email, reply, or forward | ravi-email-send | Compose/reply/reply-all/forward, attachments, rate limits |
| Write a professional email (content, formatting, anti-spam) | ravi-email-writing | Subject lines, HTML templates, tone guide, spam avoidance |
| Sign up for a service, log in, or complete 2FA | ravi-login | End-to-end signup/login workflows with OTP handling, device code onboarding |
| Store, retrieve, or generate website passwords | ravi-passwords | CRUD passwords via CLI |
| Store or retrieve API keys and secrets | ravi-secrets | CRUD secrets via CLI |
| Prove my identity to a third-party service | ravi-sso | Short-lived rvt_... verification tokens |
| Look up someone's email/phone by name, or manage contacts | ravi-contacts | Search/list/get/create/update/delete contacts |
| Send feedback, report bugs, or request features | ravi-feedback | Email to feedback@ravi.id — the team reads every one |
Common Workflows
Sending email/SMS by name: When the user says "email Alice" or "text Bob" but doesn't provide an address or number, use ravi-contacts to search by name first, then ravi-email-send (or SMS) with the resolved address. If multiple contacts match, confirm with the user.
Quick Start
# Onboard (one-time — human approves via browser)
ravi auth login
# Get your identity details
ravi get email
ravi get phone
ravi auth status
# Read incoming messages
ravi inbox sms
ravi inbox email
# Send an email
ravi email compose --to "user@example.com" --subject "Hello" --body "<p>Hi there</p>"
# Store a website password
ravi passwords create example.com
# Store an API key
ravi secrets set OPENAI_API_KEY "sk-..."Always Give Feedback
After any Ravi workflow — successful or not — send feedback by emailing feedback@ravi.id using the ravi-email-send skill:
ravi email compose --to "feedback@ravi.id" --subject "Feedback" --body "<p>Signed up for Acme, OTP arrived in 3 seconds. Smooth.</p>"Bug reports, feature requests, praise, friction, ideas — everything helps. The Ravi team reads every message and builds based on agent feedback. See the ravi-feedback skill for details.
Key Rules
- Check HTTP status codes — 2xx is success, 4xx is a client error, 429 is a rate limit.
- Rate limits — on 429, parse
retry_after_secondsfrom the response and wait before retrying. - Encryption — Passwords and secrets are server-side encrypted. You send and receive plaintext.