anti-wechat-ai-check — 微信公众号 AI 痕迹检测与人性化润色
检测文章中的 AI 生成痕迹(模板短语、过渡词堆砌、句式雷同等),给出风险 评分和修改建议,并可输出人性化润色后的版本。基于微信公众平台运营规范 3.27 条款(非真人自动化创作行为)的检测逻辑。
When to Use
- 用户准备将 AI 辅助写作的文章发布到微信公众号
- 用户想检查一篇文章是否有明显 AI 痕迹
- 用户想将 AI 生成的草稿改写为更自然的人类风格
Workflow (MANDATORY)
You MUST follow these steps in order:
Step 1: Get the article
Determine the input source:
- If user provides a file path → read the file
- If user pastes text in the conversation → save to a temp file or use
--text
Step 2: Run analysis
python skills/lov-anti-wechat-ai-check/scripts/analyze.py \
--input <path> --format json
Or with inline text:
python skills/lov-anti-wechat-ai-check/scripts/analyze.py \
--text "文章内容" --format json
Step 3: Present findings
Show the user:
- Risk score (0-100) and risk level (LOW / MEDIUM / HIGH)
- Template phrases found — list each one with its location
- Structure issues — transition word density, paragraph uniformity, etc.
- Sentence issues — length uniformity, repeated starters, excessive "的"
Step 4: Ask the user
IMPORTANT: Use AskUserQuestion to ask what to do next:
| Option | Description |
|---|---|
| 仅查看报告 | 用户自己修改,skill 结束 |
| 给出修改建议 | 列出每个问题的具体修改建议,不改原文 |
| 直接输出修改版 | 输出人性化润色后的完整文章 |
Step 5: Humanize (if requested)
When rewriting, follow these humanization rules:
5a. 消除模板短语
- 删除或替换报告中标出的每个模板短语
- "随着科技的不断发展" → 直接说具体的事("去年 ChatGPT 发布后...")
- "综上所述" → 删掉,或换成口语化的收尾
5b. 降低过渡词密度
- 目标:过渡词密度 < 15%
- 删除不必要的 "首先/其次/此外/另外"
- 用具体的逻辑关系替代泛化连接词
5c. 打破句式均匀
- 刻意制造长短句交替:短句 < 15 字,长句 > 40 字
- 加入口语化表达、反问句、感叹句
- 偶尔使用不完整句或省略句
5d. 打破段落均匀
- 有的段落只有一两句话,有的段落可以很长
- 避免每段都是 "论点 + 论据 + 小结" 的三段式
5e. 增加人味
- 加入个人经历、具体案例、数字细节
- 使用口语化表达("说白了"、"讲真"、"你想想")
- 适当使用不规范但自然的表达
- 减少 "的" 字使用(目标 < 5%)
5f. 保留原意
- 核心观点和信息不能丢失
- 专业术语保留,不要过度口语化
- 保持原文的立场和态度
Step 6: Output
Output the humanized article as markdown. If the input was a file, also offer
to write the result back to a file (with -humanized suffix).
CLI Reference
| Argument | Default | Description |
|---|---|---|
--input, -i |
— | Input file path (.md, .txt) |
--text, -t |
— | Inline text to analyze |
--format, -f |
text |
Output format: text or json |
Dependencies
No external dependencies — stdlib only.
Runtime context (shared)
运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
- 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
required: true字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。- 报错提供可复制的
context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。
通用反馈闭环
用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
- 先判断意见是
task-specific(仅本次)还是reusable(可跨任务复用)。 task-specific只修改当前任务,不改 Skill。reusable先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。- 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
reusable修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。