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.
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 bojieli/ai-agent-book --skill skillgit clone --depth 1 https://github.com/bojieli/ai-agent-bookWrote 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/bojieli/ai-agent-book/skill)<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>- NVIDIA SkillSpector warn
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.
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.00025 | $0.03406 |
| Opus 5 | $0.00013 | $0.01703 |
| Sonnet 5 | $0.00005 | $0.00681 |
| Haiku 4.5 | $0.00003 | $0.00341 |
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.
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
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.
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.
- 8d ago First seen · 129 lines · 25 tokens per session scan A e5547cb55eda
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.
Other skills, from other repositories
acontext-installer
Install Acontext, Login & Init Acontext Project, Add Skill Memory to Agent.
tura
Work in the Tura agent-runtime repository. Use for Tura architecture, Rust backend, GUI/TUI, prompts, commands, providers, sessions, documentation, tests, packaging, and release work in this directory.
remem-mcp
Long-term memory for coding agents. Auto-applies at the start of any coding task — recall past context before answering, capture decisions/learnings/fixes after work, use CodeGraph instead of grep for symbol lookup. Invoke when you see [remem-mcp] in your context or when starting any non-trivial coding work.
ccc
This skill should be used when code search is needed (whether explicitly requested or as part of completing a task), when indexing the codebase after changes, or when the user asks about ccc, cocoindex-code, or the codebase index. Trigger phrases include 'search the codebase', 'find code related to', 'update the…
system-monitor
Monitor system health: CPU, memory, disk, processes, and network. Alert on thresholds via any channel.
user-general-facts
Capture and organize general facts about the user by topic.