ai-style

ai-style is a skill for Claude Code, Codex from bojieli/ai-agent-book. It costs 25 tokens per session (3,406 once invoked), scanned A, original, Apache-2.0.

A Chinese-language writing guide for producing or revising reader-facing text such as product announcements, public-account articles, emails, and README files. It focuses on reducing patterns that make writing sound machine-generated.

In plain words
What is it for?
Use it when drafting or revising Chinese product copy, articles, emails, or documentation, especially when text has been criticised as sounding like AI.
Why use it?
It helps writers spot repetitive structures, slogans, and awkward punctuation that can make Chinese copy feel unnatural or overly formulaic.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when drafting or revising Chinese product copy, articles, emails, or documentation, especially when text has been criticised as sounding like AI.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bojieli/ai-agent-book/skill
About the project

AI Agent: Design Principles and Engineering Practice is an open-source book that explains how AI agents combine language models, context, and tools, with accompanying experiments and code. It is intended for readers studying the principles and engineering of AI agents, from fundamentals through production use. The catalogue skills support coding-agent work related to the book's subject matter.

bojieli/ai-agent-book · 45,000 stars · on GitHub

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.

Any agent
npx skills add bojieli/ai-agent-book --skill skill
Clone the repo
git clone --depth 1 https://github.com/bojieli/ai-agent-book

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 ai-style

README.md
[![agentmods](https://agentmods.dev/badge/skills/bojieli/ai-agent-book/skill.svg)](https://agentmods.dev/skills/bojieli/ai-agent-book/skill)
Your own site
<a href="https://agentmods.dev/skills/bojieli/ai-agent-book/skill"><img src="https://agentmods.dev/badge/skills/bojieli/ai-agent-book/skill.svg" alt="Measured on agentmods" height="20"></a>
Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,406 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. ✓ AI security review Sonnet 5 · 6 Sept 2026 📄 Read the review Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Privilege Escalation · line 55
    Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
    Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
How audits are shown
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.00025 $0.03406
Opus 5 $0.00013 $0.01703
Sonnet 5 $0.00005 $0.00681
Haiku 4.5 $0.00003 $0.00341

Measured 8d ago against content hash e5547cb55eda, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

ai-style 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 8d 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.

chapter9/ai-style-skill/skill/SKILL.md · 129 lines

How it starts

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

去 AI 味写作 Skill

何时加载

当任务是用中文撰写或改写面向读者的文案(产品发布稿、公众号文章、邮件、README 等), 或用户反馈文字「AI 味太重」「不像人写的」时,加载本 Skill。

使用方式

起草或改写时逐条对照下面的规则自查。每条规则都给出定义、可检查的检测方法、 坏例与好例;规则只在声明的作用域内生效,作用域之外的文体不要套用。

规则清单(共 11 条)

规则 1:避免用连续破折号代替常规断句(rule-excessive-em-dash-separators

  • 定义:当一句或一段中连续使用多个破折号来串联普通并列信息、步骤或分句,导致层次不清、阅读节奏拖长时命中。应改用句号、逗号、冒号或分句。若破折号只偶尔用于插入说明、语意转折或强调,且前后关系明确,则不命中。
  • 检测方法:LLM judge 语义判定(上线前须通过独立人工金标集校准)
  • 坏例:关于季度复盘会议——时间定于本周五下午三点——地点在三号会议室——请提前准备数据报表——如有冲突请及时告知——谢谢配合。
  • 好例:季度复盘定在这周五下午三点,三号会议室。请提前准备好数据报表,时间冲突的话提前跟我说。
  • 改写建议:先判断各部分是并列信息还是独立句意;并列项用逗号,完整意思用句号,只在确有插入或强调作用时保留破折号。
  • 作用域:产品发布稿、公众号文章、邮件
  • 来源反馈:fp-001, fp-008, fp-017

规则 2:避免反复使用“不是……而是……”对仗(rule-avoid-repeated-not-but-contrast

  • 定义:当“不是……而是……”被连续用于定义产品、解释概念或制造升华,尤其连续出现两次以上并形成整齐对仗时命中。这类写法常以否定铺垫代替直接说明。若上下文确实需要纠正一种明确误解,并且只使用一次来表达真实对立,则不命中。
  • 检测方法:LLM judge 语义判定(上线前须通过独立人工金标集校准)
  • 坏例:这不是一次简单的版本更新,而是一次体验的全面革新;不是功能的堆砌,而是对用户需求的深度回应。
  • 好例:这次版本更新改动很大:界面重做,核心流程缩短了两步,都来自上一版用户反馈里最高频的问题。
  • 改写建议:删去否定式铺垫,直接说明对象是什么、具体改了什么,并用事实或例子支撑判断。
  • 作用域:README 段落、产品发布稿、公众号文章
  • 来源反馈:fp-002, fp-009, fp-015

规则 3:避免连用“让我们”式号召口号(rule-avoid-repeated-let-us-slogans

  • 定义:当邮件、README 或产品稿连续以“让我们”开头,使用“共同见证”“携手并进”等口号来代替具体通知、邀请或行动说明时命中。若只出现一次,且确实是在自然地发出明确、可执行的共同邀请,则不命中。
  • 检测方法:LLM judge 语义判定(上线前须通过独立人工金标集校准)
  • 坏例:让我们共同见证这个激动人心的时刻!让我们一起开启数字化转型的全新篇章。让我们携手并进,共创辉煌明天。
  • 好例:新版本今天上线了,期待大家试用之后多提意见。
  • 改写建议:直接交代发生了什么,以及希望读者采取什么具体行动,如试用、反馈、提 issue 或提交 PR。
  • 作用域:README 段落、产品发布稿、邮件
  • 来源反馈:fp-003, fp-010, fp-018

规则 4:避免机械堆叠顺序连接词(rule-avoid-mechanical-sequence-markers

  • 定义:当短段落逐句套用“首先、其次、再次、然后、最后、总而言之”等连接词,实际内容本可自然串联,因而呈现模板化或公文腔时命中。若步骤顺序严格、跳步会造成错误,或连接词确实用于澄清复杂层级,则不命中。
  • 检测方法:LLM judge 语义判定(上线前须通过独立人工金标集校准)
  • 坏例:首先,克隆本仓库到本地。其次,安装所需依赖。再次,配置环境变量。然后,运行初始化脚本。最后,启动开发服务器即可。
  • 好例:克隆仓库后安装依赖,把 .env.example 复制为 .env 并填好密钥,再运行 init.sh 初始化,最后 make dev 启动服务。
  • 改写建议:删除不提供额外信息的序号套话,改用动作之间的真实关系连接;必要时只保留少量“再”“最后”,或改成清晰的步骤列表。
  • 作用域:README 段落、产品发布稿、邮件
  • 来源反馈:fp-004, fp-012, fp-019

Read the full file on GitHub · 129 lines

Files

What ships with it

1 file 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.

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. 8d ago First seen · 129 lines · 25 tokens per session scan A e5547cb55eda

Subscribe to this mod's changes

ai-style is a skill published in the GitHub repository bojieli/ai-agent-book (45,000 stars, last pushed today), licensed Apache-2.0. It adds 25 tokens to every session and 3,406 once invoked, about $0.0001 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.