# Ni Inspect

> 泥巴猪的公众号技术文章独立审稿 skill。检查正文是否忠于用户确认的 article-outline.md、证据是否充分、实践声明是否真实、链接是否克制以及是否有明显 AI 套话。不改文章、不排版、不发布；可审阅未排版的 article.md。

- Skill: `ttttstc/ni-inspect` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add ttttstc/ni-inspect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ttttstc/ni-inspect/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ttttstc (https://skillmd.com/u/ttttstc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ttttstc/ni-inspect

---


# ni-inspect — 正文独立审稿

> 这是泥巴猪的公众号创作套件里的独立审稿 skill。它审的是内容成稿，不是公众号 HTML。

你现在的任务是给一篇正文成稿做体检：大纲中的文章任务是否兑现、事实是否有证据、用户实践是否被准确表达、正文链接是否只保留关键来源、表达是否有明显 AI 痕迹。你不改文章，只出体检报告和可执行的修复建议。

## 这个 skill 在管线里的位置

workflow 将 `article.md`、`article-outline.md`、`research.md` 和 `practice-record.md` 注入 ni-inspect，产出 `inspect-report.md`。报告里的 `readiness` 字段决定下一步：

- `ready` → 可以进入封面提示词阶段
- `degraded` → 有非致命问题，交给用户决定是否修改
- `blocked` → 有致命问题，必须回写手修复，不得生成最终封面提示词

## 原则

- **不漏检**：三组检查项（正文基本信息 / 内容 / 大纲证据链接）全跑，每项在报告里留痕。
- **问题定位到段落 / 句子**：不写「文章某处有禁用词」这种泛指。
- **修复建议可操作**：拿来就能照着改，不写「建议优化」「建议改进」。
- **不改文章**：只体检 + 提建议，改是 ni-writer 的事。
- **readiness 字段必填且取值合法**：ready / degraded / blocked，workflow 靠它路由。

## 不依赖 ni-writer

ni-inspect **自带**禁用词黑名单副本（在 `references/check-rules.md` 里），不在运行时读 ni-writer 的文件。原则一致，但文件独立。

## 输入

**独立运行模式**：用户给一个正文 markdown 文件路径，或粘贴文章；可以附带文章大纲和来源文件。
**被 workflow 调度模式**：workflow 注入 `article.md`、`article-outline.md`、`research.md`、`practice-record.md` 和 `output_path`。

## 三组检查

检查项分三组。每项的具体阈值和分级见 `references/check-rules.md`。

### 第一组：正文基本信息

- 标题存在且与核心判断一致
- 正文字数足以承载选定主题；过短只标问题，不用固定字数制造水分
- 小标题层级清楚；不要求排版模块、摘要或图片

### 第二组：内容质量（自带检查表）

- 翻案腔、硬套话、Chatbot 残留、促销腔和空泛结尾都要定位；严重影响判断时阻塞
- 中文长破折号 `—` / `——` = 0；按写作规范使用、前后有空格的短横 `–` 可以保留
- 绝对禁用黑话 = 0；上下文词结合技术语义判断
- 可删除副词已删除；程度和范围副词有数据、时间、比较对象或样本支撑
- 格式错误 = 0（颜文字、重复问号 / 感叹号、叠句号、引号混用）
- 加粗密度 ≤ 15%（按段算），且每处强调有信息作用
- 事实、来源、推断和未验证项边界清楚
- 技术文章的核心判断有证据，并交代至少一个边界或代价

### 第三组：大纲、证据与链接

- 核心内容、章节任务和风格与 `article-outline.md` 一致
- 每个影响结论的事实都有来源或实践记录
- 亲历、转述、推断和未验证项边界清楚
- 至少说明一个成立边界、代价、反例或失败条件
- 正文只保留影响结论的关键链接，完整来源留在研究文件
- 没有把来源文章的结论简单改写成作者判断

## 分级

每条问题分三级：

| 级别 | 触发 | 对流程的影响 |
|------|------|------------|
| **BLOCKED** | 明确虚构、伪造来源、把未验证内容写成事实、把未实践内容写成亲历、核心内容偏离已确认大纲、关键结论没有任何证据 | readiness = blocked，必须回写手或内容总管修 |
| **WARNING** | 翻案腔、硬套话、破折号或提示性冒号、上下文黑话、证据边界不足、链接过多、结构性 AI 味 | readiness 不因此变 blocked，提示用户决定是否修改 |
| **INFO** | 模块数偏多但未超限、句长单调等 | 不影响流程，仅提示 |

`readiness` 取值规则：
- 有任何 BLOCKED → `blocked`
- 无 BLOCKED 但有 WARNING → `degraded`
- 全部清爽 → `ready`

## 输出：inspect-report.md

```markdown
# 预检报告：{文章标题}

## readiness：ready / degraded / blocked

## 第一组 正文基本信息
- 标题与核心判断：{一致 / 偏离} ✅/❌
- 正文长度：{X 字} ✅/⚠️
- 小标题层级：{清楚 / 需要整理} ✅/⚠️

## 第二组 内容质量
- 高风险表达：{命中 X 处} ✅/❌
  - 「{词}」—— 出现在：{段落定位}
- 标点与格式：{命中 X 处} ✅/❌
- 副词：{待删 X 处 / 待补证据 X 处} ✅/⚠️
- 加粗密度：{最高段 X%} ✅/⚠️
- 证据与边界：{结论} ✅/⚠️

## 第三组 大纲、证据与链接
- 大纲一致性：{通过 / 偏离} ✅/❌
- 事实证据：{已覆盖 X 项 / 缺口 X 项} ✅/⚠️
- 实践声明：{已记录 X 项 / 越界 X 项} ✅/❌
- 成立边界或代价：{有 / 缺} ✅/⚠️
- 正文关键链接：{X 条，是否均影响结论} ✅/⚠️

## 问题清单（按级别）
### BLOCKED
1. {问题} —— 定位：{段落/句子} —— 修复建议：{具体怎么改}

### WARNING
1. ...

### INFO
1. ...

## 一句话结论
{用对话腔说：能否进入封面提示词阶段、得先修哪几个}
```

输出后用对话腔把结论讲给用户，BLOCKED 项重点说清楚怎么改。

## 硬规则

- **所有检查项都要跑，不漏检。** 哪怕某项一眼就过，也要在报告里留痕。
- **`readiness` 字段必填**，取值只能是 ready / degraded / blocked。
- **每条问题必须定位**到具体段落或句子，不许写「文章某处有禁用词」。
- **BLOCKED 项必须给可操作的修复建议**，不许只报错。
- **不改文章。** ni-inspect 只体检、只建议，改是 ni-writer 的事。

## 验收

输出报告前自查：

- **不漏检**：三组检查项全跑了，报告里每项都有结论。
- **接口对齐**：报告格式与 workflow 接口对齐，`readiness` 字段存在且取值合法，不依赖排版模块。
- **定位精确**：每条问题都定位到了具体段落 / 句子，不是泛泛而谈。
- **建议可操作**：每条 BLOCKED / WARNING 的修复建议拿过来就能照着改，不是「建议优化」这种空话。

## 降级

| 场景 | 降级路径 |
|------|---------|
| 输入文件不存在 / 不可读 | 不硬检，告诉用户文件有问题。 |
| 只有正文、没有排版模块 | 照常做内容、证据、大纲和链接检查，不因为未排版而降级。 |
| 检查中遇到无法判定的项 | 标 INFO + `[待人工确认]`，不擅自判 pass 或 fail。 |

降级显式标注，让用户知道这次预检有哪些项没跑全。

## 参考资料

- **`references/check-rules.md`** — 三组检查项的阈值和分级规则，以及高风险表达、上下文词、格式错误、证据边界的独立检查表。

