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 XRenSiu/claude-code-forge --skill humanizegit clone --depth 1 https://github.com/XRenSiu/claude-code-forgeWrote 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/xrensiu/claude-code-forge/humanize)<a href="https://agentmods.dev/skills/xrensiu/claude-code-forge/humanize"><img src="https://agentmods.dev/badge/skills/xrensiu/claude-code-forge/humanize/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/xrensiu/claude-code-forge/humanize"><img src="https://agentmods.dev/badge/skills/xrensiu/claude-code-forge/humanize.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.00189 | $0.05477 |
| Opus 5.5 | $0.00076 | $0.02191 |
| Sonnet 5.5 | $0.00038 | $0.01095 |
| Haiku 4.5 | $0.00019 | $0.00548 |
Grade A, and why
humanize 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 — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
humanize
输入一份读起来像 AI 的草稿,输出一份事实一字不改、表达像一个称职的专业人写的版本, 外加一份工艺报告(改了哪、为什么、事实比对结果、冷读者判决)。
缺口(deletion 测试)
撤掉本 skill,让引擎"把这段改得像人写的",它会:换掉 delve/赋能 这类词、把 bullet 拆成段、 加几个"我觉得"——然后交回一份词变了、线没变的稿子。读者照样在第二段跟丢。原因是引擎缺三样东西:
- φ(判据):什么叫"跟得上"。它知道的是词表(Wikipedia 那 60 条),不知道旧-新契约、 主题串、重点位泄漏、列表替代论证、立场扁平——这些才是"每个字都认识但读不懂"的机制。
- Π(原语):改写会静默改事实(数字、日期、标识符、确定性)。引擎自己核对不可靠,
Belem et al. 2026 测得改写在最多 75% 的输出里扭曲了确定性。需要
factdiff.py这种不可绕过的比对。 - γ(控制):自己评自己会放大自偏(arXiv 2402.11436)。评审必须在隔离上下文里由一个 没看过写作意图的读者做,且轮数封顶。
词表层(delve / 赋能 / 排比 / 破折号)现成工具已经解决,本 skill 复用,不重造。增量在语篇层。
Σ:AI 味的三层,与读者卡住的位置
| 层 | 现成工具覆盖 | 本 skill 的处理 | 读者症状 |
|---|---|---|---|
| 词汇 | 是(Wikipedia 表的各种变体) | humanlint.py 报密度;references/patterns-*.md 给改法与"何时不改" |
"这词太 AI" |
| 句法 / 排版 | 部分 | 名词化、分词尾巴、对照框架、三连、均匀句长、bullet/加粗密度 | "读着累" |
| 语篇 | 无 | 旧-新倒置、主题串断裂、重点位泄漏、列表替代论证、章节互相复述、立场扁平、套路化开头、总结式收尾 | "每个字都认识,就是跟不上" |
机制全文见 references/discourse.md(每条:机制 / 语料证据 / 症状 / 检查 / 改法)。写第一份改写前先读它,
再读对应语言的 references/patterns-zh.md 或 patterns-en.md。样本对照见 fixtures/ai-*.md → human-*.md。
语域先定,再动手。 默认语域是专业书面(方案 / 设计 / 复盘 / 邮件):克制、有判断、有数字。 在这个语域里,口语词、情绪、人设、emoji 是新的 AI 味(研究里叫"AI 味 2.0"),不是解药。 学术论文语域允许"进行 + 动词"与被动句。参考类文档(API / 配置表)不进本 skill(列表和表格本来就对)。
体裁决定动不动骨架。 方案 / 设计 / ADR / 复盘 / 备忘录是一个人从头读到尾的东西,列表替代论证、标题当分类名都是病,
改写可以重组结构。研究报告(report)、README 叙述段、参考文档是扫着看的,标题、列表、表格、加粗是读者的入口,
改写只动散文段里的句子——这就是 --keep-structure(--genre report|readme|reference 时默认开,其他体裁可显式加)。
骨架是否一致由 structdiff.py 判:标题层级序列、列表块与项数、表格行列、代码块内容一个都不能变;拆并段落、改标题文字合法。
两种模式都可以把一段散文写得更像人;差别只在能不能碰读者用来扫读的那层。上一次的教训:一份要扫的报告被按方案体裁改成了
40 段 200 字的散文,读者看不下去。
改的是表达,不是内容。 改写只有一种合法的信息增量:把来源里已有的具体信息(数字、名字、
例子)从被形容词遮住的地方挖出来。来源没有的,写 [需核实:…] / [unverified: …] 占位,
不编。一份带占位的诚实稿好过一份填满编造数字的"像人"稿。
φ:什么算改对了(exit criteria,按层;机器可判的部分由 humanlint / factdiff 在出口 verify,语篇层由 cold-reader)
文档层
- 第一段是触发事件或问题本身(有日期 / 数字 / 专名),不是背景。
- 决定 / 推荐 / 核心主张在前 3 段内以一句话出现(方案、设计、ADR、备忘录体裁)。
- 没有"总之 / 综上 / In conclusion" 段;结尾是最后一条新信息(下一步、未决点、什么证据会推翻结论)。
- 删掉任何一段,结论都少一条支撑;删掉后无损的段是复述,不存在。
- 列表只剩真并列、真无序的项;项间有因果 / 前提 / 取舍关系的已展开成段并写出关系词。
- 标题是主张片段("为什么不用 Kafka"),不是分类名("技术选型")。
--keep-structure下上面两条让位:结构骨架与原文一致(structdiff.pyverdict ≠ fail);列表项之间的关系词写进各项自己的表述里,不展开;标题文字可改,层级 / 数量 / 顺序不可。
What ships with it
16 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.
- eval/gate.json 6.4 KB
- eval/report.md 3.6 KB
- fixtures/ai-en.md 3.0 KB
- fixtures/ai-zh.md 2.4 KB
- fixtures/ai-zh.rephrased.md 2.4 KB
- fixtures/cold-read.example.yaml 2.4 KB
- fixtures/human-en.md 2.2 KB
- fixtures/human-zh.md 1.9 KB
- references/discourse.md 12 KB
- references/patterns-en.md 9.2 KB
- references/patterns-zh.md 8.5 KB
- references/sources.md 10 KB
- scripts/factdiff.py 8.1 KB runs code
- scripts/humanlint.py 30 KB runs code
- scripts/structdiff.py 8.3 KB runs code
- scripts/verify_coldread.py 6.8 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 Changed · +22 lines ecc90af65d74
- 1mo ago First seen · 162 lines · 189 tokens per session scan A 9d0f8980f637
humanize is a skill published in the GitHub repository XRenSiu/claude-code-forge (2 stars, last pushed 29d ago), licensed MIT. It adds 189 tokens to every session and 5,477 once invoked, about $0.0008 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-09-05.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…