用途:判断一份草稿是否符合用户自己的写作风格,用测量而非主观感觉。它拿单篇草稿与用户各条消息的语域分布比较,指出偏差,从不改写。适用场景包括“这像我写的吗”“按我的风格检查/打分/验证这份草稿”“这段对我来说太正式吗”,也作为 voice-write 的门禁和设置提示中的验证环节。
不适用:任何改写需求应交给 voice-write;判断“像不像 AI 写的”应使用 AI 痕迹检查工具;语法、拼写、是否专业、是否整体过长不属于本工具;没有 profile.json 时应先用 voice-corpus 与 voice-profile 构建;口语或录音、是否友好也不属于本工具。
用法:把草稿保存为文件,根据收件人与渠道确定语域。运行命令(--register 为必填): python3 "${CLAUDE_SKILL_DIR}/scripts/voice_check.py" draft.md --register email-external [--brief brief.md] [--exemplars picks.json] [--json] --brief 启用未告知标识符检查(草稿中但简报中没有的姓名、日期、数字、URL);--exemplars 启用抄袭片段检查。profile.json 不兼容或格式错误时退出码 2。
结果分级:严重度顺序 FAIL > WARN > INCONCLUSIVE > PASS,仅 FAIL 时退出码 1,配置错误退出 2。FAIL 包括用户确认的封禁短语、长度超过 p90×1.25、段落超过 p90+1、在样本≥60 的语域中从未用过的开头或落款类别。WARN 包括若干特征超出区间、罕见或未见过的开头/落款类别、语料中不存在的 AI 默认短语、模板化、简报外标识符、复制的 6 词片段、配置超过 180 天。不足 40 词时跳过分布检查。
限制:阈值为仓库默认值,需用自测确认;区间为每条消息的 p10–p90,因此真实消息约五分之一会落在某区间外,故区间 WARN 仅供参考。类别检查需语域≥20 样本才 WARN、≥60 才 FAIL。默认目录为 ~/.personal-tone,可用 --home 指定。词汇特征(缩略、模糊词、礼貌用语、AI 词汇)仅适用于英语。它不是 AI 检测器。需要同仓库安装的 voice-profile/scripts/stylometry.py,或用 PERSONAL_TONE_STYLOMETRY 指向它。
自测命令:python3 "${CLAUDE_SKILL_DIR}/scripts/voice_check.py" --selftest --loo [--register R]