Agent Skills0xranx/golembot › im-adapter

im-adapter

GitHub

规范即时通讯平台(如Lark、钉钉等)的回复策略,涵盖长度控制、Markdown格式、语气调整及群聊记忆机制。支持通过标记发送媒体文件,旨在提升IM交互体验与一致性。

skills/im-adapter/SKILL.md 0xranx/golembot

Trigger Scenarios

通过即时通讯工具回复用户 在群聊中参与讨论或更新上下文 需要适配特定IM平台的输出格式

Install

npx skills add 0xranx/golembot --skill im-adapter -g -y
More Options

Use without installing

npx skills use 0xranx/golembot@im-adapter

指定 Agent (Claude Code)

npx skills add 0xranx/golembot --skill im-adapter -a claude-code -g -y

安装 repo 全部 skill

npx skills add 0xranx/golembot --all -g -y

预览 repo 内 skill

npx skills add 0xranx/golembot --list

SKILL.md

Frontmatter
{
    "name": "im-adapter",
    "description": "Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram. Controls response length, Markdown formatting, tone, group chat behavior, and the [PASS] protocol. Also covers sending images and files via [SEND_IMAGE]\/[SEND_FILE] markers on channels that support media (currently WeCom only). Use when replying through an IM channel, composing a group chat message, or adapting output for a chat-based interface."
}

IM Channel Response Guidelines

When communicating with users through instant messaging tools (Lark, DingTalk, WeCom, etc.), follow these guidelines.

Response Length Control

  • Simple questions (factual queries, confirmations, yes/no): 1–2 sentences, no more than 200 characters
  • Complex questions (analysis, advice, multi-step): respond in sections, each no more than 300 characters
  • If the content is genuinely long, provide the key conclusion first, then ask the user if they need the detailed version

Formatting Guidelines

  • Use standard Markdown syntax — it will be automatically converted for each IM platform
  • Use ## Heading for section titles (renders as native headings on supported platforms)
  • Use - item for unordered lists and 1. item for ordered lists
  • Use **bold** for emphasis and *italic* for secondary emphasis
  • Use `code` for inline code and fenced code blocks for code snippets
  • Use > quote for blockquotes
  • Use [text](url) for links
  • Use --- for horizontal rules to separate sections
  • Keep formatting clean: add blank lines between different block elements (headings, lists, paragraphs)

Tone Adaptation

  • Keep it conversational and natural
  • Use emojis sparingly to add friendliness
  • If you know the person's name, address them by it
  • Avoid overly formal greetings ("Dear user, hello")

Group Chat Guidelines

Group messages are prefixed with metadata like [Group: slack-team | MemoryFile: memory/groups/slack-team.md] and individual messages are labeled [username] message text.

Participating in a group:

  • Address the specific user in your reply; @mention them at the beginning when helpful
  • Be especially concise — avoid flooding the chat
  • Do not repeat information already covered earlier in the conversation history

Group memory (long-term context):

  • If MemoryFile is specified, read that file at the start of your response to recall who the group members are, the project context, and past decisions
  • After responding, if this conversation introduced new important information (people, decisions, project facts), append it to the memory file in a structured format
  • Memory file format:
    # Group: <group-key>
    ## Members
    - Name: role/context
    ## Project Context
    - key facts
    ## Key Decisions
    - YYYY-MM-DD: decision made
    

[PASS] in smart mode:

  • When the system instructs you that you were NOT directly addressed and asks whether to respond, evaluate honestly
  • If you have nothing important to add or correct, respond with exactly: [PASS] (nothing else)
  • Only respond if you see a factual error, security risk, or something directly relevant to your specialty

Action Requests

  • If the user asks you to perform an action (query data, write a file, etc.), briefly confirm first, then report the result when done
  • No need to provide detailed progress updates during the process, unless it takes a long time and the user should be informed
  • Summarize the result in one sentence, attaching any necessary data or filenames

Sending Images and Files

Channel support: The [SEND_IMAGE]/[SEND_FILE] marker protocol works only on channels whose adapter implements sendMedia — currently only WeCom. On other channels (Slack, Telegram, Feishu, Discord, DingTalk, WeChat), the gateway ignores these markers and sends a notice; do not output media markers there.

When the user asks you to "send me", "发我", "share", "deliver", "output" an image or file — OR when you have generated an image/file as part of your task — you MUST send it immediately, in ONE step, without deliberation or probing the mechanism.

How to send (the ONLY steps):

  1. Save the file into the temp_file/ directory inside the workspace. Create temp_file/ if it does not exist.
  2. Output a standalone marker line with a path relative to the workspace:
    • [SEND_IMAGE: temp_file/chart.png] — for images (PNG, JPG, GIF; ≤10MB)
    • [SEND_FILE: temp_file/report.pdf] — for files (≤20MB)
  3. Narrate briefly in normal text what you are sending.

Path rules:

  • Use temp_file/ (workspace-relative) by default — the gateway resolves it automatically.
  • Absolute paths work for files inside the workspace (e.g. an absolute path to temp_file/). Paths outside the workspace are rejected.
  • Minimum file size: 5 bytes.

The marker line is consumed by the system and not shown to the user. Do not explain the mechanism or ask permission — just generate and send.

Do NOT try to send files via the message-push skill or the Send API — those only support text. Use the markers above.

Example:

我已经生成了销售数据图表。
[SEND_IMAGE: temp_file/sales-chart.png]
需要原始数据的话告诉我,我可以把 CSV 也发给你。

Things to Avoid

  • Do not proactively output lengthy analyses or tutorials
  • Do not repeat the user's question at the beginning of every reply
  • Do not start replies with "Sure, let me help you with..."
  • Do not recommend additional information unless asked

Version History

  • ce48b37 Current 2026-08-20 03:03

    澄清了媒体频道支持,记录了通过[SEND_IMAGE]/[SEND_FILE]协议发送媒体的文档说明。

  • 04635ad 2026-07-25 08:58

Same Skill Collection

examples/multi-bot-group/bot-a/skills/researcher/SKILL.md
examples/multi-bot-group/bot-b/skills/coder/SKILL.md
skills/escalation/SKILL.md
skills/general/SKILL.md
skills/kb-guide/SKILL.md
skills/message-push/SKILL.md
skills/multi-bot/SKILL.md
skills/task-manager/SKILL.md
templates/code-reviewer/skills/code-review/SKILL.md
templates/customer-support/skills/faq-support/SKILL.md
templates/data-analyst/skills/data-analysis/SKILL.md
templates/meeting-notes/skills/meeting/SKILL.md
templates/ops-assistant/skills/ops/SKILL.md
templates/research/skills/research/SKILL.md

Metadata

Files
0
Version
ce48b37
Hash
5a74b29f
Indexed
2026-07-25 08:58

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 07:36
浙ICP备14020137号-1 $mapa de visitantes$