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 konglong87/methodology-skills --skill wechat-article-writergit clone --depth 1 https://github.com/konglong87/methodology-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/konglong87/methodology-skills/wechat-article-writer)<a href="https://agentmods.dev/skills/konglong87/methodology-skills/wechat-article-writer"><img src="https://agentmods.dev/badge/skills/konglong87/methodology-skills/wechat-article-writer/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/konglong87/methodology-skills/wechat-article-writer"><img src="https://agentmods.dev/badge/skills/konglong87/methodology-skills/wechat-article-writer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00082 | $0.01204 |
| Opus 5 | $0.00041 | $0.00602 |
| Sonnet 5 | $0.00016 | $0.00241 |
| Haiku 4.5 | $0.00008 | $0.00120 |
Grade A, and why
wechat-article-writer 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.
What it actually says
微信公众号文章排版器
触发方式
- 用户说"公众号文章""写公众号""公众号排版""微信文章""推文"时触发
- 用户提供 .md 文件或写作主题+大纲
工作流
Phase 1 — 解析输入
- 如果是 .md 文件路径 →
parseMarkdown(text)解析 - 如果用户口述主题+大纲 → 先生成 Markdown 内容,再解析
- 自动推断文章主题(tech/product/warm/zen)
Phase 2 — 排版渲染
wechat-render.js渲染结构化 sections → WeChat 兼容 HTML- 所有样式使用行内
style="",禁止<style>块、<script>、外部 CSS - 输出:
article.html(预览版,含<img>) +article-plain.html(公众号粘贴版,图片用虚线占位框替换)
Phase 3 — 配图生成(通过 infographic-generator)
buildSectionPageConfigs为每个 h2 section 生成独立花园页面配置takeMultiPageScreenshots通过 Playwright 截图:竖长(750×1334)+ 宽屏(1200×675 16:9)- 宽屏图存入
{theme}/wide/子目录 buildImageMap将宽屏图映射到文章各位置
Markdown 解析规则
| 输入模式 | 输出类型 |
|---|---|
一、标题 二、标题 |
h2 |
1. 小节 2. 小节 |
h3 |
### text ## text |
h3 / h2 |
- 要点 · 要点 1. 步骤 |
ul |
> 引用 |
blockquote |
**强调** |
strong(强调色) |
快速回顾 一句话总结 划重点 |
highlight |
--- *** |
separator |
案例N: / 带冒号短行(8-50字) |
h3 |
| 自然段落标题(8-30字、含!,?:、中文/字母开头) | h2 |
配图映射规则
| 图片 | 插入位置 |
|---|---|
| hero | 文章标题下方 |
| section-N | 第 N 个 h2 之后 |
| cta | 文末 |
默认主题:apple(明亮)。可用:linear/apple/stripe/muji。
输出目录结构
output/
├── article.html ← 图文混排预览(含真实 <img>)
├── article-plain.html ← 公众号粘贴版(图片为虚线占位框)
├── 插入指南.md ← 图片位置对照表
└── screenshots/{theme}/
├── {theme}-hero.png ← 竖长头图
├── {theme}-section-N.png ← 竖长章节图
├── {theme}-cta.png ← 竖长尾图
└── wide/ ← 宽屏版(公众号文章实际引用)
├── {theme}-hero-wide.png
├── {theme}-section-N-wide.png
└── {theme}-cta-wide.png
WeChat 约束
- 所有样式行内
style="",无<style>块、<script>、<iframe>、事件处理器 - 字体仅系统字体栈
- 颜色用 6 位 hex 不简写
- 图片先上传到微信素材库再插入,本地路径粘贴后丢失
文件清单
| 文件 | 角色 |
|---|---|
wechat-full.js |
一站式编排入口(解析→配图→渲染) |
wechat-md2html.js |
Markdown 解析器 |
wechat-render.js |
WeChat HTML 渲染器 |
wechat-themes.json |
4 种文章主题 |
../infographic-generator/generate-garden-page.js |
配图 HTML 生成(require 依赖) |
../infographic-generator/theme-recipes.json |
配图主题 CSS token |
What ships with it
9 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.
- 12d ago First seen · 123 lines · 82 tokens per session scan A 7c361b412c74
wechat-article-writer is a skill published in the GitHub repository konglong87/methodology-skills (5 stars, last pushed 1mo ago), licensed MIT. It adds 82 tokens to every session and 1,204 once invoked, about $0.0004 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-31.
Other skills, from other repositories
importing-a-codebase
Use when the repo holds real source code but no specs: the existing-codebase branch of setting-up-a-project, normally reached via that dispatcher, directly only when the situation is unmistakable. Not for empty workspaces (starting-a-new-project) or feature work in a specced project (brainstorming).
starting-a-new-project
Use when the workspace is empty — no code yet — and the user brings a raw idea: the brand-new branch of setting-up-a-project, normally reached via that dispatcher, directly only when the situation is unmistakable. Not for features in an existing project — use brainstorming instead.
todos
This chat has a shared, live TODO plan — your tasks for the conversation, which the user also edits. Read this skill and reach for the todo tools whenever a request takes more than a couple of steps. It covers the plan model (group = task, items = its steps; loose items are the user's lane), how to work it: propose…
writing-workflow-skills
Use when adding a new workflow skill to pi-thinkrail-workflow, changing an existing workflow skill's role, trigger, handoff, or structure, or checking a workflow skill against the workflow system's rules. Not for authoring general-purpose skills outside this package.
brainstorming
Use this BEFORE any creative or feature work: building a new feature, adding functionality, changing behavior, or making a nontrivial design decision. Turns the user's request into a validated design — recorded as a spec-graph task-spec — before any implementation. Do not skip this because a change looks small.
reviewing-changes
Use when a review package asks you to review a plan step's change set (todo.startReview): you are the REVIEWER, not the author. How to judge an agent-written diff, file findings with addreviewcomment, and settle with exactly one reviewverdict.