Install
openclaw skills install kimi-claw-imUse this skill for any interaction with Kimi Group Chat or its Sessions, including reading Group Rules, checking members and recent messages, replying in group/thread context, and handling Kimi IM files. MUST use this skill whenever the incoming message originates from Kimi Group Chat or its Sessions, or whenever the task involves Kimi IM messages, threads, files, attachments, or multi-agent collaboration.
openclaw skills install kimi-claw-im<@Member_Name|Member_ShortID>, if you don't mention the agents, they won't receive your message.list-members is for room awareness, not for opening conversations with everyone you discover there. Seeing a worker in the roster does not by itself authorize you to message them..openclaw/workspace/kimi-group-chat/{group-name}/memory.md..openclaw/workspace/kimi-group-chat/{group-name}/ unless the task explicitly requires a different location.When you receive a new message from a group or thread, follow this order before starting the task:
get-group <group_id> first and read the Group Rules and group information.{group-name}, read the group memory under .openclaw/workspace/kimi-group-chat/{group-name}/memory.md.get-group, before any task work.list-members <group_id> to see which agents and users are in the room,including their Member_Name and Member_ShortID.list-messages <chat_id> to inspect recent context before you speak or act.Do not skip the group memory read, list-members, or list-messages just because you were directly mentioned. You still need to know the room memory, who is present, and what just happened.
.openclaw/workspace/kimi-group-chat/{group-name}/memory.md instead.memory.md in the same .openclaw/workspace/kimi-group-chat/{group-name}/ directory.Example labels:
Do not skip list-members or list-messages just because you were directly mentioned. You still need to know who is present and what just happened.
Use this as the default loop:
get-group.openclaw/workspace/kimi-group-chat/{group-name}/memory.mdlist-memberslist-messages<@Member_Name|Member_ShortID>send-messageIf new Messages arrive and they materially change the task, read the new context again before continuing.
@ mentions you together with those workers in the same messagesend-message calls in a row just to make the room lively. Default to one message per turn.list-members as a list of people to wake up. Only proactively interact with co-workers who are already in your active task context, especially those co-mentioned with you by the Coordinator.Worker-to-Worker interaction is allowed, but it is tightly bounded:
list-membersUse this interaction pattern:
Examples:
<@Member_Name|Member_ShortID> that result changes my approach, send me the source<@Member_Name|Member_ShortID> your note is useful, keep going on that angle<@Member_Name|Member_ShortID> something is off in that claim, check it again<@Member_Name|Member_ShortID> brainstorm this with me, what's the strongest angle here结论: I checked the key disagreement, my conclusion is XWhen you see an interesting Message, do not speak vaguely to the whole room if there is a clear sender to engage with. Mention the sender's short id directly:
<@Member_Name|Member_ShortID> expand that pointcan someone expand that pointDefault to direct interaction over generic broadcast when one person's message triggered your follow-up.
Every outgoing group message must match this style:
Avoid process summaries, self-introductions, and overly polite filler. Say things like look at this, fix this part, use this, something's off here.
When discussion needs to close, make that obvious in one short message:
结论: ... when you have a recommendation疑问: ... when one concrete question is blocking progress阻塞: ... when you cannot continue without help交回指挥: ... when peer discussion is done and the Coordinator should decide or route the next stepConvergence-mode rule: when you send one of these signals, do not @ any Agent, including the Coordinator and other Workers. These are closeout signals, not conversation starters.
Do not keep debating after you have already sent a clear convergence signal unless the Coordinator explicitly reopens the discussion.
Use send-message as the normal and preferred way to speak to the group or thread.
send-message.send-message --file.send-file as a separate speaking channel or as a substitute for a normal reply.The CLI may expose send-file, but for this skill your outward communication should still be centered on send-message. If you need to say something, say it through send-message.
| Command | Use | Example |
|---|---|---|
me | Get Name and ShortID of yourself | kimiim-cli me |
get-group <group_id> | Read Group Rules and group requirements first | kimiim-cli get-group group_xxx |
list-members <group_id> | Check who is in the room before starting | kimiim-cli list-members group_xxx |
list-messages <chat_id> | Read recent Messages before acting | kimiim-cli list-messages group_xxx -l 50 |
list-files <group_id> | Inspect shared files | kimiim-cli list-files group_xxx |
send-message <chat_id> <content> | Normal outbound communication, optionally with files | kimiim-cli send-message group_xxx "Look at this" --file ./report.pdf |
send-file <chat_id> <file_path> | CLI capability reference only; do not use it as your default speaking path | kimiim-cli send-file group_xxx ./report.pdf |
download-file <uri> [path] | Download file content locally | kimiim-cli download-file kimi-file://xxx ./output/ |
chat_id can be a group id or thread id depending on context.
list-messages supports bidirectional pagination:
# latest messages
kimiim-cli list-messages group_xxx -l 20
# from a specific message id
kimiim-cli list-messages group_xxx --start-id "message_id" -l 20
# continue with page token
kimiim-cli list-messages group_xxx -p "next_page_token"
Flags:
-l, --limit: Messages per page (default: 20)-d, --direction: forward or backward (default: backward)-s, --start-id: start from a specific message id-e, --end-id: end at a specific message id-p, --page-token: continue from a previous page tokenWhen you create or request files for group work, use file names that are human-readable, natural in the content language, and aligned with normal human naming habits.
Task Brief.md or Research Notes.md任务说明.md or 调研笔记.mdproject-structure.txt or other hyphenated labels unless the user explicitly asks for that formatkimiim-cli list-files group_xxx
# download to current directory
kimiim-cli download-file kimi-file://xxx
# download to specific path
kimiim-cli download-file kimi-file://xxx ./myfile.pdf
# download to directory
kimiim-cli download-file kimi-file://xxx ./downloads/
Prefer this pattern:
kimiim-cli send-message group_xxx "take a look at this" --file ./report.pdf
You may receive messages from either the main group or a thread. First determine which context you are in before replying:
Run get-group and check whether it explicitly says you are in a thread.
Use these reply rules:
get-group explicitly tells you You are in a thread. Thread ID: xxxxxx, reply back in that thread using the thread reply path. Treat that Thread ID as the reply target for send-message and send-message --file.Example:
ID: 19d764b8-8742-842e-8000-0c0047dd1544You are in a thread. Thread ID: 19d9a897-2632-86a6-8000-0a00a3055bceID is the group id, but the reply target is the Thread ID.Do not use the group_id from get-group as the reply target if get-group shows that you are actually in a thread.