paper2wechat

paper2wechat is a skill for Claude Code from QuZhan51496/paper2anything. It costs 122 tokens per session (4,800 once invoked), scanned A, original, Apache-2.0.

A process for turning an academic paper PDF into a long, illustrated article for WeChat. WeChat is a Chinese messaging and publishing platform; the article explains the paper for researchers, engineers, and students.

In plain words
What is it for?
Parsing papers, explaining their methods and limits, writing the article, selecting figures, creating a cover, and preparing a WeChat draft.
Why use it?
It removes the need to manually extract a paper, understand its results, design the article, make a cover, and prepare a draft for publication.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool.

Good fit Parsing papers, explaining their methods and limits, writing the article, selecting figures, creating a cover, and preparing a WeChat draft.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/quzhan51496/paper2anything/paper2wechat
Install

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.

Any agent
npx skills add QuZhan51496/paper2anything --skill paper2wechat
Clone the repo
git clone --depth 1 https://github.com/QuZhan51496/paper2anything

Made for: Claude Code.

Wrote 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.

agentmods badge for paper2wechat

README.md
[![agentmods](https://agentmods.dev/badge/skills/quzhan51496/paper2anything/paper2wechat/github.svg)](https://agentmods.dev/skills/quzhan51496/paper2anything/paper2wechat)
Your own site
<a href="https://agentmods.dev/skills/quzhan51496/paper2anything/paper2wechat"><img src="https://agentmods.dev/badge/skills/quzhan51496/paper2anything/paper2wechat/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.

agentmods 80×15 button for paper2wechat

Your own site · 80×15
<a href="https://agentmods.dev/skills/quzhan51496/paper2anything/paper2wechat"><img src="https://agentmods.dev/badge/skills/quzhan51496/paper2anything/paper2wechat.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 122 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,800 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

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 →

  • medium Data Exfiltration · line 227
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00122 $0.04800
Opus 5 $0.00061 $0.02400
Sonnet 5 $0.00024 $0.00960
Haiku 4.5 $0.00012 $0.00480

Measured 10d ago against content hash a6d4383fc7ac, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

paper2wechat 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 10d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/_env.py, scripts/cover.py, scripts/parse_pdf.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

paper2wechat/SKILL.md · 230 lines

How it starts

The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.

paper2wechat — 论文转公众号深度解读(你主导的协调式)

把一篇论文 PDF 写成学术深度解读型公众号长文。你是主笔:这份文件是配方, 不是全自动脚本——没有 main.py。机械步骤(解析 / 封面 / 排版)调用 scripts/ 下的小工具; 论文理解、文章结构、长文撰写由你亲自完成,并在关键点用 AskUserQuestion 与用户确认。

目标读者:有 AI/ML 背景的研究者、工程师、学生——读得懂方法细节、关心贡献与局限。

PDF
 → 解析            (parse_pdf.py:MinerU → parsed/ + figures/,含表格)
 → 你读懂论文       (读 parsed/ + 看 figures/) → understanding/paper_understanding.json   [确认切入角度]
 → 你写深度解读长文  (结构自由、配图、忠实准确) → wechat_article.md + .json          [确认]
 → 封面            (cover.py:默认 API 生图 gpt-image-2 横版 900×383;无 key/key 不可用回退本地合成复用原图)
 → 发布草稿箱       (publish.py:md2wechat 直推公众号草稿箱;无凭据/失败→本地样式化 HTML)
 → 公众号推文

运行方式

  1. 一步步来:机械步骤用 Bash 调脚本,创作步骤你自己用 Read / Write 做。
  2. 每个 Bash 块开头就地算 WORKDIR(各 Bash 调用是独立 shell、不共享变量):
    WORKDIR="$(dirname "$pdf_path")/.paper2anything/wechat/$(basename "${pdf_path%.*}")"
    
    $pdf_path 是用户给的论文 PDF(每块重设一次)。脚本在 ${SKILL_DIR}/scripts——SKILL_DIR本 skill 的目录(见本 skill 顶部注入的 "Base directory for this skill: …");各 Bash 块独立 shell, 用到它的块开头按需 export SKILL_DIR=<那个目录> 一次(和 WORKDIR 一样每块现设)。
  3. 两个决策点用 AskUserQuestion 暂停:① 读懂论文后确认“切入角度/深度/篇幅”;② 长文成稿后确认。
  4. 深度解读 = 读懂后用自己的话讲清楚:可以加直觉解释、类比、背景、应用与局限,让有背景的读者快速吃透这篇论文——但忠实于论文、不夸大、不编造数据

Step 0:环境与凭据

统一环境:所有 python 命令都在 paper2anything 的统一 conda 环境(顶层 environment.yml),以 conda run -n paper2anything --no-capture-output 为前缀。md2wechat 已含在该环境中。

凭据集中在包根 .env(从 .env.example 复制,已 gitignore),每个新 shell 先导出一次:

set -a; source <paper2anything 包根>/.env; set +a

本 skill 用到的 key(理解与撰文由你亲自做,不调用任何 LLM API):

  • MINERU_API_TOKEN — 解析 PDF(必填)
  • OPENAI_API_KEY(+ OPENAI_BASE_URL) — 封面默认走它生图(gpt-image-2);无 key 或 key 不可用时回退本地合成(复用论文原图)
  • WECHAT_APPID / WECHAT_APP_SECRET — 直推公众号草稿箱用(md2wechat 调官方 API;获取见「排错」);留空则降级为本地生成样式化 HTML 供手动粘贴
  • MD2WECHAT_THEME — 排版样式(默认 default→学术灰,另有 tech/festival/announcement

依赖自检(缺啥按提示装;依赖统一在 environment.yml):

conda run -n paper2anything --no-capture-output python -c "import requests, rich, dotenv" 2>&1
md2wechat --help >/dev/null 2>&1 && echo "md2wechat 就绪" || echo "md2wechat 未就绪(可后置;缺它 Step 5 会降级为本地样式化 HTML 供手动粘贴)"

Read the full file on GitHub · 230 lines

Files

What ships with it

5 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.

Changes

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.

  1. 10d ago First seen · 230 lines · 122 tokens per session scan A a6d4383fc7ac

Subscribe to this mod's changes

paper2wechat is a skill published in the GitHub repository QuZhan51496/paper2anything (416 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 122 tokens to every session and 4,800 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.