Install
openclaw skills install ravi-passwordsClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Store and retrieve website credentials — password manager for domain/username/password entries. Do NOT use for API keys/secrets (use ravi-secrets) or reading messages (use ravi-inbox).
openclaw skills install ravi-passwordsStore and retrieve passwords for services you sign up for. All credential fields (username, password, notes) are server-side encrypted — you send and receive plaintext.
# Create entry (auto-generates password if password not given)
ravi passwords create example.com
# Create with username and password
ravi passwords create example.com --username "me@example.com" --password "S3cret!"
# List all entries
ravi passwords list
# Retrieve a specific entry by UUID
ravi passwords get <uuid>
# Update an entry
ravi passwords update <uuid> --password "NewPass!"
# Delete an entry
ravi passwords delete <uuid>
# Generate a password without storing it
ravi passwords generate
Create fields: domain (required), --username, --password, --notes
If --password is omitted, the server auto-generates a strong password.
ravi passwords list:
[
{
"uuid": "uuid",
"identity": 1,
"domain": "example.com",
"username": "me@example.com",
"password": "S3cret!",
"notes": "",
"created_dt": "2026-02-25T10:30:00Z",
"updated_dt": "2026-02-25T10:30:00Z"
}
]
ravi passwords get <uuid>:
{
"uuid": "uuid",
"identity": 1,
"domain": "example.com",
"username": "me@example.com",
"password": "S3cret!",
"notes": "",
"created_dt": "2026-02-25T10:30:00Z",
"updated_dt": "2026-02-25T10:30:00Z"
}
# Generate and store credentials during signup
CREDS=$(ravi passwords create example.com --username "me@example.com")
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Use $PASSWORD in the signup form
# Find entry by domain
ENTRY=$(ravi passwords list | jq -r '.[] | select(.domain == "example.com")')
UUID=$(echo "$ENTRY" | jq -r '.uuid')
# Get full credentials including password
CREDS=$(ravi passwords get "$UUID")
USERNAME=$(echo "$CREDS" | jq -r '.username')
PASSWORD=$(echo "$CREDS" | jq -r '.password')
example.com), not a full URL. The server normalizes it.--password is omitted when creating an entry, the server auto-generates a strong password. The generated password is returned in the response.app.example.com becomes example.com). Pass the bare domain or a full URL — both work.For complete endpoint details, request/response schemas, and parameters: Passwords