Agent skill

Write

by yan-labs in yan-labs/yan-skills

中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills.

MITAuto-check passedWriting & Content

Install Write

skills CLI
$ npx skills add yan-labs/yan-skills --skill write -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yan-labs/yan-skills write --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
write
GitHub stars
213
Token cost
~1.1k tokens
SKILL.md length
185 words
Files
11 (incl. scripts, references)
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills.

  • Works in 3 steps: 判文体,定声音。 别往没有声音的文字里硬塞声音 → 改写,守住事实。 下面几类错误能躲过人名数字的核对,在真实改稿里都出现过,逐条防 → 防改平,再清字符。 改完再跑一遍脚本。句长变异低于…
  • Tasks that involve Humanizing AI text
  • SKILL.md covers 第一步:先定位,别猜, 阶段一 · 挖素材, 阶段二 · 定结构 and 阶段三 · 诊断已有初稿, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

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.

When your agent uses it

  • Tasks that involve Humanizing AI text

Example prompts

  • “/write”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. 判文体,定声音。 别往没有声音的文字里硬塞声音
  2. 改写,守住事实。 下面几类错误能躲过人名数字的核对,在真实改稿里都出现过,逐条防
  3. 防改平,再清字符。 改完再跑一遍脚本。句长变异低于 0.35、段落齐刷刷一样长、全篇一个节拍,读着和模板稿一样快被认出来,这叫改平,要回头把几处改回有长有短。然后清字符

What it can do on your machine

Read from SKILL.md and the folder at commit 4053ab4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from yan-labs/yan-skills at commit 4053ab4, republished under its MIT licence (© yan-labs). 185 words, ~1,094 tokens.

Download SKILL.mdSave it as .claude/skills/write/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
write
description
中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进。 一个流程走到底:判断手上有什么,读对应的 references 自己执行(挖素材、定结构、诊断初稿、文案、传播与标题), 最后强制过一遍内置中文体检(检测脚本 scripts/check.py)。 触发词:写文章、写稿、改稿、写作、写文案、写脚本、口播稿、公众号、小红书、标题、翻译、摘要、排版、去 AI 味、humanize、 这篇读着别扭、AI 味太重、读完脑子是乱的。

write · 中文写作总入口

这个入口只负责一件事,把中文写作的每一步做对,也别让人跳过该跳的步骤。所有环节都由你自己读 references 后执行,不需要用户敲任何别的命令。

第一步:先定位,别猜

问清楚用户手上有什么,再决定走哪条。四种状态对应四条路:

手上有什么走哪条
只有一个模糊想法,还没素材阶段一 · 挖素材
一堆零散笔记、转录、要点阶段二 · 定结构
一份写完的初稿,但读着不对阶段三 · 诊断(不要直接改句子)
一份准备发的稿子阶段四 · 中文体检
其他情形读哪个
情形读
公众号类长文、随笔、评论,要有真人的声音;或稿子太完美、读着像 AIreferences/longform-voice.md
要起标题、写小红书或口播稿、做传播设计;检查口播稿哪里会划走;诊断稿子有没有共鸣references/hooks-and-platforms.md
小红书等平台的标题公式,短视频开头钩子references/title-formulas.md
翻译、写摘要、只调格式、Markdown 转公众号 HTMLreferences/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。用户没有明确偏好时由你按这个标准选,并用一句话交代理由。

阶段三 · 诊断已有初稿

先跑三项体检,出结论再动手。跑完之前不要改任何句子。

体检一 · grounding 顺序

每个概念必须先落地,后面才能借它发力。借还没落地的概念,读者当场掉线——这是"读完脑子是乱的"最常见的病根,而且它在句子层面看不出来,每句话都通顺。

做法:从头读,维护一张"已落地概念"清单。每遇到一处发力,检查它依赖的概念在不在清单里。

四种典型错误:

  • 借还没到账的钱 —— 前面某句的力量依赖后面才讲的概念
  • 拆得太远 —— 概念在第二章落地,第五章才用,中间隔太久读者已经忘了
  • 落地两次 —— 同一个概念前面提半句、后面完整讲一遍。半个介绍比不介绍更糟
  • 该设成前提的塞进正文 —— 早段被定义淹没
体检二 · beats 还是 blocks

数一下全篇的并列条目。三十个平行要点意味着这是知识点堆叠,不是行进。

征兆:每节都以"X 是这样的"结尾,停在死路上,读者每节都要重新起跑。

体检三 · leading word 用够了没

有没有一个贯穿全篇的比喻?立起来之后是不是只在第一节用过就丢了?后面每一节能不能挂回它身上?

顺手要砍的
  • 章末小结。它跟正文抢记忆,读者读完正文再读一遍浓缩版,两份记忆互相干扰。留一句收束就够。
  • 信息密度全程满负荷。允许某些段落只有一句话。

诊断出结论后按结论直接改,或者结构问题太大就回阶段二重排。改完进阶段四。

阶段四 · 中文体检(不可跳过)

这一阶段内置了去 AI 味的全部做法:检测脚本、分档、保事实规则、文体判断、清字符。模式清单见 references/patterns-zh.md。

四步走
  1. 分档。 运行检测脚本:
bash
python3 ~/.claude/skills/write/scripts/check.py 稿件.md

脚本输出硬禁项、提示项、句长与段长变异和档位。按档位决定动多大的手:

档位做法
clean(≤20)只清字符和被标出的几处,不重写。人写的初稿自带的声音别抹掉
轻度(21-40)针对命中处改,顺手修节奏
混合及以上整段重写,按下面的文体目标重建

硬禁项(翻案腔、破折号、提示性冒号、口头路标)退出码为 1,必须清零。提示项回到上下文判断,不当黑名单。脚本只抓表层,跑完仍要通读一遍,找意思层面的同类写法:「它没有突然变强。它突然变得谁都能用了」没有一个关键词,翻案腔原样。

  1. 判文体,定声音。 别往没有声音的文字里硬塞声音:

    文体做法
    事实、科普、技术文档、商务、学术保守。只删套话,保留术语、归因、限定,不加第一人称、观点和旁白,不强行口语化
    随笔、评论、第一人称叙事可以放开。保留作者已有的态度和犹豫,用表达方式增强个人风格,不替作者编经历
    拿不准按保守处理

    用户给了写作样本,就从样本取句长、用词、标点习惯,不把样本里的经历和数据搬进目标文本。

  2. 改写,守住事实。 下面几类错误能躲过人名数字的核对,在真实改稿里都出现过,逐条防:

    • 不把「测得」改成「据称」,也不把「据称」改成断言
    • 不删掉最后一个限定:「有过度诊断的风险」删掉「风险」就成了断言
    • 不把批评读成夸奖
    • 不把数字挪到另一个名词上:「续航 30 小时」不能变成「降噪 30 小时」
    • 不丢关系:排名、先后、同时、否定、每个独立论断自己的条件
    • 不碰占位符:[姓名]、{{first_name}} 原样保留
    • 不加料。 成稿字数超过原稿的 1.25 倍,多出来的就是编的,分数再好也不留;允许删,不允许长
    • 不编日期、数据、引语、来源。没有细节就保持概括,不用虚构的数据显得具体
    • 保留原文主张不等于核实了主张,疑似事实错误另行说明,不用猜测替换
  3. 防改平,再清字符。 改完再跑一遍脚本。句长变异低于 0.35、段落齐刷刷一样长、全篇一个节拍,读着和模板稿一样快被认出来,这叫改平,要回头把几处改回有长有短。然后清字符:

bash
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

Files

SKILL.md and 10 other files (scripts, references) in write of yan-labs/yan-skills.

  • SKILL.md
  • references/beats.md
  • references/copy-and-research.md
  • references/fragments.md
  • references/hooks-and-platforms.md
  • references/longform-voice.md
  • references/patterns-zh.md
  • references/shape.md
  • references/title-formulas.md
  • references/translate-and-format.md
  • scripts/check.py

Open the folder on GitHubat commit 4053ab4

Compare with similar skills

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.

Write compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write this skillyan-labs/yan-skills213—~1.1kAutomated safety check: PassMIT
HumanizerAzure-Samples/interview-coach-agent-framework17338 repos~5.8kAutomated safety check: PassMIT
Avoid AI Writingconorbronsdon/avoid-ai-writing4.9k3 repos~8.1kAutomated safety check: PassMIT
User-Facing Text Cleanupguillaumemeyer/watermarks-remover24k—~3.5kAutomated safety check: PassMIT
Install Anti Sloptrycompai/crm11k1 repos~881Automated safety check: PassMIT
Stop SlopXe/site7328 repos~423Automated safety check: PassMIT

Similar skills

  • Humanizer

    Azure-Samples/interview-coach-agent-framework

    Official

    Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.

    173 GitHub starsUsed in 38 repos~5.8k tokens
    Writing & ContentAuto-check passed
  • Avoid AI Writing

    conorbronsdon/avoid-ai-writing

    Audit and rewrite content to remove AI writing patterns ("AI-isms").

    4.9k GitHub starsUsed in 3 repos~8.1k tokens
    Writing & ContentAuto-check passed
  • User-Facing Text Cleanup

    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.

    24k GitHub stars~3.5k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Install Anti Slop

    trycompai/crm

    Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.

    11k GitHub starsUsed in 1 repo~881 tokens
    Writing & ContentAuto-check passed
  • Stop Slop

    Xe/site

    Remove AI writing patterns from prose. An agent skill from Xe/site.

    732 GitHub starsUsed in 8 repos~423 tokens
    Writing & ContentAuto-check passed
  • Chinese Text Humanizer

    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.

    19k GitHub stars~2k tokensUpdated 18 days ago
    Writing & ContentAuto-check passed

More from yan-labs/yan-skills

All 10 skills in this repo
  • Rankup

    yan-labs/yan-skills

    独立开发者的项目全生命周期管理:需求验证、选词选品、建站或做原生 App、上线接入、SEO/GEO 获客、支付变现、监控迭代与跨会话接力。以下情况使用:用户提到 rankup 或 /rankup(check、review、init;doctor 仅指整理项目 .rankup 记录);当前目录或工作区有…

    213 GitHub stars~5.1k tokensUpdated yesterday
    Auto-check: notes
  • Backlink

    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…

    213 GitHub stars~8.9k tokensUpdated yesterday
    Auto-check passed
  • Opencli

    yan-labs/yan-skills

    当用户要用本机已登录 Chrome 操作或验收网页(含测试自己的站、E2E、截图)、读取登录后台、抓取无 API 的数据、填表,或排查 OpenCLI doctor、会话、adapter 故障,或明确提到 opencli、浏览器自动化、标签页被抢时使用。公开文本先用 HTTP;话题调研交 agent-reach;SEO 与选词决策交 rankup;外链选点、提交与…

    213 GitHub stars~6.8k tokensUpdated yesterday
    Auto-check passed
  • Skill Link Check

    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…

    213 GitHub stars~573 tokensUpdated yesterday
    Auto-check passed
  • Codex

    yan-labs/yan-skills

    当用户明确要求直接操作 Codex CLI 作为后台代理(自选 sandbox、codex review、apply、resume 等原生命令,或用 git worktree 并行布置多个 worker)做代码分析、编辑、审查时使用。普通的“让 Codex 或 GPT-6 写代码、调研、review”派单走 agent-fleet(fleet code);图片生成与网站视觉素材走…

    213 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Fleet

    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 派单,以及按全局…

    213 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed

Questions about Write

What does Write do?

中文写作的唯一入口,写文章、写稿、改稿、写文案、写脚本、去 AI 味都从这里进. An agent skill from yan-labs/yan-skills. Write is an agent skill from yan-labs/yan-skills.

When should I use Write?

Write fits situations like: tasks that involve Humanizing AI text.

How do I install Write in Claude Code?

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.

How do I install Write in Codex?

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.

Can I use Write in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Write need to run?

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.

Does Write access the network?

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.

Is Write safe to install?

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.

What licence does Write use?

Write is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write use?

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.

What are the alternatives to Write?

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.

Who maintains Write?

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.