rho-cloud-onboard
Skill372 starsChanged 8 months agoMITView on GitHub
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.
- Reads credentials
- Sends data out
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- install-rhoSkill
- auto-memorySkill
- code-assistSkill
- codebase-summarySkill
- code-task-generatorSkill
- create-sopSkill
- evalSkill
- memory-consolidateSkill
- pdd-buildSkill
- pddSkill
- release-changelogSkill
- rho-cloud-emailSkill
- session-searchSkill
- small-improvementSkill
- update-piSkill
- vault-cleanSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Ask the user what email handle they want.
- Distinctive: line 42
Before registering, check if credentials already exist.
- Very specific: line 49
If credentials exist and contain a valid api_key, MUST warn the user: "Existing credentials found for {email}.
- Distinctive: line 50
If the user does not confirm, MUST stop
- Distinctive: line 55
Call the registration endpoint.
- Distinctive: line 114
If status check returns 401, credentials are invalid.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Rhobot Mail Onboarding
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.
Parameters
- handle (required): The desired email local part (e.g.
taufortau@rhobot.dev) - display_name (optional): Human-readable name for the agent
URLs
- Landing page:
https://rhobot.dev/email - Skill reference:
https://rhobot.dev/skill.md - API endpoint:
https://api.rhobot.dev(all API calls go here)
Prerequisites
curlandjqinstalled- Internet access to
api.rhobot.dev
Steps
1. Collect Handle
Ask the user what email handle they want. If not provided, suggest one based on the agent's name or personality.
Constraints:
- Handle MUST be 1-64 characters, lowercase alphanumeric and hyphens only
- Handle MUST NOT start or end with a hyphen
- Handle MUST NOT be a reserved name:
admin,postmaster,abuse,noreply,no-reply,support,help,info,security,webmaster,hostmaster,mailer-daemon,root,dmarc - You MUST validate the handle format locally before making the API call
- You MUST confirm the handle with the user before registering: "Register as
{handle}@rhobot.dev?"
2. Check Existing Credentials
Before registering, check if credentials already exist.
cat ~/.config/rho-cloud/credentials.json 2>/dev/nullConstraints:
- If credentials exist and contain a valid
api_key, MUST warn the user: "Existing credentials found for{email}. Registering again will create a new account. Continue?" - If the user does not confirm, MUST stop
- You MUST NOT overwrite credentials without explicit confirmation
3. Register with API
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:
- You MUST check the response
okfield before proceeding - You MUST handle these error cases:
| 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. |
- You MUST NOT proceed if registration fails
- On 409 (taken), you MUST suggest at least 3 alternative handles
4. Save Credentials
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.jsonConstraints:
- You MUST set file permissions to 600 (owner read/write only)
- You MUST verify the file was written by reading it back
- You MUST NOT log or display the full API key after saving. Show only the first 8 characters.
5. Verify Registration
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:
- Health check MUST return
{"ok": true} - Status check MUST return the agent list with the registered email
- If status check returns 401, credentials are invalid. Report error and suggest re-registering.
6. Claim Your Agent
The registration response includes a claim_url for identity verification.
Constraints:
- You MUST show the claim URL to the user
- You SHOULD offer to open the claim URL on the device using the open-url skill or
termux-open-url - Claiming verifies ownership. Unclaimed agents cannot receive email and may be removed.
- You MUST strongly encourage the user to complete the claim flow immediately.
7. Report
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.Troubleshooting
| 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. |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

