WeWrite is a workflow for creating and publishing WeChat public-account articles with an AI coding agent, covering topic selection, source gathering, drafting, review, optional illustrations, formatting, and draft delivery. It is for public-account writers who want to produce articles or adapt them for other platforms, and its catalogue entries provide the skills and plugin for running those workflow steps.
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 agentmods add skills/imraywang/wewrite/wewrite-topicnpx skills add imraywang/wewrite --skill wewrite-topicgit clone --depth 1 https://github.com/imraywang/wewriteWrote 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/imraywang/wewrite/wewrite-topic)<a href="https://agentmods.dev/skills/imraywang/wewrite/wewrite-topic"><img src="https://agentmods.dev/badge/skills/imraywang/wewrite/wewrite-topic.svg" alt="Measured on agentmods" 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 | $0.00118 | $0.01138 |
| Opus 5 | $0.00059 | $0.00569 |
| Sonnet 5 | $0.00024 | $0.00228 |
| Haiku 4.5 | $0.00012 | $0.00114 |
Grade A, and why
wewrite-topic 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 5d 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
wewrite-topic — 选题
运行约定
- CLI:确定性操作走
wewrite命令(需在 PATH;缺失则引导uv tool install wewrite,或在仓库里bash install.sh)。 - {home}:用户状态目录 =
$WEWRITE_HOME或~/.wewrite(wewrite home可查)。config/style/history/playbook/output/exemplars 全在 {home},不在仓库;references 文档中的状态路径同此约定。 读取: <路径>= 用文件读取工具真实读完该文件再继续,不是注释。- references/:本 skill 自带
{skill_dir}/references/;references 文档内的{skill_dir}即本 skill 目录。 - 任务状态:通过
wewrite run show/update/step读取和更新;不直接改状态文件。
前置
{home}/style.yaml存在 → 提取topics、content_style。不存在 → 问用户"你的 公众号主要写哪几个方向?"用回答临时代替 topics,并提示可用 wewrite-style 完成完整设置。
2.1 热点抓取
wewrite hotspots --limit 30
降级:脚本报错 → WebSearch "今日热点 {topics第一个垂类}"
2.1b 高频需求参考
对 topics 的前 1-2 个垂类词各搜一次近一周的公众号文章:
wewrite search-articles "{垂类词}" -n 15 -t 2
产出近一周同垂类公众号文章列表(标题/摘要/发布时间/账号),作为「已验证的内容需求」 信号供 2.3 使用。搜狗结果不带阅读量,因此只能说明同题出现频率,不能声称文章“爆款”。
降级:命令报错 / 结果为空(搜狗反爬限流)→ 跳过本步,不阻断,选题构成退回默认。
2.2 历史分析 + SEO
读取: {home}/history.yaml(不存在则跳过)
wewrite seo --json {关键词}
历史分析(有 stats 数据时):
- 统计哪种
framework的文章表现最好(阅读量/分享率)→ 推荐框架时加权 - 统计哪种
enhance_strategy的文章表现最好 → 增强策略选择时参考 - 近 7 天已写的关键词降分(去重)
降级:SEO 脚本报错 → LLM 判断;history 无 stats → 跳过效果分析,仅做去重
2.3 生成选题
读取: {skill_dir}/references/topic-selection.md
生成 10 个选题,其中:
- 5-6 个热点选题:基于 2.1 的热点,按 topic-selection.md 规则评分
- 2-3 个高频角度选题(仅 2.1b 有产出时):基于近一周同题文章,按 topic-selection.md 规则评分,标注“高频需求”;2.1b 无产出时份额还给热点
- 2-3 个常青选题:不依赖热点,从用户的
topics领域生成长尾内容(教程/方法论/经验总结/工具推荐),标注为"常青"。适合 content_style 为干货型/测评型的用户
每个选题含标题、评分、点击率潜力、SEO 友好度、推荐框架。
- 自动模式 → 选最高分
- 交互模式 / 单独激活 → 展示全部,等用户选
完成
用 wewrite run update --patch 写入 topic.title、topic.keywords、topic.source
(“热点抓取” / “高频需求” / “常青”)、topic.framework_hint,然后
wewrite run step topic completed。
单独激活且用户只要选题列表时,展示 10 个选题即可;用户选定后写入状态并提示
"可以直接说'就写这个'进入写作(wewrite-write)"。
What ships with it
1 file 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.
- 5d ago First seen · 92 lines · 118 tokens per session scan A 3c3bcc7b6aed
wewrite-topic is a skill published in the GitHub repository imraywang/wewrite (3,230 stars, last pushed 4d ago), licensed MIT. It adds 118 tokens to every session and 1,138 once invoked, about $0.0006 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…