Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add YiShu5/claude-skills --skill wechat-formattergit clone --depth 1 https://github.com/YiShu5/claude-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yishu5/claude-skills/wechat-formatter)<a href="https://agentmods.dev/skills/yishu5/claude-skills/wechat-formatter"><img src="https://agentmods.dev/badge/skills/yishu5/claude-skills/wechat-formatter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/yishu5/claude-skills/wechat-formatter"><img src="https://agentmods.dev/badge/skills/yishu5/claude-skills/wechat-formatter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00157 | $0.00935 |
| Opus 5.5 | $0.00063 | $0.00374 |
| Sonnet 5.5 | $0.00031 | $0.00187 |
| Haiku 4.5 | $0.00016 | $0.00093 |
Grade A, and why
wechat-formatter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
wechat-formatter · Markdown → 微信 HTML
只解决一件事:把 Markdown 转成微信编辑器粘贴后样式不丢的 HTML。
核心问题
微信公众号编辑器不识别 <style> 标签和 CSS class。所以普通的 markdown → html 转换器输出的 HTML 粘到微信里会变成裸文本,所有样式全丢。
唯一可靠方案:所有 CSS 都内联到元素的 style="..." 属性里。doocs/md 是这件事的开源标准,本 skill 直接调用它。
使用方法
python3 scripts/markdown_to_wechat_doocs.py \
--input drafts/article.md \
--output drafts/article.html \
--theme <主题名>
输出的 HTML 可以直接复制粘贴到微信公众号编辑器,样式全部保留。
主题选择
8 个主题,按文章内容氛围选(不只看标题关键词):
| 文章基调 | 推荐主题 | 适用 |
|---|---|---|
| 温暖、励志、有人情味 | orange |
个人成长 / 励志 / 鸡汤 / 故事 |
| 专业、理性、技术感 | blue |
技术评测 / 工具教程 / 商业分析 |
| 清新、自然、放松 | green |
健康养生 / 户外 / 环保 |
| 文艺、清爽、小清新 | cyan |
文艺随笔 / 旅行 / 生活美学 |
| 优雅、高端、品牌 | purple |
品牌故事 / 艺术文化 / 设计 |
| 简约、高级、极简 | black |
摄影 / 极简主题 / 严肃话题 |
| 热情、节日、醒目 | red |
节日 / 重要通知 / 活动 |
| 甜美、浪漫、少女 | pink |
情感 / 美妆 / 少女向 |
选择原则:读完 Markdown 后,问自己"这篇要给读者什么情绪",再选主题。不要靠标题关键词匹配(比如标题里没"励志"也可能是励志文)。
如果用户已在 .env 设了 MARKDOWN_THEME:除非用户明确说"换个主题",否则用 .env 里的。
输出验收
转出来的 HTML 必须:
- 不包含
<style>标签(所有样式必须内联) - 不包含 CSS class(微信不解析)
- 图片如果是本地路径 → 必须先用 wechat-publisher 的 upload_material.py 换成微信 URL,否则发布后图片裂掉
不做的事
- 不发布到草稿箱 → 用 wechat-publisher
- 不写文章 / 不改稿 → 用 wechat-writer
- 不生成封面图 → 用 wechat-publisher 的 generate_cover.py
- 不上传本地图片到微信 CDN → 用 wechat-publisher 的 upload_material.py(如果 Markdown 里有
,先告诉用户调用 publisher 上传换链接,再回来排版)
配置
.env 文件支持的变量:
MARKDOWN_THEME= # orange / blue / green / purple / red / cyan / black / pink
# 留空则让 agent 按内容判断
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 68 lines · 157 tokens per session scan A 8be430c5e388
wechat-formatter is a skill published in the GitHub repository YiShu5/claude-skills (132 stars, last pushed 8d ago), licensed MIT. It adds 157 tokens to every session and 935 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
wechat-formatter compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| wechat-formatterYiShu5/claude-skills | Skill | 132 | 8d ago | MIT | A | 157 | Claude Code, Codex |
| anti-slop-designsickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 34 | Claude Code |
| agent-framework-azure-ai-pysickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 24 | Claude Code |
| architecture-decision-recordssickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 34 | Claude Code |
| analytics-trackingsickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 21 | Claude Code |
| apify-youtube-transcript-scrapersickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 48 | Claude Code |
| ariasickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 18 | Claude Code |