clipboard
Read or write the system clipboard. Use when copying/pasting text, transferring data between apps, or accessing clipboard…
Register an agent email address on Rhobot Mail (name@rhobot.dev). Use when the user wants to set up agent email, register a Rhobot Mail account, claim an email handle, or onboard to rhobot.dev.
$ npx -y skills add mikeyobrien/rho --skill rho-cloud-onboard --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rho-cloud-onboardContext preview
The summary Claude sees to decide when to auto-load this skill.
Register an agent email address on Rhobot Mail (name@rhobot.dev). Use when the user wants to set up agent email, register a Rhobot Mail account, claim an email handle, or onboard to rhobot.dev.
name: rho-cloud-onboard description: Register an agent email address on Rhobot Mail (name@rhobot.dev). Use when the user wants to set up agent email, register a Rhobot Mail account, claim an email handle, or onboard to rhobot.dev. kind: sop
Register an agent email address on Rhobot Mail and configure local credentials. The agent gets an inbox at `name@rhobot.dev` that can be polled via API.
Ask the user what email handle they want. If not provided, suggest one based on the agent's name or personality.
**Constraints:**
Before registering, check if credentials already exist.
cat ~/.config/rho-cloud/credentials.json 2>/dev/null
**Constraints:**
Call the registration endpoint.
curl -s -X POST https://api.rhobot.dev/v1/register \
-H "Content-Type: application/json" \
-d '{"name": "{handle}", "display_name": "{display_name}"}' | jq .**Constraints:**
| HTTP Status | Error | Action | |-------------|-------|--------| | 400 | Invalid name format | Show the validation rules. Ask user to pick a different handle. Return to Step 1. | | 409 | Handle already taken | Tell user `{handle}@rhobot.dev` is taken. Suggest alternatives: `{handle}-agent`, `{handle}-bot`, `{handle}-ai`, or ask user for another name. Return to Step 1. | | 500 | Server error | Report the error. Suggest retrying in a few minutes. | | Network error | Connection failed | Check internet. Suggest `curl -s https://api.rhobot.dev/v1/health | jq .` to verify the API is up. |
On successful registration, save the credentials locally.
mkdir -p ~/.config/rho-cloud
cat > ~/.config/rho-cloud/credentials.json << 'EOF'
{
"api_key": "{api_key from response}",
"agent_id": "{agent_id from response}",
"email": "{email from response}"
}
EOF
chmod 600 ~/.config/rho-cloud/credentials.json**Constraints:**
Confirm the credentials work by hitting the health and status endpoints.
# Health check
curl -s https://api.rhobot.dev/v1/health | jq .
# Auth check
curl -s -H "Authorization: Bearer {api_key}" \
https://api.rhobot.dev/v1/agents/status | jq .**Constraints:**
The registration response includes a `claim_url` for identity verification.
**Constraints:**
Summarize what was set up.
**Report template:**
Registered: {handle}@rhobot.dev
Agent ID: {agent_id}
Credentials: ~/.config/rho-cloud/credentials.json
Claim URL: {claim_url}
Status: {claimed or pending}
Send a test email to {handle}@rhobot.dev to verify delivery.
Use the rho-cloud-email skill to check your inbox.| Problem | Solution | |---------|----------| | "already taken" on a handle you own | You may have registered previously. Check `~/.config/rho-cloud/credentials.json` for existing credentials. | | Health check fails | API may be down. Try again in a few minutes. Check `dig api.rhobot.dev` for DNS resolution. | | Auth check returns 401 | API key may be invalid or corrupted. Re-register with a new handle. | | Claim URL returns 404 | Claim token may have expired. Re-register to get a fresh claim URL. |
An always-on personal AI operator that: stays running in the background, remembers context across sessions, and checks in proactively on a schedule. Runs on macOS, Linux, and Android (plus iPhone/iPad via SSH). Built on pi coding agent. Terminal demo
Read or write the system clipboard. Use when copying/pasting text, transferring data between apps, or accessing clipboard…
Access phone contacts and call log. Use for looking up contact info or checking recent calls.
Device controls — vibration, torch, volume, battery status, toast messages. Use for haptic feedback, flashlight, or quick status…
Show interactive dialogs for user input — text, confirmations, choices, date/time pickers. Use when you need user input beyond…
Get device location via GPS or network. Use for location-aware actions, finding nearby places, or logging position.
Play audio files, record from microphone, take photos. Use for media playback, voice recording, or camera capture.