Wechat Feige Formatter

v2.3.5

公众号排版工具。用户提供任意格式的文章内容(草稿、纯文字、已有 Markdown 均可), AI 自动识别结构、添加排版标记,生成专业公众号 HTML。 Use when: 用户说"帮我排版"、"转成公众号格式"、"生成 HTML";用户上传文章内容或文件 NOT for: 纯文本渲染;用户只想预览已有 HTML

1· 237·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for tracevan/wechat-feige-formatter.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Wechat Feige Formatter" (tracevan/wechat-feige-formatter) from ClawHub.
Skill page: https://clawhub.ai/tracevan/wechat-feige-formatter
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install wechat-feige-formatter

ClawHub CLI

Package manager switcher

npx clawhub@latest install wechat-feige-formatter
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description, SKILL.md, README and the included Python scripts all align: they parse Markdown/text and generate styled HTML for WeChat. The requested inputs (uploaded .md/.txt, pasted text, or local file path) and the single runtime action (call scripts/formatter.py) are appropriate for a formatter skill.
Instruction Scope
SKILL.md explicitly instructs the agent to read the bundled references/排版优化规则.md (present) and to accept local file paths as input. Reading the bundled rules is fine; allowing arbitrary local file paths is necessary for formatting user files but also means the agent will open files on the host if given a path — advise users not to supply sensitive system paths. The workflow tells the agent to execute a local Python script (scripts/formatter.py) — expected but means code runs on the host.
Install Mechanism
No install spec; instruction-only plus bundled Python scripts. No downloads from external URLs, no package managers, and the code claims to use only the Python standard library. This is a low-install-risk design (but executing bundled code still runs on the host).
Credentials
The skill requests no environment variables, no credentials, and no special config paths. The only sensitive operation is reading files (including images to embed) that users explicitly provide; those are proportional to the formatter's function.
Persistence & Privilege
always is false and the skill does not request permanent/system-wide presence. It instructs running local Python scripts but does not declare modifying other skills or system configs. Autonomous invocation is allowed (platform default) but not combined with other red flags here.
Assessment
This skill appears to be what it says: a Markdown/text → WeChat HTML formatter implemented in bundled Python scripts, with no external installs or credentials required. Before using it: 1) Review the bundled scripts (formatter.py and scripts/formatter.py) yourself — running them executes code on your machine. 2) Do not pass paths to sensitive system files (e.g., /etc, SSH keys, config directories); the skill accepts local file paths and will read files you point it at. 3) Test on non-sensitive sample content first (confirm output and image embedding behavior). 4) Note minor issues: there are duplicate/near-duplicate script files and small code inconsistencies in the repository, which likely indicate maintenance/quality issues (not malicious intent). If you need higher assurance, run the scripts in an isolated environment (sandbox or container) before use.

Like a lobster shell, security has layers — review code before you run it.

latestvk976nsy2h6gqr6q3mnjxkyhtm183nqs0
237downloads
1stars
13versions
Updated 1mo ago
v2.3.5
MIT-0

核心原则

用户不需要懂任何排版语法。 用户给什么内容都接受,AI 负责理解内容并生成标准格式,再调用工具转换。


Workflow

第一步:接收用户内容

接受以下任意形式的输入:

  • 上传的 .md 文件(带或不带排版标记)
  • 上传的 .txt 文件
  • 直接粘贴的文字内容(草稿、大纲、聊天记录水平都可以)
  • 提供的本地文件路径

不要要求用户手动添加排版标记。 内容理解和格式转换是 AI 的工作。


第二步:AI 智能排版(核心步骤)

必须先读取 references/排版优化规则.md,按规则对内容进行分析和重组,生成符合 formatter 语法要求的标准 Markdown。

7 项识别任务(全部执行):

  1. 识别流程/步骤> STEP XX 卡片
  2. 识别核心观点/结论> ✨ 要点框
  3. 识别小贴士/注意事项> 💡 提示框
  4. 标记关键词==词== 高亮
  5. 识别代码/指令/Prompt> 🤖 PROMPT:
  6. 识别子话题### 小标题
  7. 修正格式错误 → 特殊框内部无空行,每行以 > 开头
  8. 不新增原文没有的内容 → 不在章节标题下方插入"本节xxx"、"本节介绍xxx"等概述句,只对原文做格式标记

最重要的格式规范:

# ✅ 正确:框内无空行,每行有 > 前缀
> ✨ 标题
> 第一行内容
> 第二行内容

# ❌ 错误:中间有空行(会导致格式崩坏)
> ✨ 标题

> 内容行

章节标题语法(普通 ## 即可,formatter 自动生成 PART 卡片):

## 章节标题                  # formatter 自动编号为 PART 01/02/03...
## 主标题 | 副标题           # 支持副标题

BREAKING 开篇:formatter 自动从 # 标题生成(不填副标题,避免与正文重复)。如需定制副标题或特殊样式,使用手动写法:

## BREAKING
- bold: 新方式的标题(大号黑字)
- subtitle: 一句概括全文的说明(与正文不重复)
- strikethrough: 旧方式(删除线,可选)
- highlight: 核心亮点句(主色字体,可选)
- date: 2026.03

⚠️ 重要:每个字段必须以 `- ` 开头(列表格式),直接写 `key: value` 会当成正文输出!

生成优化后的标准 Markdown,保存为临时文件,供下一步使用。


第三步:调用转换脚本

使用 scripts/formatter.py 将优化后的 Markdown 转换为 HTML:

python3 {skill_dir}/scripts/formatter.py {input_md} --output {output_html}

可选参数:

# 自定义品牌色(默认桃色 #DE7356)
python3 {skill_dir}/scripts/formatter.py {input_md} --output {output_html} --brand-color "#660874"

# 关闭图片内嵌(默认开启,本地图片自动转 base64,方便复制到公众号)
python3 {skill_dir}/scripts/formatter.py {input_md} --output {output_html} --no-embed-images

默认行为

  • 本地图片自动转 base64 内嵌(无需额外参数,直接复制粘贴即可带图)
  • HTML 页面内置「主题色」切换器,可在预览时实时切换 6 套配色,再点「一键复制」

Python 版本要求:Python 3.6+,仅用标准库,无第三方依赖。


第四步:返回结果

  1. 生成最终 HTML 文件
  2. 启动本地服务预览(如果环境支持)
  3. 告知用户:HTML 文件路径在哪、如何复制到公众号编辑器使用

排版元素速查

元素formatter 语法触发场景
PART 章节卡片(渐变橙色)## 标题文章大章节
BREAKING 开篇框自动生成(或手动 ## BREAKING每篇文章开头
STEP 步骤卡片> STEP 01 标题 + > 说明有顺序的步骤/流程
✨ 要点框> ✨ 标题 + > 内容核心结论、重要观点
💡 提示框> 💡 标题 + > 内容小贴士、注意事项、建议
关键词高亮==词==专业术语、核心概念、产品名
🤖 指令框> 🤖 PROMPT: + > 内容代码、命令、AI Prompt
代码块```lang ```较长代码片段
### 小标题### 标题章节内子话题
加粗**词**句子内强调词

常见场景

场景操作
给草稿排版直接粘贴草稿内容,说"帮我排版"
给已有 Markdown 排版上传 .md 文件,AI 自动检查并补全排版标记
调整品牌色说"用蓝色排版",AI 会在调用时加 --brand-color 参数
修改某个元素说"把第二章改成步骤格式",AI 重新生成并预览
</content> </invoke>

Comments

Loading comments...