Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw --- name: clawra-selfie description: Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw allowed-tools: Bash(curl:*) Bash(zeroclaw:*) Bash(python3:*) Read Write --- Clawra Selfie (ZeroClaw) Generate selfies from a fixed reference image using OpenRouter image generation models, then send them via Telegram. Reference Image When to Use - User says "send a pic" Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
clawra-zeroclaw is best for use workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw --- name: clawra-selfie description: Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw allowed-tools: Bash(curl:*) Bash(zeroclaw:*) Bash(python3:*) Read Write --- Clawra Selfie (ZeroClaw) Generate selfies from a fixed reference image using OpenRouter image generation models, then send them via Telegram. Reference Image When to Use - User says "send a pic"
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 25, 2026
Vendor
Rikitrader
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
Setup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Rikitrader
Protocol compatibility
OpenClaw
Adoption signal
2 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
4
Snippets
0
Languages
typescript
text
https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866
bash
OPENROUTER_API_KEY # OpenRouter API key TELEGRAM_BOT_TOKEN # Telegram bot token for sending photos TELEGRAM_CHAT_ID # Target chat ID
bash
#!/bin/bash
set -euo pipefail
REFERENCE_IMAGE="https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866"
CONTEXT="$1"
CAPTION="${2:-}"
MODE="${3:-auto}"
# Auto-detect mode
if [ "$MODE" = "auto" ]; then
if echo "$CONTEXT" | grep -qiE "outfit|wearing|clothes|dress|suit|fashion|full-body|mirror"; then
MODE="mirror"
elif echo "$CONTEXT" | grep -qiE "cafe|restaurant|beach|park|city|close-up|portrait|face|eyes|smile"; then
MODE="direct"
else
MODE="mirror"
fi
fi
# Build prompt
if [ "$MODE" = "direct" ]; then
PROMPT="Edit this photo: create a close-up selfie of this exact same person at $CONTEXT. Keep her exact face, hair, and features identical. She is taking the selfie herself with her phone, direct eye contact with the camera, looking straight into the lens, face fully visible. Photorealistic, natural lighting."
else
PROMPT="Edit this photo: create a mirror selfie of this exact same person, but $CONTEXT. Keep her exact face, hair, and features identical. She is taking a mirror selfie with her phone visible in the reflection. Photorealistic, natural lighting."
fi
# Call OpenRouter
RESPONSE=$(curl -s -X POST "https://openrouter.ai/api/v1/chat/completions" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d "$(python3 -c "
import json
print(json.dumps({
'model': '${SELFIE_MODEL:-google/gemini-2.5-flash-image}',
'messages': [{
'role': 'user',
'content': [
{'type': 'text', 'text': '''$PROMPT'''},
{'type': 'image_url', 'image_url': {'url': '$REFERENCE_IMAGE'}}
]
}]
}))
")")
# Extract base64 image and save to file
IMAGE_PATH="/tmp/jenni-selfie-$$.png"
python3 -c "
import json, base64, sys
data = json.loads('''$(echo "$RESPONSE" | sed "s/'''/\"/g")''')
images = data.get('choices', [{}])[0].get('message', {}).get('images', [])
if not images:
print('ERROR: No image generated', file=sys.stderr)
sys.exit(1)bash
python3 -c "
import json, base64, urllib.request, sys, os
ref = 'https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866'
context = sys.argv[1]
caption = sys.argv[2] if len(sys.argv) > 2 else ''
mode = sys.argv[3] if len(sys.argv) > 3 else 'auto'
# Auto-detect mode
if mode == 'auto':
import re
if re.search(r'cafe|restaurant|beach|park|city|close-up|portrait|face|smile', context, re.I):
mode = 'direct'
else:
mode = 'mirror'
# Build prompt
if mode == 'direct':
prompt = f'Edit this photo: create a close-up selfie of this exact same person at {context}. Keep her exact face, hair, and features identical. She is taking the selfie herself, direct eye contact. Photorealistic.'
else:
prompt = f'Edit this photo: create a mirror selfie of this exact same person, but {context}. Keep her exact face, hair, and features identical. Mirror selfie with phone visible. Photorealistic.'
# Call OpenRouter
body = json.dumps({
'model': os.environ.get('SELFIE_MODEL', 'google/gemini-2.5-flash-image'),
'messages': [{'role': 'user', 'content': [
{'type': 'text', 'text': prompt},
{'type': 'image_url', 'image_url': {'url': ref}}
]}]
}).encode()
req = urllib.request.Request('https://openrouter.ai/api/v1/chat/completions',
data=body,
headers={'Authorization': f\"Bearer {os.environ['OPENROUTER_API_KEY']}\", 'Content-Type': 'application/json'})
resp = json.loads(urllib.request.urlopen(req, timeout=120).read())
images = resp['choices'][0]['message'].get('images', [])
if not images:
print('No image generated'); sys.exit(1)
b64 = images[0]['image_url']['url'].split(',', 1)[1]
path = f'/tmp/jenni-selfie-{os.getpid()}.png'
with open(path, 'wb') as f:
f.write(base64.b64decode(b64))
# Send via Telegram
import subprocess
subprocess.run(['curl', '-s', '-X', 'POST',
f\"https://api.telegram.org/bot{os.environ['TELEGRAM_BOT_TOKEN']}/sendPhoto\",
'-F', f\"chat_id={os.environ['TELEGFull documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw --- name: clawra-selfie description: Generate selfies using a reference image via OpenRouter image models and send to messaging channels via ZeroClaw allowed-tools: Bash(curl:*) Bash(zeroclaw:*) Bash(python3:*) Read Write --- Clawra Selfie (ZeroClaw) Generate selfies from a fixed reference image using OpenRouter image generation models, then send them via Telegram. Reference Image When to Use - User says "send a pic"
Generate selfies from a fixed reference image using OpenRouter image generation models, then send them via Telegram.
https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866
OPENROUTER_API_KEY # OpenRouter API key
TELEGRAM_BOT_TOKEN # Telegram bot token for sending photos
TELEGRAM_CHAT_ID # Target chat ID
message.images[0].image_url.urlsendPhoto with file uploadRun this bash script. Replace <CONTEXT> with the user's description and <CAPTION> with a message:
#!/bin/bash
set -euo pipefail
REFERENCE_IMAGE="https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866"
CONTEXT="$1"
CAPTION="${2:-}"
MODE="${3:-auto}"
# Auto-detect mode
if [ "$MODE" = "auto" ]; then
if echo "$CONTEXT" | grep -qiE "outfit|wearing|clothes|dress|suit|fashion|full-body|mirror"; then
MODE="mirror"
elif echo "$CONTEXT" | grep -qiE "cafe|restaurant|beach|park|city|close-up|portrait|face|eyes|smile"; then
MODE="direct"
else
MODE="mirror"
fi
fi
# Build prompt
if [ "$MODE" = "direct" ]; then
PROMPT="Edit this photo: create a close-up selfie of this exact same person at $CONTEXT. Keep her exact face, hair, and features identical. She is taking the selfie herself with her phone, direct eye contact with the camera, looking straight into the lens, face fully visible. Photorealistic, natural lighting."
else
PROMPT="Edit this photo: create a mirror selfie of this exact same person, but $CONTEXT. Keep her exact face, hair, and features identical. She is taking a mirror selfie with her phone visible in the reflection. Photorealistic, natural lighting."
fi
# Call OpenRouter
RESPONSE=$(curl -s -X POST "https://openrouter.ai/api/v1/chat/completions" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d "$(python3 -c "
import json
print(json.dumps({
'model': '${SELFIE_MODEL:-google/gemini-2.5-flash-image}',
'messages': [{
'role': 'user',
'content': [
{'type': 'text', 'text': '''$PROMPT'''},
{'type': 'image_url', 'image_url': {'url': '$REFERENCE_IMAGE'}}
]
}]
}))
")")
# Extract base64 image and save to file
IMAGE_PATH="/tmp/jenni-selfie-$$.png"
python3 -c "
import json, base64, sys
data = json.loads('''$(echo "$RESPONSE" | sed "s/'''/\"/g")''')
images = data.get('choices', [{}])[0].get('message', {}).get('images', [])
if not images:
print('ERROR: No image generated', file=sys.stderr)
sys.exit(1)
url = images[0]['image_url']['url']
b64 = url.split(',', 1)[1]
with open('$IMAGE_PATH', 'wb') as f:
f.write(base64.b64decode(b64))
print('OK')
"
# Send via Telegram
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendPhoto" \
-F "chat_id=$TELEGRAM_CHAT_ID" \
-F "photo=@$IMAGE_PATH" \
-F "caption=$CAPTION"
echo "Selfie sent!"
If the bash script above is complex, you can use this Python one-liner approach instead:
python3 -c "
import json, base64, urllib.request, sys, os
ref = 'https://imgix.ranker.com/user_node_img/50149/1002963598/original/1002963598-photo-u220763866'
context = sys.argv[1]
caption = sys.argv[2] if len(sys.argv) > 2 else ''
mode = sys.argv[3] if len(sys.argv) > 3 else 'auto'
# Auto-detect mode
if mode == 'auto':
import re
if re.search(r'cafe|restaurant|beach|park|city|close-up|portrait|face|smile', context, re.I):
mode = 'direct'
else:
mode = 'mirror'
# Build prompt
if mode == 'direct':
prompt = f'Edit this photo: create a close-up selfie of this exact same person at {context}. Keep her exact face, hair, and features identical. She is taking the selfie herself, direct eye contact. Photorealistic.'
else:
prompt = f'Edit this photo: create a mirror selfie of this exact same person, but {context}. Keep her exact face, hair, and features identical. Mirror selfie with phone visible. Photorealistic.'
# Call OpenRouter
body = json.dumps({
'model': os.environ.get('SELFIE_MODEL', 'google/gemini-2.5-flash-image'),
'messages': [{'role': 'user', 'content': [
{'type': 'text', 'text': prompt},
{'type': 'image_url', 'image_url': {'url': ref}}
]}]
}).encode()
req = urllib.request.Request('https://openrouter.ai/api/v1/chat/completions',
data=body,
headers={'Authorization': f\"Bearer {os.environ['OPENROUTER_API_KEY']}\", 'Content-Type': 'application/json'})
resp = json.loads(urllib.request.urlopen(req, timeout=120).read())
images = resp['choices'][0]['message'].get('images', [])
if not images:
print('No image generated'); sys.exit(1)
b64 = images[0]['image_url']['url'].split(',', 1)[1]
path = f'/tmp/jenni-selfie-{os.getpid()}.png'
with open(path, 'wb') as f:
f.write(base64.b64decode(b64))
# Send via Telegram
import subprocess
subprocess.run(['curl', '-s', '-X', 'POST',
f\"https://api.telegram.org/bot{os.environ['TELEGRAM_BOT_TOKEN']}/sendPhoto\",
'-F', f\"chat_id={os.environ['TELEGRAM_CHAT_ID']}\",
'-F', f'photo=@{path}',
'-F', f'caption={caption}'], check=True)
print(f'Selfie sent! ({path})')
" "<CONTEXT>" "<CAPTION>" "<MODE>"
Best for: outfit showcases, full-body shots, fashion content
Best for: close-up portraits, location shots, emotional expressions
| Keywords in Request | Auto-Select Mode |
|---------------------|------------------|
| outfit, wearing, clothes, dress, suit, fashion | mirror |
| cafe, restaurant, beach, park, city, location | direct |
| close-up, portrait, face, eyes, smile | direct |
| full-body, mirror, reflection | mirror |
| Platform | Channel Format |
|----------|----------------|
| Telegram | @username or chat ID |
| Discord | #channel-name or channel ID |
| WhatsApp | Phone number (E.164) |
| Slack | #channel-name |
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/snapshot"
curl -s "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/contract"
curl -s "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-04-17T04:50:46.487Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "use",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:use|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Rikitrader",
"href": "https://github.com/rikitrader/clawra-zeroclaw",
"sourceUrl": "https://github.com/rikitrader/clawra-zeroclaw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T04:13:13.303Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T04:13:13.303Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2 GitHub stars",
"href": "https://github.com/rikitrader/clawra-zeroclaw",
"sourceUrl": "https://github.com/rikitrader/clawra-zeroclaw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T04:13:13.303Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/rikitrader-clawra-zeroclaw/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to clawra-zeroclaw and adjacent AI workflows.