message-friendly
Optimizes Markdown-formatted messages for IM platforms (WeChat, DingTalk, etc.) by removing unsupported markup and using clean text layouts.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/message-friendly/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How message-friendly Compares
| Feature / Agent | message-friendly | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
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]** (``): Replace with an image placeholder. (e.g., `` ➔ `[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
调用久吾消息网关HTTP接口给企业内部联系人发送消息。使用场景:(1) 需要向企业内部同事发送通知或提醒时,(2) 调用时传入接收人工号(code)、消息内容(text)和标题(title)
Feishu Message Skill
A unified toolkit for Feishu messaging operations, providing a single CLI entry point for common tasks.
message-chunker
智能消息分段工具。自动将长消息拆分成多条发送,避免飞书API消息长度限制。当需要发送长消息(如汇报、方案、日志)时自动激活。
send-message
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
**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
Use medication adherence message gen for academic writing workflows that need structured execution, explicit assumptions, and clear output boundaries.
agent-friendly-design
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
长消息自动拆分 skill。当回复内容超过渠道限制时,自动将消息拆分为多条有序发送,避免截断或丢消息。Auto-split long messages into smaller chunks before sending, with sequence markers.
competitor-message-differ
比较竞品在信息架构和叙事上的差异,找出可借鉴点与应避免模仿点。;use for competitor, messaging, positioning workflows;do not use for 抄袭竞品文案, 编造竞品数据.
---
name: article-factory-wechat
humanizer
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.
find-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.