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 | $0.00078 | $0.00467 |
| Sonnet 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 11d 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.
- 11d 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 (83 stars, last pushed 4d ago), licensed MIT. It adds 157 tokens to every session and 935 once invoked, about $0.0008 per session on Opus 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.
Other skills, from other repositories
agent-orchestrator
Meta-skill que orquestra todos os agentes do ecossistema. Scan automatico de skills, match por capacidades, coordenacao de workflows multi-skill e registry management.
android-ui-journey-testing
XML-specified Android UI journey testing, interactive step execution, assertion verification, and JSON outcome reporting.
agent-self-scheduling
Schedule AI agent runs with cron, loops, or external clocks while avoiding unsafe tight autonomous timers.
anti-duplication
Before implementing new code (endpoints, components, services, models), search the codebase for existing patterns to reuse. Prevent code duplication by finding and suggesting similar implementations. Auto-trigger when user asks to create, implement, add, or build new functionality.
breaking-change-detector
Detect and warn about breaking API/schema changes before implementation. Auto-trigger when modifying API routes, database schemas, or public interfaces. Validates changes against api-strategy.md versioning rules. Suggests migration paths for breaking changes. Prevents removing endpoints, changing request/response…
caching-strategy
Cache expensive operations to avoid redundant work across workflow phases. Caches project docs (15min TTL), npm info (60min), grep results (30min), token counts (until file modified), web searches (15min). Auto-triggers when detecting repeated reads of same files or repeated API calls. Saves 20-40% execution time.