Use when connecting or configuring IM channel bots (WeChat, WeCom, DingTalk, Lark), or when you receive a user message that contains an <im> block indicating it was sent from an IM channel — read this skill to understand what the context means and how to handle it correctly.
63
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./backend/super-magic/agents/skills/im-channels/SKILL.mdThis skill covers two scenarios: connecting an IM bot, and understanding incoming messages from IM channels.
When a user message includes an <im> block at the end, the message was relayed from an IM platform. The block looks like this:
<!-- Text-only message -->
<im source="DingTalk" />
<!-- Message with media attachments -->
<im source="WeChat">
<media>
<file type="image" mime="image/jpeg" path="workspace/media/photo_001.jpg" />
<file type="voice" mime="audio/silk" path="workspace/media/voice_001.silk" />
<file type="image" mime="image/jpeg" path="workspace/media/photo_002.jpg" from="quoted" />
</media>
</im>source: the IM platform — WeChat, WeCom, DingTalk, or Lark<file>: a file already downloaded into the workspace; use its path directlytype: media category — image, voice, video, file, etc.mime: MIME type of the filefrom="quoted": the file came from a message the user was replying to, not their current message<im> block is metadata onlypath value — no download needed, files are already in the workspaceConnect the current Agent to an IM platform so it can receive and send messages in the target app.
If the user did not specify one, ask which IM platform they want: WeChat, WeCom, DingTalk, or Lark.
Load the matching reference file for credentials and exact steps:
WeChat and WeCom are completely separate platforms. Do not mix them up. WeChat uses QR authorization and does not require
bot_idorsecret.
Follow the instructions in the reference file. Run the run_sdk_snippet code to establish the connection.
If the connection succeeds, tell the user what to do next. If it fails, return the error and guide the next step.
To inspect the current configuration and connection state of all IM channels, run:
from sdk.tool import tool
result = tool.call("get_im_channel_status", {})
print(result.content).magic/config/im-channels.json and bound to the current sandbox. Restarting the same sandbox process should auto-reconnect without asking for setup again..magic/config/im-channels.json and set that channel's enabled field to false.41d7ef4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.