Humanizer
Azure-Samples/interview-coach-agent-framework
Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.
中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills.
$ npx skills add yan-labs/yan-skills --skill write -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yan-labs/yan-skills write --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/write .claude/skills/write && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .claude/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yan-labs/yan-skills/tree/main/writeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yan-labs/yan-skills --skill write -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yan-labs/yan-skills write --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/write .agents/skills/write && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .agents/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yan-labs/yan-skills --skill write -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yan-labs/yan-skills write --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/write .cursor/skills/write && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .cursor/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yan-labs/yan-skills.git --path write--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yan-labs/yan-skills --skill write -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yan-labs/yan-skills write --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/write .gemini/skills/write && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .gemini/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yan-labs/yan-skills writeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yan-labs/yan-skills --skill write -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/write .github/skills/write && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .github/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yan-labs/yan-skills --skill write -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yan-labs/yan-skills write --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yan-labs/yan-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/write .opencode/skills/write && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "write" agent skill from https://github.com/yan-labs/yan-skills/tree/main/write into .opencode/skills/write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
write中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills.
Write is an agent skill from yan-labs/yan-skills. 中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进。 一个流程走到底:判断手上有什么,读对应的 references 自己执行(挖素材、定结构、诊断初稿、文案、传播与标题), 最后强制过一遍内置中文体检(检测脚本 scripts/check.py)。 触发词:写文章、写稿、改稿、写作、写文案、写脚本、口播稿、公众号、小红书、标题、翻译、摘要、排版、去 AI 味、humanize、 这篇读着别扭、AI 味太重、读完脑子是乱的。
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `references/beats.md`, `references/copy-and-research.md` and `references/fragments.md`).
It sits in Writing & Content, covering Humanizing AI text. The repository describes itself as: Yan's agent skills collection — Google Trends SEO workflows, AI news, autopilot, and more. For Claude Code / Codex / Cursor. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4053ab4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Write loads about 1.1k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 185 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from yan-labs/yan-skills at commit 4053ab4, republished under its MIT licence (© yan-labs). 185 words, ~1,094 tokens.
.claude/skills/write/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.这个入口只负责一件事,把中文写作的每一步做对,也别让人跳过该跳的步骤。所有环节都由你自己读 references 后执行,不需要用户敲任何别的命令。
问清楚用户手上有什么,再决定走哪条。四种状态对应四条路:
| 手上有什么 | 走哪条 |
|---|---|
| 只有一个模糊想法,还没素材 | 阶段一 · 挖素材 |
| 一堆零散笔记、转录、要点 | 阶段二 · 定结构 |
| 一份写完的初稿,但读着不对 | 阶段三 · 诊断(不要直接改句子) |
| 一份准备发的稿子 | 阶段四 · 中文体检 |
| 情形 | 读 |
|---|---|
| 公众号类长文、随笔、评论,要有真人的声音;或稿子太完美、读着像 AI | references/longform-voice.md |
| 要起标题、写小红书或口播稿、做传播设计;检查口播稿哪里会划走;诊断稿子有没有共鸣 | references/hooks-and-platforms.md |
| 小红书等平台的标题公式,短视频开头钩子 | references/title-formulas.md |
| 翻译、写摘要、只调格式、Markdown 转公众号 HTML | references/translate-and-format.md |
| 官网首页、落地页、定价页等营销文案;带引用和来源的文章 | references/copy-and-research.md |
| 阶段四查模式、改写前定位 AI 痕迹 | references/patterns-zh.md |
用户说"读着别扭"或"AI 味重"时,默认进阶段三,不要进阶段四。 句子层面的毛病多半是结构问题的症状,直接修句子是在给骨折贴创可贴。
读 references/fragments.md,然后自己执行:用追问把素材逼出来,片段追加进同一个文件,不排结构。这一步最值钱的产出是 leading word,一个能撑起整篇的比喻或造词,它决定后面的结构、转场和标题。
有素材堆之后,按读者怎么读来选。读者需要被带着走就读 references/beats.md,读者自己知道要找什么就读 references/shape.md,读完照着执行。
面向完全不懂的读者做科普,一律用 beats。用户没有明确偏好时由你按这个标准选,并用一句话交代理由。
先跑三项体检,出结论再动手。跑完之前不要改任何句子。
每个概念必须先落地,后面才能借它发力。借还没落地的概念,读者当场掉线——这是"读完脑子是乱的"最常见的病根,而且它在句子层面看不出来,每句话都通顺。
做法:从头读,维护一张"已落地概念"清单。每遇到一处发力,检查它依赖的概念在不在清单里。
四种典型错误:
数一下全篇的并列条目。三十个平行要点意味着这是知识点堆叠,不是行进。
征兆:每节都以"X 是这样的"结尾,停在死路上,读者每节都要重新起跑。
有没有一个贯穿全篇的比喻?立起来之后是不是只在第一节用过就丢了?后面每一节能不能挂回它身上?
诊断出结论后按结论直接改,或者结构问题太大就回阶段二重排。改完进阶段四。
这一阶段内置了去 AI 味的全部做法:检测脚本、分档、保事实规则、文体判断、清字符。模式清单见 references/patterns-zh.md。
python3 ~/.claude/skills/write/scripts/check.py 稿件.md脚本输出硬禁项、提示项、句长与段长变异和档位。按档位决定动多大的手:
| 档位 | 做法 |
|---|---|
| clean(≤20) | 只清字符和被标出的几处,不重写。人写的初稿自带的声音别抹掉 |
| 轻度(21-40) | 针对命中处改,顺手修节奏 |
| 混合及以上 | 整段重写,按下面的文体目标重建 |
硬禁项(翻案腔、破折号、提示性冒号、口头路标)退出码为 1,必须清零。提示项回到上下文判断,不当黑名单。脚本只抓表层,跑完仍要通读一遍,找意思层面的同类写法:「它没有突然变强。它突然变得谁都能用了」没有一个关键词,翻案腔原样。
判文体,定声音。 别往没有声音的文字里硬塞声音:
| 文体 | 做法 |
|---|---|
| 事实、科普、技术文档、商务、学术 | 保守。只删套话,保留术语、归因、限定,不加第一人称、观点和旁白,不强行口语化 |
| 随笔、评论、第一人称叙事 | 可以放开。保留作者已有的态度和犹豫,用表达方式增强个人风格,不替作者编经历 |
| 拿不准 | 按保守处理 |
用户给了写作样本,就从样本取句长、用词、标点习惯,不把样本里的经历和数据搬进目标文本。
改写,守住事实。 下面几类错误能躲过人名数字的核对,在真实改稿里都出现过,逐条防:
[姓名]、{{first_name}} 原样保留防改平,再清字符。 改完再跑一遍脚本。句长变异低于 0.35、段落齐刷刷一样长、全篇一个节拍,读着和模板稿一样快被认出来,这叫改平,要回头把几处改回有长有短。然后清字符:
python3 ~/.claude/skills/write/scripts/check.py --clean 稿件.md > 稿件.clean.md --clean 去掉不可见字符、全角空格等异常空格、行尾空白,把中文后面的半角 , ; : ? ! 转成全角;代码块、行内代码、网址、front matter 原样保留。只写入新文件,确认无误再替换,别直接覆盖原稿。
最高优先级:禁止「先否定后肯定」。 「不是A,而是B」及全部变体,包括意思层面的同类写法。改法是删掉否定的那半句,不是换个说法。「不只……还……」是正常递进,不在翻案位置就可以用。
矫饰文风是红线级的 AI 味。 用比喻和花腔代替直说:「一个值得调的参数」写成「一个值得拧的旋钮」。判据是这个比喻删掉之后意思有没有损失,没有损失的一律删。阶段一的 leading word 是例外,它是全篇骨架,一篇只允许一个,且每节都要挂回去;挂不回去的比喻就是矫饰。
密度。 每句一个意思,二十字上下;一段只推进一步;允许某些段落只有一句话。
格式。 列表和加粗只在内容确实多面时用;叙事、抒情、对话一律平铺散文。列表不是结构,常常是没想清楚顺序的遮羞布。读者要极简格式,就一个项目符号、一个标题、一处加粗都不留。
引文要标出来。 总结别人的材料,先按「几家说法在哪里一致、在哪里不同」组织,每家用自己的话转述,整篇最多留一处带引号的短语并注明出自谁。
其余同样要查:正文里的 ——(列表分隔符里的可留);数量漂移,改过内容后配图说明里的「四个红框」、小结条数、「前面五章」一律重新核。
分数描述的是眼前这段文字,不能用来判断作者是谁,更不能用来指控任何人。它也不保证通过任何检测器。
减法产生不了好文章。 把 AI 痕迹清到零,只是把标记擦掉了,不等于写得好。清单管"别写什么",笔法管"该怎么写",两件事都得做。
结构问题不要在句子层面修。 用户抱怨句子的时候,先怀疑结构。
改完必重核计数。 每一轮修改都会让配图数量、小结条数、章节引用对不上。这是最容易漏、也最显得业余的一类错误。
© yan-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references) in write of yan-labs/yan-skills.
Open the folder on GitHubat commit 4053ab4
Write next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Write this skillyan-labs/yan-skills | 213 | — | ~1.1k | Automated safety check: Pass | MIT | |
| HumanizerAzure-Samples/interview-coach-agent-framework | 173 | 38 repos | ~5.8k | Automated safety check: Pass | MIT | |
| Avoid AI Writingconorbronsdon/avoid-ai-writing | 4.9k | 3 repos | ~8.1k | Automated safety check: Pass | MIT | |
| User-Facing Text Cleanupguillaumemeyer/watermarks-remover | 24k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Install Anti Sloptrycompai/crm | 11k | 1 repos | ~881 | Automated safety check: Pass | MIT | |
| Stop SlopXe/site | 732 | 8 repos | ~423 | Automated safety check: Pass | MIT |
Azure-Samples/interview-coach-agent-framework
Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.
conorbronsdon/avoid-ai-writing
Audit and rewrite content to remove AI writing patterns ("AI-isms").
guillaumemeyer/watermarks-remover
Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.
trycompai/crm
Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.
Xe/site
Remove AI writing patterns from prose. An agent skill from Xe/site.
op7418/Humanizer-zh
Edits Chinese articles, comments and documents to remove filler, repetition and template phrasing while keeping the facts, the level of certainty and the author's voice.
yan-labs/yan-skills
独立开发者的项目全生命周期管理:需求验证、选词选品、建站或做原生 App、上线接入、SEO/GEO 获客、支付变现、监控迭代与跨会话接力。以下情况使用:用户提到 rankup 或 /rankup(check、review、init;doctor 仅指整理项目 .rankup 记录);当前目录或工作区有…
yan-labs/yan-skills
A skill your agent uses for backlink work - finding, qualifying, submitting, analyzing or verifying backlinks, directory and blog-comment placements, competitor link sources, anchors, toxic links…
yan-labs/yan-skills
当用户要用本机已登录 Chrome 操作或验收网页(含测试自己的站、E2E、截图)、读取登录后台、抓取无 API 的数据、填表,或排查 OpenCLI doctor、会话、adapter 故障,或明确提到 opencli、浏览器自动化、标签页被抢时使用。公开文本先用 HTTP;话题调研交 agent-reach;SEO 与选词决策交 rankup;外链选点、提交与…
yan-labs/yan-skills
A skill your agent uses when a skill or slash command is missing, duplicated, not loading, or inconsistent between .agents/skills and .claude/skills; includes “skill 没生效”“检查 skill 链接” and broken…
yan-labs/yan-skills
当用户明确要求直接操作 Codex CLI 作为后台代理(自选 sandbox、codex review、apply、resume 等原生命令,或用 git worktree 并行布置多个 worker)做代码分析、编辑、审查时使用。普通的“让 Codex 或 GPT-6 写代码、调研、review”派单走 agent-fleet(fleet code);图片生成与网站视觉素材走…
yan-labs/yan-skills
使用本机 fleet 分派 Codex GPT-6.1 Sol、Gemini、Grok 或 JEV 任务,或调用 Kollab 图片/视频/音频/多模态能力时使用;包括用户点名 agent-fleet、Nano Banana、nanobanana、香蕉、便宜模型、多模型并行,用户说“让 Codex 或 GPT-6.1 Sol 做某事”的编码、调研与 review 派单,以及按全局…
Categories
中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills. Write is an agent skill from yan-labs/yan-skills.
Write fits situations like: tasks that involve Humanizing AI text.
Run `npx skills add yan-labs/yan-skills --skill write -a claude-code`. Or copy the skill folder (write in yan-labs/yan-skills) into .claude/skills/write in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yan-labs/yan-skills --skill write -a codex`. Or copy the skill folder (write in yan-labs/yan-skills) into .agents/skills/write in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yan-labs/yan-skills --skill write -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write, .gemini/skills/write, .github/skills/write and .opencode/skills/write in your project.
Going by SKILL.md and its folder, Write needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Write is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Write: Humanizer (Azure-Samples/interview-coach-agent-framework, 173 stars), Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars), User-Facing Text Cleanup (guillaumemeyer/watermarks-remover, 24k stars) and Install Anti Slop (trycompai/crm, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yan-labs (a GitHub user) maintains it in yan-labs/yan-skills, which has 213 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.
Source: yan-labs/yan-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.