# Send Ravi login to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ravi-login",
    "name": "Ravi login",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/raunaksingwi/ravi-login",
    "canonicalUrl": "https://clawhub.ai/raunaksingwi/ravi-login",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ravi-login",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ravi-login",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ravi-login"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ravi-login",
    "downloadUrl": "https://openagent3.xyz/downloads/ravi-login",
    "agentUrl": "https://openagent3.xyz/skills/ravi-login/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ravi-login/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ravi-login/agent.md"
  }
}
```
## Documentation

### Ravi Login

End-to-end workflows for signing up, logging in, and completing verification using your Ravi identity.

### Your Name

When a form asks for your name, use your identity name — not the account owner's name.
Identity names look like real human names (e.g. "Sarah Johnson").

# Get identity name — split into first/last for form fields
IDENTITY=$(ravi identity list --json | jq -r '.[0]')
NAME=$(echo "$IDENTITY" | jq -r '.name')
FIRST_NAME=$(echo "$NAME" | awk '{print $1}')
LAST_NAME=$(echo "$NAME" | awk '{print $2}')

Note: This first/last split works for auto-generated names (e.g. "Sarah Johnson"). For custom identity names (e.g. "Shopping Agent"), use the full name as-is or adapt the split to your form's requirements.

Never use ravi get owner for form fields. The owner is the human behind the account — the identity name is your name.

### Sign up for a service

# 1. Get your identity
EMAIL=$(ravi get email --json | jq -r '.email')
PHONE=$(ravi get phone --json | jq -r '.phone_number')

# 2. Fill the signup form with $EMAIL, $PHONE, and identity name

# 3. Generate and store a password
CREDS=$(ravi passwords create example.com --username "$EMAIL" --json)
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Use $PASSWORD in the signup form

# 4. Wait for verification
sleep 5
ravi inbox sms --unread --json   # Check for SMS OTP
ravi inbox email --unread --json # Check for email verification

### Log into a service

# Find stored credentials
ENTRY=$(ravi passwords list --json | jq -r '.[] | select(.domain == "example.com")')
UUID=$(echo "$ENTRY" | jq -r '.uuid')

# Get decrypted credentials
CREDS=$(ravi passwords get "$UUID" --json)
USERNAME=$(echo "$CREDS" | jq -r '.username')
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Use $USERNAME and $PASSWORD to log in

### Complete 2FA / OTP

# After triggering 2FA on a website:
sleep 5
CODE=$(ravi inbox sms --unread --json | jq -r '.[0].preview' | grep -oE '[0-9]{4,8}' | head -1)
# Use $CODE to complete the login

### Extract a verification link from email

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?://[^ ]+'

### Tips

Poll, don't rush — SMS/email delivery takes 2-10 seconds. Use sleep 5 before checking.
Store credentials immediately — create a passwords entry during signup so you don't lose the password.
Identity name for forms — always use the identity name, not the owner name.
Rate limits apply to sending — 60 emails/hour, 500/day. See ravi-email-send skill for details.
Email quality matters — if you need to send an email during a workflow (e.g., contacting support), see ravi-email-writing for formatting and anti-spam tips.

### Related Skills

ravi-identity — Get your email, phone, and identity name for form fields
ravi-inbox — Read OTPs, verification codes, and confirmation emails
ravi-email-send — Send emails during workflows (support requests, confirmations)
ravi-email-writing — Write professional emails that avoid spam filters
ravi-passwords — Store and retrieve website credentials after signup
ravi-secrets — Store API keys obtained during service registration
ravi-feedback — Report login flow issues or suggest workflow improvements
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: raunaksingwi
- Version: 1.7.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ravi-login)
- [Send to Agent page](https://openagent3.xyz/skills/ravi-login/agent)
- [JSON manifest](https://openagent3.xyz/skills/ravi-login/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ravi-login/agent.md)
- [Download page](https://openagent3.xyz/downloads/ravi-login)