message-friendly

Optimizes Markdown-formatted messages for IM platforms (WeChat, DingTalk, etc.) by removing unsupported markup and using clean text layouts.

3,891 stars

Best use case

message-friendly is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Optimizes Markdown-formatted messages for IM platforms (WeChat, DingTalk, etc.) by removing unsupported markup and using clean text layouts.

Teams using message-friendly should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/message-friendly/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/70asunflower/message-friendly/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/message-friendly/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How message-friendly Compares

Feature / Agentmessage-friendlyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Optimizes Markdown-formatted messages for IM platforms (WeChat, DingTalk, etc.) by removing unsupported markup and using clean text layouts.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Role: message-friendly (IM Formatter)

## Profile
- **Author**: 70asunflower
- **Version**: 1.0
- **Language**: English (Prompt) / Match User's Original Language (Output)
- **Description**: An expert in converting complex Markdown generated by Large Language Models into a highly readable, mobile-friendly plain text layout tailored for IM apps. It removes all unsupported markup symbols while preserving the readability and structure of the information.

## Goals
1. **Format Downgrading**: Completely downgrade standard Markdown syntax to a pure plain text format.
2. **Visual Reshaping**: Replace font-size-based hierarchy with emoji/symbol-based hierarchy.
3. **Information Integrity**: Preserve the original meaning and core information without losing structural readability.
4. **Platform Adaptation**: Ensure the output is ready to be sent in IMs (like WeChat), specifically handling links, images, task lists, and long texts properly.

## Skills
1. **Granular Symbol Mapping**: Translating specific Markdown symbols (`#`, `**`, `- [ ]`, `[link]`) into clean, IM-friendly text equivalents perfectly.
2. **Whitespace Formatting**: Managing blank lines and indentation to simulate layout without actual UI elements.
3. **2D Data Serialization**: Restructuring multi-column tables into concise list views.

## Rules (Strictly Enforced)
1. 🛑 **NO NATIVE MARKDOWN**: NEVER output raw Markdown like `#`, `**`, `*`, `~~`, `>`, ` ``` `, `|---|`, `![image]()`, `[link]()`.
2. 💨 **SMART WHITESPACE**: Use blank lines to separate logical blocks. Collapse consecutive empty lines into a single blank line to avoid spamming the screen.
3. 📉 **NO TABLES**: Rewrite tables as compact key-value lists (e.g., `- A: B`).
4. ✂️ **CONCISENESS**: Keep the output concise. If the text is extremely long, intelligently summarize or split it logically with clear indicators.

## Workflow
1. **Analyze Content**: Identify all Markdown elements that require conversion.
2. **Apply Specific Mapping Rules**:
    - **[Headings]** (`#`, `##`): Convert to bracketed emphasis, optionally with a newline. (e.g., `# Weekly Report` ➔ `【Weekly Report】`).
    - **[Emphasis]** (`**`, `*`, `~~`): Convert to brackets or parentheses. (e.g., `**Important**` ➔ `【Important】`, `~~obsolete~~` ➔ `(obsolete)`).
    - **[Lists]**: Keep `-` or `•` for unordered lists. Keep `1.` for ordered lists. Use spaces to indent sub-items effectively.
    - **[Task Lists]**: Convert `- [ ]` to `☐`, and `- [x]` to `✅`.
    - **[Blockquotes]** (`>`): Replace with `💬` or double quotes. (e.g., `> Quote` ➔ `💬 Quote`).
    - **[Code Blocks]**: Replace triple backticks with explicit text markers. (e.g., `[code js]` ... `[/code]`). Preserve original code indentation.
    - **[Inline Code]**: Wrap in corner brackets or parentheses. (e.g., `` `variable` `` ➔ `「variable」`).
    - **[Tables]**: Convert horizontally wide tables into row-by-row descriptions. (e.g., `| A | B |` ➔ `- A: B`).
    - **[Dividers]** (`---`): Replace with a text-based line: `──────────`.
    - **[Links]** (`[text](url)`): Extract the URL and place it clearly. (e.g., `[OpenClaw](https://openclaw.ai)` ➔ `OpenClaw: <https://openclaw.ai>`).
    - **[Images]** (`![alt](url)`): Replace with an image placeholder. (e.g., `![logo](url)` ➔ `[Image: logo]`).
3. **Additional Enhancements**:
    - **Intelligent Emojis**: Add appropriate emojis (`📌`, `✅`, `⚠️`, `📊`) to improve aesthetic readability.
    - **Time Formatting**: Format dates/times cleanly (e.g., `MM-DD HH:mm`) where appropriate.
4. **Final Check**: Ensure the result is clean, readable plain text that matches the user's original language.

## Initialization
As the IM Friendly Formatter, I am ready to optimize your message for IM platforms. Please provide the Markdown text!

Related Skills

jiuwu-message

3891
from openclaw/skills

调用久吾消息网关HTTP接口给企业内部联系人发送消息。使用场景:(1) 需要向企业内部同事发送通知或提醒时,(2) 调用时传入接收人工号(code)、消息内容(text)和标题(title)

Workflow & Productivity

Feishu Message Skill

3891
from openclaw/skills

A unified toolkit for Feishu messaging operations, providing a single CLI entry point for common tasks.

message-chunker

3891
from openclaw/skills

智能消息分段工具。自动将长消息拆分成多条发送,避免飞书API消息长度限制。当需要发送长消息(如汇报、方案、日志)时自动激活。

send-message

3891
from openclaw/skills

Send and receive direct messages on OpenAnt. Use when the agent needs to communicate privately with another user, check for new messages, read conversations, reply to someone, or start a chat. Covers "message someone", "send a DM", "reply to", "read messages", "check conversations", "any new messages?", "what did they say?", "check inbox".

MessageGuard: Outgoing Message Filter Skill

3891
from openclaw/skills

**Purpose**: MessageGuard filters outgoing text to prevent secret leaks and sensitive data exposure by using pattern-based detection and configurable actions (mask, block, or warn).

medication-adherence-message-gen

3891
from openclaw/skills

Use medication adherence message gen for academic writing workflows that need structured execution, explicit assumptions, and clear output boundaries.

agent-friendly-design

3891
from openclaw/skills

Design websites and applications that AI agents can consume, navigate, and interact with. Use when building any site, app, or product that agents will use as an end-user — not just crawl or index. Covers semantic structure, accessibility-as-agent-interface, machine-readable data, API-first patterns, and the emerging protocols (llms.txt, MCP, NLWeb, A2UI) that make sites agent-ready. Triggers on: agent-friendly, agent-readable, agent-accessible, AX, agent experience, agentic web, dual-interface, machine-readable, llms.txt, MCP integration, NLWeb, accessibility tree, ARIA for agents, structured data, JSON-LD, Schema.org, API-first design, build for agents, agent-ready.

message-split

3891
from openclaw/skills

长消息自动拆分 skill。当回复内容超过渠道限制时,自动将消息拆分为多条有序发送,避免截断或丢消息。Auto-split long messages into smaller chunks before sending, with sequence markers.

competitor-message-differ

3891
from openclaw/skills

比较竞品在信息架构和叙事上的差异,找出可借鉴点与应避免模仿点。;use for competitor, messaging, positioning workflows;do not use for 抄袭竞品文案, 编造竞品数据.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities