post-validation

post-validation is a skill for Claude Code, Codex from LiPu-jpg/Openwrite. It costs 46 tokens per session (1,924 once invoked), scanned A, original, Apache-2.0.

A rule-based checker for chapter quality and signs of artificial-sounding writing. It looks for forbidden phrases, narration about the writing itself, overused words, formulaic plots, and emotions stated too directly.

In plain words
What is it for?
Use it to check chapters for banned wording, repetitive sentence patterns, generic plot events, overly formal language, and weak emotional showing.
Why use it?
It catches recurring writing problems quickly without using a language model. This gives authors a concrete list of issues to review.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/lipu-jpg/openwrite/post-validation
Any agent
npx skills add LiPu-jpg/Openwrite --skill post-validation
Clone the repo
git clone --depth 1 https://github.com/LiPu-jpg/Openwrite

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for post-validation

README.md
[![agentmods](https://agentmods.dev/badge/skills/lipu-jpg/openwrite/post-validation.svg)](https://agentmods.dev/skills/lipu-jpg/openwrite/post-validation)
Your own site
<a href="https://agentmods.dev/skills/lipu-jpg/openwrite/post-validation"><img src="https://agentmods.dev/badge/skills/lipu-jpg/openwrite/post-validation.svg" alt="Measured on agentmods" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,924 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.01924
Opus 5 $0.00023 $0.00962
Sonnet 5 $0.00009 $0.00385
Haiku 4.5 $0.00005 $0.00192

Measured 6d ago against content hash 1b8dacbb088e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

post-validation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/post-validation/SKILL.md · 215 lines

How it starts

The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.

后置验证系统

零 LLM 成本的确定性规则检测,快速检查章节质量,识别"AI味"问题。

核心概念

验证严重性

  • error - 必须修复(禁止句式等)
  • warning - 建议修复(AI味信号等)

一、基础规则检测

禁止句式(error)

规则 说明
不是...而是... 强制转折句式
—— 破折号
··· 或 。。 省略号

元叙事标记(warning)

标记 说明
"到这里算是" 作者旁白
"读者可能" 作者旁白
"作者想说" 作者旁白

报告术语(error)

术语 说明
核心动机 策划案术语
信息边界 策划案术语
叙事支撑 策划案术语
弧线转折 策划案术语

高疲劳词(warning)

建议频率
突然 ≤1次/章
瞬间 ≤1次/章
旋即 ≤1次/章
骤然 ≤1次/章

转折词密度(warning)

  • 超过 1次/3000字 触发警告

二、AI味深度检测

2.1 情节模板化(warning)

问题特征

  • 老梗堆叠(退婚、废材逆袭、跳崖得宝)
  • 缺乏真正的代价感和矛盾冲突
  • 人物选择和转折看得出的"平均值"感

检测关键词

  • "standard" feeling plot events
  • 常见桥段的直接套用

改进方向

  • 加入只有作者亲身体验才能写出的细节
  • 让冲突基于角色心理必然,而非剧情需要

2.2 语言太"标准"(warning)

问题特征

  • 语法完美、句式平均
  • 几乎没有口语、瑕疵和个性语感
  • 像公文或说明书的文学版

检测特征

  • 句式长度高度一致
  • 缺乏省略句、碎片句
  • 0% 方言或口语表达

改进方向

  • 加入角色的语言习惯
  • 添加口吃、停顿、省略
  • 让人物有"口音"

2.3 情绪"说出来"而非"呈现"(warning)

问题特征

  • 爱用"他很悲伤""她很愤怒"直白标签
  • 缺少通过动作、细节、场景让读者自己体会的描写
  • 只会"告诉",不会"呈现"

检测模式

  • "[角色]很[情绪词]" 句式
  • 情绪词直接跟在角色名后

改进方向

  • 删除"他很难过"类句子
  • 改为小动作、身体感受、环境细节
  • 让读者自己得出情绪结论

示例

❌ "他很难过,眼泪止不住地流"
✅ "他把脸埋进手掌里,肩膀抖了几下。茶杯里的水洒了一地。"

❌ "她很愤怒"
✅ "她抄起桌上的碗就砸过去"

❌ "张三心里一沉,感到不妙"
✅ "张三手里的信纸被捏成一团"

2.4 缺乏真实细节(warning)

问题特征

  • 只有空泛形容("长白山很美""春节很温馨")
  • 缺少亲身体验里的:
    • 冷风的味道
    • 厕所里的咖啡味
    • 书架的灰尘味
    • 尴尬的细节

改进方向

  • 添加只有亲历者才知道的感官细节
  • 用怪异又真实的小细节增加"人味"

2.5 陈词滥调和套路比喻(warning)

问题特征

  • "心如刀绞""犹如一条沉重的毯子笼罩着她"
  • 高频比喻,一看就是库里的通用句

检测词表

  • 心如刀绞、心如止水
  • 沉重的、笼罩、笼罩着
  • 眸光、冷冽的目光
  • 一道、仿佛

改进方向

  • 用更具体、更个人化的比喻
  • 或完全不用比喻,用动作说话

2.6 用词和句法高度重复(warning)

问题特征

  • 同样的句式、情绪词一再出现
  • 每次紧张都"额头渗出细密的汗珠"

检测

  • 同一动作描写在章内重复超过2次
  • 同一表情词在章内重复超过3次

改进方向

  • 为不同角色设计不同的紧张表现
  • 用更丰富的动作词汇

2.7 上下文记忆差/人物前后不一(warning)

问题特征

  • 前面立的性格设定、创伤、价值观,后面容易忘
  • 人物行为为剧情服务,而非基于心理必然

改进方向

  • 验证角色行为是否与之前设定一致
  • 检查是否有铺垫被遗忘

2.8 节奏感薄弱(warning)

问题特征

  • 场景结束得干脆甚至突兀
  • 不懂"留一点余味就收"的节制
  • 不会通过节奏变化制造张力
  • 线性推进,缺乏起伏

Read the full file on GitHub · 215 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 215 lines · 46 tokens per session scan A 1b8dacbb088e

Subscribe to this mod's changes

post-validation is a skill published in the GitHub repository LiPu-jpg/Openwrite (686 stars, last pushed 9d ago), licensed Apache-2.0. It adds 46 tokens to every session and 1,924 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

awesome-novel

和 AI 协作写小说的工作流系统。9 个 agent 协作完成从设定到归档的完整写作流程。入口检测 → 初始化/迁移 → 交 novel-agent 调度。适用场景:从零写新小说、导入已有小说。.

modoojunko/awesome-novel-agent · 66 tokens

workflow-producer

Skill "workflow-producer" from dongbeixiaohuo/writing-agent, covering 工作流导演 (workflow producer), ⚠️ 第一条规则:先确定模式,但不重复询问, 第二条规则:使用 subagent 执行任务, 第三条规则:风格必须显式确认,禁止代选 and 第四条规则:v2 协议是唯一机器契约源.

dongbeixiaohuo/writing-agent · 110 tokens

style-modeler

只根据用户提供或明确允许获取的样本建模。把作者身份用于样本分组和风格库检索,不把外部履历、既有印象或样本之外的观点写进风格档案。.

dongbeixiaohuo/writing-agent · 85 tokens

web-article-extractor

使用隔离的 Chrome DevTools MCP 从博客、新闻、公众号等网页提取正文,返回结构化内容,或保存 Markdown 和远程图片。用户要求提取文章、抓取网页正文、保存为 Markdown、下载文章图片或排查正文选择器时调用。.

dongbeixiaohuo/writing-agent · 66 tokens

clarity

Draft, rewrite, or review reader-facing prose so it is specific, useful, and recognizably the author's without inventing facts or performing humanness. Use for essays, articles, newsletters, documentation, talks, launch copy, and other important prose that feels generic, hollow, or AI-shaped. Supports co-write…

addyosmani/clarity · 76 tokens

predict

Estimate likely 24-hour post performance from the user's historical data. Use after the user writes a post and wants a range estimate, upside view, or expectation check.

akseolabs-seo/AK-Threads-booster · 35 tokens