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.
npx skills add easyzoom/proofreader-skill --skill proofreader-skillgit clone --depth 1 https://github.com/easyzoom/proofreader-skillWrote 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.
[](https://agentmods.dev/skills/easyzoom/proofreader-skill/proofreader-skill)<a href="https://agentmods.dev/skills/easyzoom/proofreader-skill/proofreader-skill"><img src="https://agentmods.dev/badge/skills/easyzoom/proofreader-skill/proofreader-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/easyzoom/proofreader-skill/proofreader-skill"><img src="https://agentmods.dev/badge/skills/easyzoom/proofreader-skill/proofreader-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00181 | $0.01771 |
| Opus 5.5 | $0.00072 | $0.00708 |
| Sonnet 5.5 | $0.00036 | $0.00354 |
| Haiku 4.5 | $0.00018 | $0.00177 |
Grade A, and why
proofreader-skill 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Proofreader
通用校对能力,包含两条并行且同等重要的主线:代码校对 和 文档校对。先判断输入属于哪一类,再进入对应流程;两者都涉及时,分别过一遍。
第一步:分类
- 输入主要是源代码(任意语言) → 进入「代码校对」
- 如果代码语言在下面的「语言特定形式化验证后端」列表里,且代码里出现对应的契约/规约标记 → 额外启用对应后端(可能不止一种,比如既有 ACSL 注释又想找具体反例)
- 否则(或者没有工具支持的语言/没写契约)走通用代码逻辑审查 →
references/code-proofreading.md
- 输入主要是自然语言文档/文本(任意语言) → 进入「文档校对」→
references/doc-proofreading.md - 两者都有(例如 README + 代码示例)→ 分别执行两条流程
语言特定形式化验证后端
| 语言 | 契约/规约标记 | 静态证明 | 运行时验证/找反例 |
|---|---|---|---|
| C | /*@ ... */ 或 //@,含 requires/ensures/assigns/invariant 等 |
references/acsl-frama-c.md(Frama-C WP) |
references/eacsl-runtime.md(E-ACSL) |
| Python | @icontract.require/@icontract.ensure 装饰器 |
references/python-contracts.md(CrossHair,注意不是穷尽证明) |
references/python-contracts.md(icontract 运行时检查) |
| Rust | 用户明确要求验证,或代码里已有 #[kani::proof] harness |
references/rust-kani.md(Kani,无循环代码是穷尽式,含循环需查展开界限) |
同上(Kani 一次跑同时覆盖) |
| Java | //@ 或 /*@ ... */ 注释,含 requires/ensures/invariant 等(JML) |
references/java-openjml.md(OpenJML -esc) |
同上(OpenJML 同一个命令一次跑完) |
| C++ | 用户明确要求验证(没有成熟的 ACSL for C++ 标准) | references/cpp-cbmc.md(CBMC,无循环代码是穷尽式,含循环需查展开界限,和 Kani 同理) |
同上(CBMC 一次跑同时覆盖) |
每种后端都遵循同一个模式:契约本身要先人工校对(规约是否写全、写对),再实际调用工具验证,不要仅凭肉眼判断。跑工具前先检查工具是否已安装,缺失就如实告知并给出安装方式,不要假装验证过。
代码校对总原则
- 不只看语法和风格,要追踪数据流/控制流,找真正会在具体输入或状态下触发的问题,而不是泛泛的"风格建议"。
- 每个发现都要给出:文件位置、触发场景(什么输入/状态下出错)、以及现有代码为什么没有覆盖这种情况。
- 有工具可做形式化验证时,优先实际跑工具得出结论,不要仅凭肉眼判断规约/契约是否成立——静态证明和运行时检查都比人工推演可靠,但要注意不同工具的严格程度不同(例如 Frama-C/WP 是穷尽式数学证明,CrossHair 只是有限预算内的符号搜索,不能混为一谈,具体差异见对应 reference 文件)。
文档校对总原则
见 references/doc-proofreading.md。核心是语法正确性、术语一致性、跨语言表达自然度、格式规范,不擅自改写作者的行文风格。
参考文件
references/code-proofreading.md— 通用代码逻辑校对方法论(不限语言)references/acsl-frama-c.md— ACSL 规约校对 + Frama-C 静态证明调用方法(C)references/eacsl-runtime.md— E-ACSL 运行时验证调用方法(C)references/python-contracts.md— icontract 契约校对 + CrossHair 符号执行调用方法(Python)references/rust-kani.md— Kani 有界模型检验调用方法(Rust)references/java-openjml.md— JML 规约校对 + OpenJML-esc调用方法(Java)references/cpp-cbmc.md— CBMC 有界模型检验调用方法(C++)references/doc-proofreading.md— 多语言文档校对方法论
What ships with it
41 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/banner.svg 5.5 KB
- assets/icons/c.svg 848 B
- assets/icons/cpp.svg 850 B
- assets/icons/java.svg 851 B
- assets/icons/python.svg 849 B
- assets/icons/rust.svg 849 B
- examples/abs-int/abs_buggy.c 269 B
- examples/abs-int/abs_fixed.c 313 B
- examples/abs-int/README.md 3.4 KB
- examples/code-proofreading/merge_intervals_buggy.py 561 B runs code
- examples/code-proofreading/merge_intervals_fixed.py 598 B runs code
- examples/code-proofreading/README.md 2.6 KB
- examples/cpp-cbmc/README.md 2.7 KB
- examples/cpp-cbmc/stack_buggy.cpp 383 B
- examples/cpp-cbmc/stack_fixed.cpp 425 B
- examples/doc-proofreading/README.md 1.5 KB
- examples/doc-proofreading/report.md 2.8 KB
- examples/doc-proofreading/sample-doc-fixed.md 723 B
- examples/doc-proofreading/sample-doc.md 782 B
- examples/java-openjml/AbsBuggy.java 145 B
- examples/java-openjml/AbsFixed.java 185 B
- examples/java-openjml/README.md 1.7 KB
- examples/python-contracts/first_index_buggy.py 506 B runs code
- examples/python-contracts/first_index_fixed.py 502 B runs code
- examples/python-contracts/README.md 2.3 KB
- examples/rust-kani/buggy/Cargo.lock 164 B
- examples/rust-kani/buggy/Cargo.toml 75 B
- examples/rust-kani/buggy/src/lib.rs 377 B
- examples/rust-kani/fixed/Cargo.lock 164 B
- examples/rust-kani/fixed/Cargo.toml 75 B
- examples/rust-kani/fixed/src/lib.rs 504 B
- examples/rust-kani/README.md 2.2 KB
- references/acsl-frama-c.md 5.5 KB
- references/code-proofreading.md 2.1 KB
- references/cpp-cbmc.md 3.9 KB
- references/doc-proofreading.md 2.0 KB
- references/eacsl-runtime.md 4.5 KB
- references/java-openjml.md 3.2 KB
- references/python-contracts.md 3.5 KB
- references/rust-kani.md 3.4 KB
- scripts/verify.sh 9.7 KB runs code
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.
- 1mo ago First seen · 67 lines · 181 tokens per session scan A ad230cd79f27
proofreader-skill is a skill published in the GitHub repository easyzoom/proofreader-skill (2 stars, last pushed 3mo ago), licensed MIT. It adds 181 tokens to every session and 1,771 once invoked, about $0.0007 per session on Opus 5.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-31.
Other skills, from other repositories
frama-c-proofreader
Verify and proofread C code with ACSL using this repository's Frama-C MCP workflow, Frama-C WP static proof, EVA alarms, and optional E-ACSL runtime checks. Use when asked to run Frama-C, check ACSL contracts, explain WP goals, inspect EVA alarms, validate C annotations, or state what a C proof does and does not…
autoreview
Structured code review through the shared OpenClaw agent-skills installation.
omh-code-review
This is an OMH code-review workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
revdiff-plan
Review the last Codex assistant message (plan, analysis, or proposal) with inline annotations in a TUI overlay. Extracts the most recent response from Codex rollout files and opens it in revdiff for review and annotation. Activates on "revdiff-plan", "review plan with revdiff", "annotate plan", "review last response"…
asplos-writing-style
Use when drafting or revising ASPLOS prose — engineering the first two pages that rapid review actually reads, stating the cross-layer insight as one quotable sentence, structuring per-layer mechanism sections, writing bounded claims, and fitting everything into 11 self-contained pages that include figures and…
explore-unknowns
Guide the user through a quadrant walk that maps the unknowns of a task — open by listing the known knowns, then work through known unknowns, unknown knowns, and unknown unknowns one stage at a time, ending with a complete four-quadrant map in the user's hands. Use when a request is ambiguous or underspecified, the…