AgentStack
SKILL verified MIT Self-run

Proofread Content

skill-tranfu-labs-tranfu-skills-proofread-content · by tranfu-labs

>-

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-tranfu-labs-tranfu-skills-proofread-content

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Proofread Content? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Proofread Content

对已经成稿的简体中文自媒体内容做三轮审校。成功结果是纯净正文,不是诊断稿,也不包含审校说明。

交付边界

  • 支持微信公众号、小红书、微博、知乎和头条号的完整成稿。
  • 支持对话中粘贴的正文,以及可读、非空、UTF-8 编码的 .md.txt 单文件。
  • 只调整字句、删除不承载独立信息的冗余,并在同一小节内调整段落顺序。
  • MUST 保持标题、标题层级、核心观点、立场、事实、数据、案例、引用、链接、术语和整体结构。
  • MUST 原样保留数字、百分比、日期、金额、版本号、数字与单位组合及专有名词的字面形式;不得为

“统一排版”在这些受保护字面值内部插删空格、标点或字词。

  • NEVER 发明数字、人物、经历、对话、时间、地点、情绪、引用或来源。
  • NEVER 为平台增长新增钩子、CTA、emoji、话题标签或爆款结构。
  • NEVER 以 AI 检测百分比作为目标,也不声称绕过检测器。
  • 默认只检查原稿内部一致性。外部事实真实性、法律合规和平台最新政策不属于

READY_FOR_LAYOUT 的保证。

调用本 Skill 处理文件,表示用户授权在全部硬门禁通过后覆盖该输入文件。处理粘贴文本,表示用户 授权在全部硬门禁通过后原子创建或覆盖当前工作目录下的 proofread-content.md。除此之外,不得 编辑其他用户文件。

规则优先级

规则冲突时,序号小的优先:

  1. 禁止虚构和双向事实保真。
  2. 标题、立场、事实、案例与整体结构保护。
  3. 当前原稿体现的作者声口。
  4. 目标平台的语体与阅读节奏。
  5. Humanizer-zh 24 类模式。
  6. 错别字、标点、排版与局部精炼。

不得为了满足后一级规则破坏前一级规则。无法兼容时,停止写回,把状态设置为 NEEDS_AUTHOR_INPUTBLOCKED,再转至统一输出子流程。

必读参考

每次执行 MUST 完整读取:

  • references/humanizer-zh-24.md:24 类检测面、检查清单和内部五维诊断。
  • references/platform-registers.md:五个平台和通用自媒体语体的适配边界。

执行流程

CREATE A TODO LIST FOR THE TASKS BELOW:

  1. 校验输入并确定目标产物。
  2. 识别平台并建立不可变基线。
  3. 执行第一轮:内容、逻辑与内部一致性。
  4. 执行第二轮:24 类去 AI 味与作者声口。
  5. 执行第三轮:语言细节、Markdown 与阅读节奏。
  6. 运行最终回归门禁;失败时最多内部修复两次。
  7. 仅在门禁通过后原子写回。
  8. 转至子流程「输出结果」,输出唯一的 PROOFREAD_RESULT 并结束。

1. 校验输入

  1. 初始化内部 RESULT_CONTEXTstatus 未设置,platform=unknownsource=none

output=unchangedhard_gates=not_run,三个 changes 字段均为 not_runauthor_questions=[]block_reason=""

  1. 接收文件路径或粘贴正文。两者都没有时,设置 status=NEEDS_AUTHOR_INPUT,写入一个索取完整

成稿的具体问题,转至子流程「输出结果」。

  1. 同时收到文件路径和粘贴正文时,只有用户明确且排他地指向其中一种输入,才能按该唯一指向继续。

用户同时要求处理两者、没有排他指向或指向含糊时,不读取或覆盖任一目标;设置 status=NEEDS_AUTHOR_INPUT,要求二选一,转至子流程「输出结果」。

  1. 确定唯一输入后,文件输入把 source 设为输入文件绝对路径;粘贴输入设为 inline
  2. 文件输入必须是可读、非空、UTF-8 的单个 .md.txt 文件;否则设置

status=BLOCKED 和具体 block_reason,转至子流程「输出结果」。

  1. 输入必须是完整成稿。只有选题、提纲、零散素材或明显未完成片段时,设置

status=NEEDS_AUTHOR_INPUT,写入索取完整成稿的具体问题,转至子流程「输出结果」。

  1. 学术、法律、公文等专业文本,或从零创作、翻译、排版、发布、爆款重构请求,设置

status=BLOCKED 和具体越界原因,转至子流程「输出结果」。

  1. 文件输入的最终目标是原文件路径;粘贴输入的最终目标是当前工作目录中的

proofread-content.md

  1. 此阶段不得写入最终目标。所有改写先保存在内存中;只有通过硬门禁后,才可在最终目标同目录

创建临时文件。

2. 识别平台并建立基线

  1. 用户明确指定微信公众号、小红书、微博、知乎或头条号时,采用该平台。
  2. 用户明确指定其他平台时,设置 status=BLOCKEDplatform=unknown

block_reason="V1 仅支持微信公众号、小红书、微博、知乎和头条号。",在执行三轮前转至 子流程「输出结果」,不写回文件。

  1. 用户未指定平台时,根据请求、标题、正文和已有格式推断。
  2. 仍无法判断时采用“通用自媒体”,并在报告中注明,不向用户追加问题。
  3. 建立内部 PRESERVATION_LEDGER,逐项记录:
  • 标题、YAML frontmatter 和标题层级。
  • 核心观点、结论、立场、程度与因果关系。
  • 数字、百分比、日期、金额、版本号、数字与单位组合及专有名词,并记录其原文字面形式。
  • 案例、人物、时间、地点、引语、引用来源和链接。
  • 代码块、行内代码、图片、列表及其他 Markdown 语义结构。
  1. 记录各小节边界。段落只能在原有同一小节内调序,标题不得移动、增加或删除。

3. 第一轮:内容与一致性

  1. 通读全文,检查跑题、前后矛盾、因果跳跃、指代不明、重复论点和缺失的必要过渡。
  2. 删除冗余前,确认被删内容不承载独立事实、限定、论据、案例或态度。
  3. 发现内部事实冲突、残留占位符或必须由作者补充的关键信息时,把已完成检查概括到

changes.pass_1,设置 status=NEEDS_AUTHOR_INPUT 并记录具体作者问题,转至子流程 「输出结果」;不得生成替代事实。

  1. 不默认联网核实。不能从原稿内部确认的外部事实保持原样,不把猜测写成修正。
  2. 产出第一轮内部稿,把本轮实际改动概括为一句话写入 changes.pass_1,不写回最终目标。

4. 第二轮:去 AI 味与声口

  1. 从当前原稿提取高频用词、句群节奏、段首习惯、标点偏好和整体语域。
  2. 把原稿声口特征当作约束,不为制造真人感凭空强化口语或添加个人经历。
  3. 建立内部 HUMANIZER_LEDGER,为 #1 到 #24 各建立一条记录。
  4. references/humanizer-zh-24.md 从 #1 到 #24 全量扫描。每条记录的状态必须是

no_hitchangedkept_with_reason;后者必须写明语境或声口理由。

  1. 每个命中必须经过语境判断:
  • 单次出现且承担真实功能,不改。
  • 在短段内机械重复、可以无损删除或替换,才改。
  • 平台或作者声口中的合法表达,保留。
  1. 优先做最小必要改写:删空转、还原主体、压缩重复、恢复自然语序、改变机械节奏。
  2. 只有添加原稿不存在的真实细节才能修复命中时,保持当前内部稿不变,把已完成检查概括到

changes.pass_2,设置 status=NEEDS_AUTHOR_INPUT 并记录具体作者问题,转至子流程 「输出结果」;不得用第一人称、数字或故事伪造真人感。

  1. 产出第二轮内部稿,把本轮实际改动概括为一句话写入 changes.pass_2,不写回最终目标。

5. 第三轮:细节与阅读节奏

  1. 修正错别字、语病、标点误用、重复词、异常空格和不自然断句。
  2. 依据平台参考调整句长变化、段落密度和口语程度,不使用全局固定字数阈值。
  3. .md 输入必须保持 YAML frontmatter、标题层级、链接、图片、列表、代码块和行内代码的语义;

.txt 输入不得凭空加入 Markdown。

  1. 不得在 PRESERVATION_LEDGER 的受保护字面值内部增删空格、标点或字词;只可调整不属于该

字面值的外围标点和句法。

  1. 删除正文中的助手残留、审校说明、门检文本、评分和改动摘要。
  2. 只在同一小节内调序。不得跨小节搬段或重新设计整体结构。
  3. 产出第三轮内部稿,把本轮实际改动概括为一句话写入 changes.pass_3,不写回最终目标。

6. 最终回归门禁

PRESERVATION_LEDGER 逐项比较原稿与内部终稿。以下条件必须全部成立:

  • 标题、frontmatter、标题层级和整体结构未变。
  • 核心观点、结论、立场、程度和因果未漂移。
  • 原稿事实、数据、案例、引用、链接、术语和 Markdown 语义结构全部保留。
  • 数字、百分比、日期、金额、版本号、数字与单位组合及专有名词的受保护字面形式逐字一致。
  • 终稿没有新增原稿不包含的事实、经历、数字、人物、对话或来源。
  • 终稿没有未完成占位符、作者待答问题、助手残留或审校说明。
  • HUMANIZER_LEDGER 恰好包含 #1 到 #24,且每项都有合法状态;任何缺项、重复项或无理由的

kept_with_reason 都视为门禁失败。

  • 正文在识别的平台语体下可读,且没有因去 AI 味而统一降格成聊天口吻。

同时运行五维内部诊断,但不得把分数作为通过线,也不得在报告中展示分数。

若硬门禁失败:

  1. 仅针对失败项修复一次,并重新运行完整门禁。
  2. 仍失败时再修复一次,并重新运行完整门禁。
  3. 两次后仍失败,设置 hard_gates=failedstatus=BLOCKED 和具体 block_reason,转至

子流程「输出结果」;不得写回最终目标。

  1. 任一失败需要作者提供事实或意图,立即设置 hard_gates=failed

status=NEEDS_AUTHOR_INPUT 和具体作者问题,转至子流程「输出结果」,不消耗修复次数。

  1. 全部硬门禁通过时,设置 hard_gates=passed,再进入原子写回。

7. 原子写回

只有全部硬门禁通过时才能执行:

  1. 在最终目标同一目录创建并写入临时文件。创建或写入失败时,删除残留临时文件,设置

status=BLOCKED 和具体 block_reason,保持目标字节不变,转至子流程「输出结果」。

  1. 校验临时文件可读、非空,且内容与通过门禁的内部终稿完全一致。任一条件失败时,删除临时文件,

设置 status=BLOCKED 和具体 block_reason,保持目标字节不变,转至子流程「输出结果」。

  1. 使用运行时可用的同文件系统原子替换机制,把临时文件替换为最终目标。机制不可用或替换失败时,

删除残留临时文件,设置 status=BLOCKED 和具体 block_reason,保持目标字节不变,转至 子流程「输出结果」。

  1. 不创建备份。
  2. 确认不存在残留临时文件。
  3. 设置 status=READY_FOR_LAYOUT,把 output 设为最终目标绝对路径,转至子流程「输出结果」。

NEEDS_AUTHOR_INPUTBLOCKED 时,必须删除临时文件并保持现有最终目标字节不变。

8. 子流程:输出结果

这是唯一允许结束执行的出口。任何前置分支只能设置 RESULT_CONTEXT 并转入本子流程,不得直接 输出裸状态或终止。

  1. 接收 RESULT_CONTEXT。若 status 不是三个合法状态之一,设置 status=BLOCKED

output=unchangedblock_reason="内部流程未生成合法状态。"

  1. 按下方状态矩阵归一化全部字段。未执行轮次保持 not_run;已执行轮次只写一句改动摘要。
  2. 校验非成功状态下 output=unchanged,并再次确认临时文件已删除。若清理失败,把具体原因写入

block_reason,保持 status=BLOCKED

  1. 按「报告格式」渲染且只输出一个完整 PROOFREAD_RESULT。对象前后不得添加正文、净稿、评分或

第二个状态对象。

  1. 输出完成后结束执行。没有其他路径可以结束。

报告格式

正文只存在于最终目标文件。回复中仅输出:

PROOFREAD_RESULT:
  status: READY_FOR_LAYOUT | NEEDS_AUTHOR_INPUT | BLOCKED
  platform: 微信公众号 | 小红书 | 微博 | 知乎 | 头条号 | 通用自媒体 | unknown
  source: 
  output: 
  hard_gates: passed | failed | not_run
  changes:
    pass_1: 
    pass_2: 
    pass_3: 
  author_questions: []
  block_reason: ""
  boundary: "仅代表文稿编辑就绪;未验证外部事实、法律合规或平台最新政策。"

字段值按状态固定:

  • READY_FOR_LAYOUT:平台已确定,output 是绝对路径,hard_gatespassed

author_questions 为空,block_reason 为空。

  • NEEDS_AUTHOR_INPUT:未识别平台时填 unknownoutputunchanged

最终门禁尚未运行时 hard_gatesnot_run,已经运行并发现作者依赖时填 failed; 未执行轮次填 not_runauthor_questions 必须是能直接补入原稿的具体问题, block_reason 为空。

  • BLOCKED:未识别平台时填 unknownoutputunchanged

最终门禁未运行时 hard_gatesnot_run,运行后失败填 failed;全部硬门禁通过、随后因 临时文件或原子写回失败而阻塞时填 passed; 未执行轮次填 not_runauthor_questions 为空,block_reason 必须是一条具体原因。

不得输出内部评分或冗长逐处报告。

示例

用户提供 article.md,要求“做三轮审校,去 AI 味后直接给排版”。

行动:读取完整文件,建立保真基线,执行三轮,门禁通过后原子覆盖 article.md。 回复中的 statusREADY_FOR_LAYOUToutputarticle.md 的绝对路径。

用户粘贴完整公众号成稿。原文没有事实缺口,三轮和门禁通过。

行动:把纯净终稿写到当前目录 proofread-content.md,报告留在回复中,不把报告追加到文件。

WRONG: 原文只写“效率提高很多”,终稿改成“效率提高 40%”并覆盖文件。

Reason: 40% 是原稿没有的事实。正确行为是保留可确认的表达;若具体数字对文章成立不可或缺, 设置 status=NEEDS_AUTHOR_INPUT 并通过统一输出子流程交付结果,保持原文件不变。

WRONG: 小红书稿出现一个 emoji,就把全文 emoji 全删,再新增“姐妹们快冲”和收藏 CTA。

Reason: 既机械套用规则,又越权重构平台表达。应按密度和作者声口判断,并且不得新增钩子或 CTA。

WRONG: 原稿写“2026年7月15日”和“37%”,终稿为了统一间距改成“2026 年 7 月 15 日”和“37 %”。

Reason: 日期与百分比是受保护字面值。即使数值含义未变,也必须保持原文字面形式。

失败路径

  • 输入缺失或不是完整成稿:NEEDS_AUTHOR_INPUT,不写文件。
  • 文件缺失、不可读、为空、编码错误或扩展名不支持:BLOCKED,不写文件。
  • 请求属于专业写作、从零创作、翻译、排版、发布或传播重构:BLOCKED,不写文件。
  • 原文存在必须由作者决定的事实冲突、占位符或材料缺口:NEEDS_AUTHOR_INPUT,不写文件。
  • 两次内部修复后硬门禁仍失败:BLOCKED,不写文件。
  • 原子替换不可用或失败:删除临时文件,设置 status=BLOCKED 并转至统一输出子流程,原文件保持不变。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.