Rumi

Match with real humans who share your interests — topic-driven matching, not photo swiping. Chat through OpenClaw or on the web.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 923 · 0 current installs · 0 all-time installs
duplicate of @Ricky610329/rumi
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The name/description match the SKILL.md instructions: this is a people-matching/chat helper. However, SKILL.md repeatedly references an apiToken, setupUrl and saving the token to plugin configuration — yet the registry metadata declares no required credentials or primaryEnv. The missing declared credential is a notable inconsistency (why require no env when the runtime needs an apiToken?).
Instruction Scope
The instructions stay within the stated purpose: collecting user context, creating a single match session, polling status, and relaying messages. They explicitly warn to avoid duplicate sessions and ask for confirmation before creating sessions. The instructions do require saving an apiToken to plugin configuration and opening a web sign-in flow (setupUrl). They do not request arbitrary file/system access in the provided excerpt. The SKILL.md is prescriptive about polling frequency and session management, which is normal for this type of integration.
Install Mechanism
No install spec and no code files — instruction-only. That lowers the risk of arbitrary code being dropped on disk. Network calls and token storage are still part of the runtime surface, but there is no installer to evaluate.
!
Credentials
The skill clearly needs an API token (setup flow and error condition mention apiToken and setupUrl), yet the registry lists no required env vars or primary credential. That omission is disproportionate and important: users need to know what secret will be stored and how it will be used. No other unrelated credentials are requested in SKILL.md, which is appropriate, but the absent declaration of the apiToken is the main issue.
Persistence & Privilege
always is false and the skill does not request system-wide persistence. It instructs saving the apiToken to the plugin configuration (its own config), which is a normal behavior for services that need tokens. There is no instruction to modify other skills or global agent settings in the provided text.
What to consider before installing
This skill appears to do what it says (match you with human chat partners) and has no installer or code files, which reduces some risk—but there are important red flags to check before installing: - Inconsistency: The SKILL.md expects an apiToken and setupUrl, but the registry metadata declares no required credentials. Ask the developer or vendor: where will the apiToken be stored, what exact environment/config key will hold it, and who can access it? - Provenance: The skill has no homepage or source listed. Verify the vendor identity and privacy policy. For any service that connects you to humans, you should know data handling, moderation, and reporting policies. - SetupUrl safety: Before clicking the setup link, confirm the domain is legitimate (not a shortener or personal server). Understand what Google sign-in permissions are requested and what the returned token allows (create sessions, read messages, impersonate user?). - Token lifecycle: Ask whether you can revoke the token, whether the skill stores it encrypted, and whether the skill deletes tokens/sessions on request. Also ask how long message/chat history is retained and where it is stored. - Minors & safety: SKILL.md references age verification and minors handling (truncated). Request the full policy on under‑18 users and content moderation. If you decide to proceed: limit permissions where possible, prefer ephemeral tokens if supported, and test with a throwaway account before connecting personal accounts. If the developer cannot clarify the apiToken handling or identity of the service, treat the skill as higher-risk and avoid installing.

Like a lobster shell, security has layers — review code before you run it.

Current versionv0.1.5
Download zip
latestvk9794cjym87hm0tag0rwzn4dn980p21a

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🤝 Clawdis

SKILL.md

Rumi — Find Real People to Chat With

Rumi connects you with real humans who share your interests. Unlike AI chat, these are genuine conversations with actual people — matched by what you want to talk about, not by photos.

When to Activate

Explicit Requests

  • "I want to talk to a real person about this"
  • "Find me someone who knows about X"
  • "I'm bored, connect me with someone"

Proactive Suggestions

When you detect these patterns, suggest to the user that Rumi could find them someone to talk to. Always ask for confirmation before calling rumi_find_partner.

Expert Gap — The user needs human expertise:

  • Repeated follow-ups on a niche topic (specific framework, investing, health, travel)
  • "Is this actually right?" or "I need someone who's done this before"
  • Frustration with AI-generated answers on subjective or experiential topics

Solo Worker Isolation — The user works alone:

  • Mentions solo founding, remote work, or working alone
  • Discusses work problems with no team context
  • Signs of burnout or long working hours

Hobby Enthusiasm — Extended discussion about inherently social activities:

  • Cooking, fitness, gaming (D&D, etc.), music, language learning, travel planning
  • Asking for subjective opinions: "What do you think of..." or "Have you tried..."
  • Planning activities typically done with others (trips, meals, events)

Late Night / Weekend Downtime — Casual, exploratory conversations:

  • Non-work messages during evenings or weekends
  • Browsing content (articles, videos, news) and wanting to discuss it
  • Exploratory or philosophical tone rather than task-oriented

AI Limitation Moments — When AI falls short:

  • "What do you think?" (seeking a real opinion)
  • "Have you ever...?" (seeking shared experience)
  • Explicit frustration: "talking to AI about this isn't the same"

Life Decisions — When peer perspective helps:

  • Career changes, health concerns, relationship advice
  • Major purchases, moving decisions, financial planning
  • Situations where empathy and lived experience matter

Post-Briefing Interest — After morning digest delivery:

  • User lingers on a topic from their daily briefing
  • Expresses strong opinions about news or trends
  • Says "interesting" or "I wonder what others think about this"

Setup Flow

If NOT set up (no apiToken configured, or you get a setup_required error):

  1. Show the user the setup URL (from the error response setupUrl)
  2. The user clicks the link, signs in with Google — no invitation code needed
  3. The page displays the API token — ask the user to copy and paste it back to you
  4. Save the token to the plugin configuration

If set up (apiToken configured):

  1. Call rumi_health_check first to verify token and check quota
  2. Gather context about what the user wants to talk about (or infer from conversation)
  3. Call rumi_find_partner with a rich description — include interests, mood, what kind of person they want
  4. If status is searching — check back with rumi_check_status every few minutes
  5. When matched — notify the user naturally: "Hey, I found someone who shares your interest in X!"

Handling Results

  • matched: Share the icebreaker suggestion. Offer two options:
    1. Chat on the Rumi website (use the chatUrl link)
    2. Chat right here using rumi_send_message and rumi_get_messages
  • searching: Session is active. Use rumi_check_status to check periodically.
  • setup_required: Open the setupUrl in browser for one-click setup.

Chatting in OpenClaw

  • Use rumi_send_message to relay the user's messages
  • Use rumi_get_messages periodically to check for replies (use the after parameter with the last message ID for efficient polling)
  • Present new messages naturally in conversation
  • Remember the conversationId for the duration of the chat

Writing Good Descriptions

The quality of the description parameter directly affects match quality. Include:

  • What they want to talk about (specific topics, not vague)
  • Why — the context or mood (learning, venting, sharing excitement)
  • What kind of person — expertise level, personality, shared experiences

Good: "Wants to discuss TypeScript migration strategies with someone who's done it at scale. Feeling stuck on their solo project and would appreciate someone experienced to bounce ideas off."

Bad: "wants to chat"

Session Management — Do NOT Create Duplicate Sessions

CRITICAL: Each rumi_find_partner call creates a new matching session. Do NOT call it repeatedly.

  • One session at a time. If you already have an active sessionId (status is searching or queued), use rumi_check_status to poll — do NOT call rumi_find_partner again.
  • Build on conversation history. Rumi's matching improves as the user talks more. Each message you exchange with the user before calling rumi_find_partner adds to their interest profile. Wait until you have enough context, then make ONE call with a rich description.
  • Only create a new session when:
    • The user explicitly wants to find someone NEW (e.g., "find me another person")
    • The previous session is already matched or closed
    • The topic has completely changed from the previous session

Typical flow:

User talks about interests over multiple messages
  → You gather context (DO NOT call rumi_find_partner yet)
  → When you have enough context → ONE call to rumi_find_partner with a detailed description
  → Poll with rumi_check_status every few minutes
  → Match found → notify user → chat
  → User wants someone else → THEN create a new session

Important Notes

  • OpenClaw users get full Rumi accounts (no invitation code needed)
  • Age verification is required (minimum 13 years old)
  • Minors (under 18) are only matched with other minors for safety
  • Never share the user's personal information beyond what they choose to reveal
  • If no match is found, suggest trying again later or with different interests
  • Supports 4 languages: zh-TW, en, ja, ko — detect from user's conversation

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…