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-publishergit 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-publisher)<a href="https://agentmods.dev/skills/yishu5/claude-skills/wechat-publisher"><img src="https://agentmods.dev/badge/skills/yishu5/claude-skills/wechat-publisher/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-publisher"><img src="https://agentmods.dev/badge/skills/yishu5/claude-skills/wechat-publisher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 18 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 116 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
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.00178 | $0.01788 |
| Opus 5 | $0.00089 | $0.00894 |
| Sonnet 5 | $0.00036 | $0.00358 |
| Haiku 4.5 | $0.00018 | $0.00179 |
Grade A, and why
wechat-publisher 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 141 lines — stays where its author put it; the contents beside it link to each section on GitHub.
wechat-publisher · 微信公众号发布管道
只负责跟微信 API 打交道的部分:封面生成 / 图片上传 / 草稿创建 / 草稿发布 / 文章提取。
常用工作流
工作流 1:发已写好排版好的稿子(最常见)
前提:你已经用 wechat-writer 写好 markdown,用 wechat-formatter 转成了 html。
# 0. 加载凭证
source <(grep -E '^WECHAT_' .env | sed 's/^/export /')
# 1. 生成封面图(五要素 prompt 见 references/image-prompts.md)
python3 scripts/generate_cover.py \
--prompt "<五要素 prompt>" \
--output cover.jpg
# 2. 上传封面到微信永久素材
python3 scripts/upload_material.py \
--app_id "$WECHAT_APP_ID" --app_secret "$WECHAT_APP_SECRET" \
--image_path cover.jpg
# 输出: thumb_media_id=THUMB_XXX
# 3. 创建草稿
python3 scripts/create_draft.py \
--title "文章标题" \
--content "$(cat drafts/article.html)" \
--thumb_media_id "THUMB_XXX" \
--author "意疏"
# 4. (可选)直接发布
python3 scripts/publish_draft.py \
--app_id "$WECHAT_APP_ID" --app_secret "$WECHAT_APP_SECRET" \
--media_id "MEDIA_XXX"
**默认到 step 3 就停——保留为草稿,让用户登录公众号后台预览再决定是否发布。**只有用户明确说"直接发"才执行 step 4。
工作流 2:从 mp.weixin URL 提取原文
python3 scripts/extract_to_markdown.py \
"https://mp.weixin.qq.com/s/xxx" \
-o drafts/extracted.md
输出为 Markdown,交给 wechat-writer 改写——本 skill 不负责改写,只负责提取。
工作流 3:一键 orchestrator(已有 markdown,跑完整管道)
python3 scripts/publish_article.py \
--input article.md \
--title "文章标题" \
--author "意疏"
这个脚本会内部调用排版 + 封面 + 上传 + 草稿。适合用户明确说"一条命令直接给我发草稿箱"时用。
如果用户对中间产物(封面 / 配图 / 排版)有要求,不要走 orchestrator,改用工作流 1 分步执行。
封面图 prompt 必须用五要素结构
禁止写「科技风格插画」「为文章 XX 生成封面」这种空泛 prompt。详见 references/image-prompts.md。
五要素(中文逗号分隔,顺序固定):
- 核心意象:文章前 200 字提取 2-4 个具象名词(不要"效率""创新"这种抽象概念)
- 情绪基调:从 7 选 1——温暖治愈 / 专业冷静 / 紧张焦虑 / 轻松愉悦 / 怀旧沉思 / 励志昂扬 / 神秘高级
- 画面风格:按文章主题查
references/image-prompts.md的 9 种风格映射表 - 构图与镜头(固定文本):
2.35:1 横向构图,主体居中偏左,右上角嵌入小字「意疏的AI口袋」,中部区域小字「<标题关键词 3-5 字>」(避开底部 15% 遮挡区) - 负面提示(固定文本):
画面主体不要出现任何文字、字母、汉字,水印、logo、签名
文中配图(发布模式才出,预览模式跳过)
如果用户明确要"发布模式 + 配图",生成 3 张配图,按故事弧线:
| 序号 | 定位 | 元素 |
|---|---|---|
| 1 | 痛点 | 文章开头的困境/焦虑具象化 |
| 2 | 转折 | 解决方案出现的关键时刻/工具 |
| 3 | 升华 | 文章结尾的理想状态/成果 |
What ships with it
13 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.
- reader/extract_and_convert.js 2.5 KB runs code
- reader/package-lock.json 15 KB
- reader/package.json 331 B
- references/examples.md 3.9 KB
- references/image-prompts.md 8.8 KB
- references/wechat-api.md 4.0 KB
- scripts/config.py 4.7 KB runs code
- scripts/create_draft.py 8.3 KB runs code
- scripts/extract_to_markdown.py 3.3 KB runs code
- scripts/generate_cover.py 13 KB runs code
- scripts/publish_article.py 7.8 KB runs code
- scripts/publish_draft.py 4.9 KB runs code
- scripts/upload_material.py 6.0 KB runs code
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.
- 12d ago First seen · 141 lines · 178 tokens per session scan A f84a13d74078
wechat-publisher is a skill published in the GitHub repository YiShu5/claude-skills (84 stars, last pushed yesterday), licensed MIT. It adds 178 tokens to every session and 1,788 once invoked, about $0.0009 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…
hallucination-detector
Detect and prevent hallucinated technical decisions during feature work. Auto-trigger when suggesting technologies, frameworks, APIs, database schemas, or external services. Validates all tech decisions against docs/project/tech-stack.md (single source of truth). Blocks suggestions that violate documented…