# Quality Assurance Auditor

> 强制审计论文生成质量，防止模型偷换、逻辑断链、内容空洞。Invoke when 用户提出检查/审计/验收/确保/verify/QA，或合并前需要把关。

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

---


# 质量审计员（Quality Assurance Auditor）

## 目标
- 在论文生成的每一个关键节点插入“强制验收点”，只有审计通过才能进入下一步，防止“字数达标但逻辑错误”或“模型偷换”等隐性偷懒。
- 提供可量化的通过/失败判定，并给出具体修改清单，确保最终论文既“厚”又“对”。

## 适用时机
- 任何一步 skill（赛题解析、模型选型、结构设计、微单元生成）完成后，用户希望确认“这一步真的做对了吗？”
- 在合并全文之前，做最终一致性扫描，防止前后矛盾、遗漏约束、图表断链。
- 当用户怀疑“AI 偷偷简化了模型”或“生成的内容空洞”时，立即调用本 skill 进行强制审计。

## 输入
- 必填：待审计产物（如 problem-doc-model-selector 输出的模型路线、paper-structured-composer 给出的结构清单、或单个微单元文本）。
- 必填：原始赛题 PDF/Word 内容或关键约束摘录，用于对照。
- 可选：用户自定义的评分点清单（如 CUMCM 官方 rubric），可覆盖默认规则。

## 输出
- 审计报告（JSON + 人类可读）：
  - `checkpoint_id`：本次审计节点编号
  - `status`：PASS / FAIL
  - `score`：0–100 量化得分
  - `failures[]`：未通过项列表，含「问题描述」「位置」「建议修改」
  - `warnings[]`：可接受但建议优化的项
- 若状态为 FAIL，则**拒绝进入下一步**，并给出「必须修改清单」
- 若状态为 PASS，则给出「已验证通过」印章，可安全继续

## 审计维度（可逐层开关）
开始审计前，若任务是数学建模论文、建模路线或最终稿，优先读取 `references/qa_checklist.md`，并把其中“必过项”作为阻塞门禁。

1. 赛题覆盖度
   - 是否 100% 识别所有子问题（Q1/Q2/Q3…）
   - 是否 100% 覆盖所有显式约束（不等式、边界、特殊条件）
2. 模型-任务匹配度
   - 模型类型（预测/优化/分类）与任务目标是否一致
   - 是否具备处理给定数据格式的能力（时序→时序模型、截面→回归等）
3. 逻辑一致性
   - 假设 ⇄ 模型推导 ⇄ 结果解释 是否闭环
   - 符号表是否出现冲突或双口径（同一符号两种含义）
4. 评分点对齐度
   - 每个高分点（敏感性分析、对照实验、误差量化）是否在结构或文本中被“可定位”地承诺
5. 机械重复检测（High Priority）
   - **允许凑字数**：允许使用“随着…的发展”、“综上所述”等学术连接词来增加篇幅，**不做**Fail判定。
   - **打击机械复制**：严查**连续段落完全重复**（如同一段话连续出现两次）、**占位符未替换**（如出现“补充说明”字样且内容重复）。若发现这种“乱七八糟”的重复，直接 FAIL。
   - **结构核查**：对比 `paper_prompt_default.md`，重点检查核心章节是否遗漏，对具体的段落格式可适当放宽。

## 附加产物
- **Word 导出 (docx)**: 审计通过后，若存在 `final_paper.md`，必须调用转换工具（如 pandoc 或 python-docx）将其转换为 `final_paper.docx`，作为最终交付物。不应只交付 Markdown。
6. 图表-正文链检测
   - 正文是否出现“见图 3”而图 3 真实存在且编号正确
   - 图表标题与正文描述是否语义一致

## 工作流程（可嵌套到任意阶段）
1. 接收待审计产物与原始赛题
2. 按用户指定的维度逐项扫描
3. 生成 PASS/FAIL 报告与修改清单
4. 若 FAIL，则**阻塞后续 skill 调用**，强制返回修改；若 PASS，则盖章放行
5. 可选：将审计结果写入 `.audit_log.jsonl`，供后续追溯

## 使用示例
- 输入：（1）problem-doc-model-selector 输出的「模型路线」、（2）赛题原文
- 行为：
  - 检查是否遗漏子问题 → 发现 Q3 未被提及 → FAIL
  - 报告：`failures: [{"issue": "子问题 Q3 未被识别", "suggestion": "在模型路线中补充 Q3 的任务拆解与指标定义"}]`
  - 用户必须先修正模型路线，重新审计通过后才能进入结构设计

## 防偷懒机制
- 本 skill **绝不生成任何新内容**，只做「Review & Reject」
- 所有判定规则公开透明，用户可自定义阈值或开关维度
- FAIL 时**强制阻塞**，无法通过 prompt 绕过，必须实质修改

## 备注
- 审计规则默认对齐 CUMCM 国赛评分标准，可通过 `rubric=` 参数覆盖
- 支持中英文赛题与输出，关键词库可扩展
- 审计本身不依赖外部大模型，全部基于规则与关键词库，确保速度与不偏性

---

## 附录 A：脚本入口（推荐）
本 skill 的可执行脚本都放在 `scripts/` 下。

**生成任务清单**：
```bash
python ~/.codex/skills/quality-assurance-auditor/scripts/pipeline.py
```

**行为**：初始化目录 → 检查 `problem_files/` 是否为空（不通过则阻塞）→ 生成 `paper_output/tasks.json` → 汇报当前微单元完成进度。

**最终论文审计**：
```bash
python ~/.codex/skills/quality-assurance-auditor/scripts/audit_paper.py
```

**行为**：检查 `problem_files/`、`tasks.json`、微单元、`final_paper.md`、图表引用、占位符、重复段落、基线/验证描述、`final_paper.docx`，并生成 `paper_output/qa_report.md/json`。若有阻塞问题，脚本返回非零码。

## 目录约定（与项目全局对齐）
- 本技能会强制要求 `problem_files/` 非空。
- 本技能统一在 `paper_output/` 下产出任务清单与微单元目录。

## 前后衔接
- 常作为全局门禁：建议在“生成正文/合并全文”之前先跑一次。
- 后续通常接：`paper-micro-unit-generator`（生成微单元与合并）或 `paper-workflow-orchestrator`（一键全流程）。

## 约束（必须遵守）

- **Memory Interaction (必做)**:
  - **审计通过后**：必须调用 `context-memory-keeper`，将“审计通过状态”与“生成的任务清单概况”更新到 `Short-term Workbench`。
- 本技能是全局门禁：当用户要进入“生成正文/合并全文/交付论文”阶段，必须先通过本技能的目录检查与任务清单生成。
- 未生成 `paper_output/tasks.json` 时，禁止直接进入 `paper-micro-unit-generator`。
- 当用户已生成 `paper_output/final_paper.md` 时，建议再次调用本技能做最终一致性把关，确保“每问有结论、图表可定位、引用不断链”。

