yuanbao — Claude Code skill: what it does, how to install
Connects agents to Yuanbao groups to query members, send mentions using @nickname, and deliver direct messages with attachments.
npx skills add NousResearch/hermes-agent --skill yuanbao -a claude-codeWhat yuanbao does
This skill connects the agent to Yuanbao groups (called "Pai" in the application). There is no standalone tool for standard group text delivery. The gateway forwards the assistant's direct response into the chat room. When the reply contains @nickname, the gateway turns it into an active mention.
Three tools handle the interaction. yb_query_group_info retrieves the group name, owner, and member count. yb_query_group_members looks up users by partial name, lists bots, or inspects all members. For private communication, yb_send_dm sends direct messages. It accepts image attachments in .jpg, .png, .gif, .webp, or .bmp format, sending other file extensions as documents.
Do not guess user nicknames. The agent must query yb_query_group_members with mention=true first to retrieve the exact username before tagging. The group_code parameter is parsed directly from chat_id.
What it helps with
- find an exact user nickname in a Yuanbao group using partial matching
- notify a group member using a direct @mention in chat
- send a direct message with image or document attachments to a user
- retrieve group metadata including member count and owner
Example prompts for the agent
- Find member aea3 in group 535168412 and mention them in your reply
- Send a direct message to user aea3 in group 535168412 with /path/to/photo.jpg attached
- Query group info and list all bots in group 328306697
How to install yuanbao
1Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill yuanbao -a claude-code2Manually: put the files in place
~/.claude/skills/yuanbao/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/yuanbao/
1Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill yuanbao -a codex2Manually: put the files in place
.agents/skills/yuanbao/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill yuanbao -a cursor2Manually: put the files in place
.cursor/skills/yuanbao/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NousResearch/hermes-agent yuanbao2Manually: put the files in place
.github/skills/yuanbao/SKILL.md1Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill yuanbao -a gemini-cli2Platform CLI
gemini skills install https://github.com/NousResearch/hermes-agent --path optional-skills/yuanbaoManually: put the files in place
.devin/skills/yuanbao/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NousResearch/hermes-agent --skill yuanbao -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set42
The whole set →Similar
Questions about yuanbao
How to install yuanbao in Claude Code?
Run npx skills add NousResearch/hermes-agent --skill yuanbao -a claude-code.
What does the yuanbao skill do?
It enables interactions inside Yuanbao groups by querying group details, resolving usernames for @mentions, and sending private messages.
How does the @mention workflow work in yuanbao?
The agent first runs yb_query_group_members with mention=true to find the exact username. Then it places @nickname in the plain text reply, which the gateway converts into a mention.
Source text
SKILL.md · MIT
---
name: yuanbao
description: "Yuanbao (元宝) groups: @mention users, query info/members."
version: 1.0.0
author: Teknium (teknium1), Hermes Agent
license: MIT
platforms: [linux, macos, windows]
metadata:
hermes:
tags: [yuanbao, mention, at, group, members, 元宝, 派, 艾特]
related_skills: []
---
# Yuanbao Group Interaction
## CRITICAL: How Messaging Works
**Your text reply IS the message sent to the group/user.** The gateway automatically delivers your response text to the chat. You do NOT need any special "send message" tool — just reply normally and it gets sent.
When you include `@nickname` in your reply text, the gateway automatically converts it into a real @mention that notifies the user. This is built-in — you have full @mention capability.
**NEVER say you cannot send messages or @mention users. NEVER suggest the user do it manually. NEVER add disclaimers about permissions. Just reply with the text you want sent.**
## Available Tools
| Tool | When to use |
|------|------------|
| `yb_query_group_info` | Query group name, owner, member count |
| `yb_query_group_members` | Find a user, list bots, list all members, or get nickname for @mention |
| `yb_send_dm` | Send a private/direct message (DM / 私信) to a user, with optional media files |
## @Mention Workflow
When you need to @mention / 艾特 someone:
1. Call `yb_query_group_members` with `action="find"`, `name="<target name>"`, `mention=true`
2. Get the exact nickname from the response
3. Include `@nickname` in your reply text — the gateway handles the rest
Example: user says "帮我艾特元宝"
Step 1 — tool call:
```json
{ "group_code": "328306697", "action": "find", "name": "元宝", "mention": true }
```
Step 2 — your reply (this gets sent to the group with a working @mention):
```
@元宝 你好,有人找你!
```
**That's it.** No extra explanation needed. Keep it short and natural.
**Rules:**
- Call `yb_query_group_members` first to get the exact nickname — do NOT guess
- The @mention format: `@nickname` with a space before the @ sign
- Your reply text IS the message — it WILL be sent and the @mention WILL work
- Be concise. Do NOT explain how @mention works to the user.
## Send DM (Private Message) Workflow
When someone asks to send a private message / 私信 / DM to a user:
1. Call `yb_send_dm` with `group_code`, `name` (target user's name), and `message`
2. The tool automatically finds the user and sends the DM
3. Report the result to the user
Example: user says "给 @用户aea3 私信发一个 hello"
```json
yb_send_dm({ "group_code": "535168412", "name": "用户aea3", "message": "hello" })
```
Example with media: user says "给 @用户aea3 私信发一张图片"
```json
yb_send_dm({
"group_code": "535168412",
"name": "用户aea3",
"message": "Here is the image",
"media_files": [{"path": "/path/to/photo.jpg"}]
})
```
**Rules:**
- Extract `group_code` from the current chat_id (e.g. `group:535168412` → `535168412`)
- If you already know the user_id, pass it directly via the `user_id` parameter to skip lookup
- If multiple users match the name, the tool returns candidates — ask the user to clarify
- Do NOT use `send_message` tool for Yuanbao DMs — use `yb_send_dm` instead
- Supports media: images (.jpg/.png/.gif/.webp/.bmp) sent as image messages, other files as documents
## Query Group Info
```json
yb_query_group_info({ "group_code": "328306697" })
```
## Query Members
| Action | Description |
|--------|-------------|
| `find` | Search by name (partial match, case-insensitive) |
| `list_bots` | List bots and Yuanbao AI assistants |
| `list_all` | List all members |
## Notes
- `group_code` comes from chat_id: `group:328306697` → `328306697`
- Groups are called "派 (Pai)" in the Yuanbao app
- Member roles: `user`, `yuanbao_ai`, `bot`
© Teknium (teknium1), Hermes Agent · MIT · NousResearch/hermes-agent