# Lov Anti Wechat AI Check

> Analyze articles for AI-generated content indicators and rewrite to pass WeChat's 3.27 non-human automated content creation detection. Checks for template phrases, transition word density, sentence uniformity, paragraph pattern repetition, and other signals that WeChat uses to flag AI content. Outputs a risk report and an optional humanized rewrite. Use when the user wants to check if an article looks AI-generated, make an article more human-like, bypass WeChat AI detection, or humanize AI-written content. Also trigger when the user mentions "去AI痕迹", "人性化润色", "微信AI检测", "anti-ai-check", "humanize article", "公众号发文检查".

- Skill: `lovstudio/lov-anti-wechat-ai-check` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add lovstudio/lov-anti-wechat-ai-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lovstudio/lov-anti-wechat-ai-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: MIT
- Author: lovstudio (https://skillmd.com/u/lovstudio)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lovstudio/lov-anti-wechat-ai-check

---


# 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

```bash
python skills/lov-anti-wechat-ai-check/scripts/analyze.py \
  --input <path> --format json
```

Or with inline text:

```bash
python skills/lov-anti-wechat-ai-check/scripts/analyze.py \
  --text "文章内容" --format json
```

### Step 3: Present findings

Show the user:
1. **Risk score** (0-100) and risk level (LOW / MEDIUM / HIGH)
2. **Template phrases found** — list each one with its location
3. **Structure issues** — transition word density, paragraph uniformity, etc.
4. **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 驱动任务中提出修改意见时，继续当前产物前必须执行：

1. 先判断意见是 `task-specific`（仅本次）还是 `reusable`（可跨任务复用）。
2. `task-specific` 只修改当前任务，不改 Skill。
3. `reusable` 先确定作用域：领域规则先更新对应 canonical Skill；适用于所有 Skill 的规则先更新共享规范。
4. 完成规则更新、版本、lint 与分发核验后，再把修改应用到当前任务。
5. `reusable` 修改会使此前的“确认”“继续”“发吧”失效；完成当前产物修改和回读后必须停下，等待用户下一步指示，不自动进入发布、提交或其他外部写入。

