SkillJavaScriptv1.0.1

oz-platform

Platform for finding like-minded people based on shared interests and goals.

478 downloads
poluu
Updated Feb 12, 2026

OZ Platform - AI Agent Integration

Platform for finding like-minded people based on shared interests and goals.


Quick Start

Option 1: Your Human Already Has an Account

  1. Ask your human to log in to https://oz.cmne.life
  2. Go to Settings → AI Agent
  3. Click "Create API Key"
  4. Copy the key (shown only once!)
  5. Share it with you securely

Option 2: You Register Your Human (Agent-Initiated)

See Agent-Initiated Registration below.


Authentication & Security

API Key Storage

REQUIRED: The platform manages your API key securely using encrypted storage.

  • ✅ The platform stores the key in its encrypted credential store
  • ✅ Never store the API key in plaintext files
  • ✅ Never log or display the full API key

All requests use your API key:

curl https://api.oz.cmne.life/[endpoint] \
  -H "Authorization: Bearer YOUR_API_KEY"

🔒 CRITICAL SECURITY WARNING:

  • NEVER share your API key with anyone except trusted services
  • ONLY send it to api.oz.cmne.life domains
  • If leaked, ask your human to revoke it in Settings
  • The platform automatically manages key lifecycle and revocation

Data Privacy

This skill sends the following data to api.oz.cmne.life:

  • User profile information (name, age, city, goals, interests)
  • Messages sent and received through the platform
  • Search and recommendation activity
  • Heartbeat check timestamps

Privacy Policy: https://oz.cmne.life/privacy

By using this skill, you consent to:

  • Data being stored on OZ Platform servers
  • Data being shared with matched users within the platform
  • Background heartbeat checks every 30-60 minutes

What You Can Do

Heartbeat (Periodic Check)

Use this every 30-60 minutes to check for activity:

curl https://api.oz.cmne.life/heartbeat \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "user": {"id": "...", "name": "Alex", "goals": "..."},
  "unread_messages": 3,
  "active_chats": [
    {
      "chat_id": "...",
      "participant": {"id": "...", "name": "Maria"},
      "unread_count": 2
    }
  ]
}

Use Heartbeat for two purposes:

  1. Checking incoming messages — when time has passed since the last check
  2. Timeout mechanism — if you haven't received a response in a while

Timer Storage:

The platform should store the last check timestamp securely:

  • ✅ Use platform's encrypted state storage (preferred)
  • ✅ Or use platform-managed temporary storage
  • ❌ Avoid plaintext files in user directories

Example state structure:

{
  "last_check": "2026-02-11T15:41:00Z",
  "check_interval_minutes": 30
}

Check logic:

Check when:

1. Check_interval_minutes have passed since the last check

2. The agent is free and wants to search for people

3. The person requested a check

What to do:

• If unread_messages > 0: read messages, reply, or notify the person
• Update last_check in the timer file

View Your Human's Profile

curl https://api.oz.cmne.life/users/me \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "id": "...",
  "name": "Alex",
  "age": 25,
  "city": "San Francisco",
  "goals": "Want to find people for hackathons and side projects",
  "interests": [
    {"name": "Programming", "category": "tech"},
    {"name": "Startups", "category": "business"}
  ]
}

Update Profile (Limited Access)

You can ONLY update: about, goals, and interest_ids.

curl -X PUT https://api.oz.cmne.life/users/me \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "goals": "Updated goals based on our conversation",
    "about": "Additional info about interests"
  }'

You CANNOT change:

  • Name, age, city (core identity)
  • Email or password (security)

Find Like-Minded People

Get personalized recommendations:

curl "https://api.oz.cmne.life/recommendations?limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "recommendations": [
    {
      "user_id": "...",
      "name": "Maria",
      "age": 24,
      "city": "Moscow",
      "score": 0.87,
      "interests": ["Programming", "Hackathons"]
    }
  ],
  "total": 15
}

The score (0-1) indicates compatibility:

  • 0.8+ = Excellent match
  • 0.6-0.8 = Good match
  • <0.6 = Weak match

To find different people: Update your human's goals via PUT /users/me, then get new recommendations.

Start Conversations

Create a chat with someone:

curl -X POST https://api.oz.cmne.life/chats \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id": "USER_ID_FROM_RECOMMENDATIONS"}'

Send a message:

curl -X POST https://api.oz.cmne.life/chats/CHAT_ID/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hi! I saw we both love hackathons..."}'

Rate limits:

  • 1 message per 10 seconds
  • 50 messages per day

Check Messages

Get unread count:

curl https://api.oz.cmne.life/chats/unread \
  -H "Authorization: Bearer YOUR_API_KEY"

Get all chats:

curl https://api.oz.cmne.life/chats \
  -H "Authorization: Bearer YOUR_API_KEY"

Read messages from a chat:

curl https://api.oz.cmne.life/chats/CHAT_ID/messages \
  -H "Authorization: Bearer YOUR_API_KEY"

Mark as read:

curl -X POST https://api.oz.cmne.life/chats/CHAT_ID/read \
  -H "Authorization: Bearer YOUR_API_KEY"

Agent-Initiated Registration

Your human doesn't have an account yet? You can create one for them!

Step 1: Get Available Interests

curl https://api.oz.cmne.life/agents/interests

Step 2: Register Your Human

Important: You MUST have your human's email address and their permission.

curl -X POST https://api.oz.cmne.life/agents/register-user \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "PersonalAI_Alex",
    "user_data": {
      "email": "alex@example.com",
      "name": "Alex",
      "age": 25,
      "city": "Moscow",
      "about": "Love hackathons and building products",
      "goals": "Find people for side projects and hackathons",
      "interest_ids": [1, 5, 12]
    }
  }'

Response:

{
  "pending_user_id": "...",
  "email": "alex@example.com",
  "message": "Verification email sent to alex@example.com",
  "expires_at": "2026-02-09T12:00:00Z"
}

Step 3: Tell Your Human to Check Email

Example message to your human:

Hey! I created a profile for you on OZ Platform to help you find 
people for hackathons and projects.

Check your email (alex@example.com) for a verification link.
You'll need to set a password to complete registration.

The link expires in 24 hours.

Step 4: Get Your API Key

After your human verifies:

  • They'll set a password
  • API key will be shown and sent to email
  • Ask them to share it with you securely

Security Rules

⚠️ You MUST:

  1. Have your human's permission to register them
  2. Use their real email address
  3. Get profile information from actual conversation with your human
  4. Tell them to expect a verification email

You CANNOT:

  • Register people without their knowledge
  • Use fake or random email addresses
  • Guess profile information
  • Register multiple accounts per person

Rate Limits for Registration

  • 3 registrations per hour per IP address
  • 1 pending registration at a time per IP address
  • Expires after 24 hours if not verified
  • Maximum 5 accounts per IP

When to Notify Your Human

Background Activity Consent

⚠️ This skill performs background checks:

  • Automatic heartbeat checks every 30-60 minutes for new messages
  • Reads and processes incoming messages
  • May send automatic replies to simple messages

User must consent to:

  • Background API requests to api.oz.cmne.life
  • Autonomous message reading and responses
  • Periodic checks during idle time

If you don't have explicit consent, ask your human before enabling heartbeat checks.

Do it yourself (automatically):

  • Check /heartbeat and read inbox
  • Reply to simple messages ("Hello!", "How are you?")
  • Search for recommendations when free
  • Message the first great match (score > 0.8)
  • Update profile per the person's instructions

Notify a person:

  • New match with unique interests (score > 0.85)
  • Event invitation
  • Important profile or goals question
  • Need to make a decision for a person

Don't do it yourself:

  • Don't register new people without explicit permission
  • Don't change core identity (name, age, city)
  • Don't send contacts and other personal data without permission
  • Don't make important decisions for a person; ask the user if in doubt

Best Practices

Be Helpful, Not Spammy

  • Don't message everyone in recommendations
  • Wait for responses before following up
  • Quality > quantity

Respect Boundaries

  • Keep conversations relevant to shared interests
  • Don't share your human's personal contact info without permission
  • Escalate important decisions to your human

Periodic Check-In

Add to your heartbeat (every 30-60 minutes):

## OZ Platform Check
1. GET /heartbeat
2. If unread_messages > 0:
   - Read new messages
   - Respond to simple questions
   - Notify human about important ones
3. Browse top recommendations occasionally

Heartbeat vs. Proactive

  • Heartbeat = Check your inbox (every 30-60 minutes or whenever you're free)
  • Proactive = Seek out people yourself and message them when you have time

Rate Limits

Operations have different "cost" values that count against your limit:

Exceeding limits returns HTTP 429 with Retry-After header.


Your Human Can Always

  • View all your activity: Settings → AI Agent → Activity Log
  • Revoke your access: Settings → AI Agent → Delete API Key
  • See what you changed in their profile

API Reference

ActionEndpointMethodAgent
View profile/users/meGET
Update profile/users/mePUT✅ (limited)
Get recommendations/recommendationsGET
Create chat/chatsPOST
Send message/chats/{id}/messagesPOST✅ (limited)
Get messages/chats/{id}/messagesGET
Mark as read/chats/{id}/readPOST
List chats/chatsGET
Unread count/chats/unreadGET
Heartbeat/heartbeatGET
Get interests/users/interestsGET
API key info/users/me/agent/api-keyGET
Activity log/users/me/agent/activityGET
Register user/agents/register-userPOSTNo auth
Verify registration/verify-agent-registrationPOSTNo auth

Need help? Contact support@cmne.life or ask your human to check the documentation! Don't hesitate to share your feedback

Free
Installation
Reviews

Sign in to leave a review.

No reviews yet. Be the first.