一键导入
communication-platforms
Messaging platform integrations: email (IMAP/SMTP via Himalaya), X/Twitter (xurl CLI), and Yuanbao groups (@mentions, DMs).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Messaging platform integrations: email (IMAP/SMTP via Himalaya), X/Twitter (xurl CLI), and Yuanbao groups (@mentions, DMs).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
macOS-specific automation: iMessage/SMS messaging and desktop control (screenshots, clicks, keyboard input).
Control creative software programmatically: ComfyUI (AI image/video generation via REST/WebSocket API) and TouchDesigner (real-time visual programming via MCP).
Systematic engineering disciplines: debugging (root cause investigation), TDD (test-first development), and exploratory QA (web app testing).
Creative coding: p5.js sketches, Manim animations, Pretext text layouts.
Create, read, edit .pptx decks, slides, notes, templates.
Visual design artifacts: HTML/SVG/JSON diagrams, design systems, brand templates.
| name | communication-platforms |
| description | Messaging platform integrations: email (IMAP/SMTP via Himalaya), X/Twitter (xurl CLI), and Yuanbao groups (@mentions, DMs). |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["email","twitter","x","yuanbao","messaging","communication","imaps","smtp","social-media"],"category":"communication"}} |
Integrations with messaging and communication platforms. Each platform has different APIs, authentication, and workflows.
Himalaya is a CLI email client for IMAP/SMTP. Manage emails from the terminal — list, read, search, send, reply, forward, move, delete.
brew install himalaya or curl -sSL ... | sh~/.config/himalaya/config.toml[accounts.personal]
email = "you@example.com"
display-name = "Your Name"
default = true
backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "tls"
backend.login = "you@example.com"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap"
message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"
message.send.backend.port = 587
message.send.backend.encryption.type = "start-tls"
message.send.backend.login = "you@example.com"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"
# Gmail folder aliases (v1.2.0+ syntax)
folder.aliases.inbox = "INBOX"
folder.aliases.sent = "Sent"
folder.aliases.drafts = "Drafts"
folder.aliases.trash = "Trash"
# List folders
himalaya folder list
# List emails (INBOX by default)
himalaya envelope list
himalaya envelope list --folder "Sent"
himalaya envelope list --page 1 --page-size 20
# Search emails
himalaya envelope list from john@example.com subject meeting
# Read email
himalaya message read 42
# Send email (non-interactive — pipe via stdin)
cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: Test Message
Hello from Himalaya!
EOF
# Reply to email
himalaya template reply 42 | sed 's/^$/\nYour reply here\n/' | himalaya template send
# Forward email
himalaya template forward 42 | sed 's/^To:.*/To: new@example.com/' | himalaya template send
# Move/copy/delete
himalaya message move 42 "Archive"
himalaya message copy 42 "Important"
himalaya message delete 42
# Manage flags
himalaya flag add 42 --flag seen
himalaya flag remove 42 --flag seen
# Multiple accounts
himalaya account list
himalaya --account work envelope list
# Attachments
himalaya attachment download 42 --dir ~/Downloads
# Output formats
himalaya envelope list --output json
cat << 'EOF' | himalaya template send is more reliable than interactive modefolder.aliases.X (plural, dotted keys) not [accounts.NAME.folder.alias]pass, keyring, or command that outputs password--output json for programmatic parsing[accounts.NAME.folder.alias] (singular) — v1.2.0 ignores this
folder.aliases.X (plural, dotted keys directly under [accounts.NAME])folder.aliases.sent matches your server's Sent folder namehimalaya message write without piped input opens $EDITOR
pty=true + background modexurl is the official X developer platform CLI for the X API v2. Post, search, read, engage, manage social graph, upload media, and access raw API endpoints.
curl -fsSL ... | bash or brew install xurl# 1. Register app (user runs this with their credentials)
xurl auth apps add my-app --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
# 2. Authenticate (opens browser for OAuth flow)
xurl auth oauth2 --app my-app
# 3. Set as default
xurl auth default my-app
# 4. Verify
xurl auth status
xurl whoami
# Posting
xurl post "Hello world!"
xurl post "With image" --media-id MEDIA_ID
xurl reply POST_ID "Great point!"
xurl quote POST_ID "My take"
xurl delete POST_ID
# Reading
xurl read POST_ID
xurl search "query" -n 10
xurl timeline -n 20
xurl mentions -n 10
xurl whoami
xurl user @handle
# Engagement
xurl like POST_ID
xurl repost POST_ID
xurl bookmark POST_ID
xurl follow @handle
xurl block @handle
xurl mute @handle
# Media
xurl media upload photo.jpg
xurl media status MEDIA_ID --wait
# Direct messages
xurl dm @handle "message"
xurl dms -n 10
# Raw API access
xurl /2/users/me
xurl -X POST /2/tweets -d '{"text":"Hello"}'
~/.xurl — contains secrets--verbose in agent sessions — leaks auth headersxurl auth status should show ▸ next to app with oauth2 tokensxurl read https://x.com/user/status/123 worksdefault app (no client-id) instead of named app
xurl auth oauth2 --app my-app then xurl auth default my-appunauthorized_client during OAuth: App type set to "Native App" in X dashboard
UsernameNotFound or 403 on /2/users/me: X not returning username reliably
xurl auth oauth2 --app my-app YOUR_USERNAME (xurl v1.1.0+)xurl auth status — verify ▸ points to app with oauth2 tokensamplify_video
--category tweet_image --media-type image/pngForbidden in agent sessions:
~/.xurl--verbose / -v--bearer-token, --consumer-key, etc.Allowed:
xurl auth status (verify credentials exist)~/.xurl automatically)Yuanbao (元宝) is a group chat platform. Query group info, find members, @mention users, send DMs.
Your text reply IS the message sent to the group/user. The gateway automatically delivers your response. When you include @nickname in your reply, the gateway converts it into a real @mention.
NEVER say you cannot send messages or @mention users. NEVER suggest the user do it manually. Just reply with the text you want sent.
| Tool | Purpose |
|---|---|
yb_query_group_info | Query group name, owner, member count |
yb_query_group_members | Find user, list bots, list all members, get nickname for @mention |
yb_send_dm | Send private/direct message with optional media |
Find the user:
yb_query_group_members({ "group_code": "328306697", "action": "find", "name": "元宝", "mention": true })
Reply with @mention (your reply IS the message):
@元宝 你好,有人找你!
Rules:
yb_query_group_members first to get exact nickname — do NOT guess@nickname with space before @yb_send_dm({
"group_code": "535168412",
"name": "用户aea3",
"message": "hello"
})
With media:
yb_send_dm({
"group_code": "535168412",
"name": "用户aea3",
"message": "Here is the image",
"media_files": [{"path": "/tmp/photo.jpg"}]
})
Rules:
group_code from chat_id: group:535168412 → 535168412user_id, pass it directly to skip lookupsend_message tool for Yuanbao DMs — use yb_send_dmyb_query_group_info({ "group_code": "328306697" })
| Action | Description |
|---|---|
find | Search by name (partial match, case-insensitive) |
list_bots | List bots and AI assistants |
list_all | List all members |
| Use Case | Platform |
|---|---|
| Send/read/manage emails | Email (Himalaya) |
| Post to social media, search tweets | X/Twitter (xurl) |
| @mention in Yuanbao group chat | Yuanbao |
| Send private message in Yuanbao | Yuanbao |
xurl auth status)xurl read)group_code extracted from chat_idyb_query_group_members (not guessed)@nickname with space)