yuki-agent-kit:把我喜欢的 AI 开发规范沉淀成可复用工具箱

发布于 2026-09-07 20:00 1866 字 10 min read

smile丶snow avatar

smile丶snow

大三/前端开发/百合汉化组成员/百合/日语/偶尔做动态壁纸

2026.08 - 至今
bilibili
bilibili公益平台
2026.06 - 2026.08
百度
前端数据平台
2026.03 - 2026.06
快手
快手前端电商
2025.12 - 2026.03
蓝色光标
前端开发实习生
记录 yuki-agent-kit 的起因、设计思路和后续方向:把 Agent Note、项目规范、决策记录、Git Hooks 与常用 Skills 做成一套可以反复安装的 AI 开发工具箱。

写在前面

最近写了一个小项目:yuki-agent-kit

它不是一个复杂的业务系统,更像是我给自己准备的一套 AI 开发初始化工具箱:当我开一个新 repo,或者接手一个旧 repo 时,可以快速把我喜欢的开发规范、Agent 规则、决策记录、Git Hooks 和常用 Skills 接进去。

做这个项目的起因也很简单:我一直在想,怎么让 AI 更好地参与真实开发,而不是每次都只靠临时 prompt 去约束它。

临时 prompt 确实能解决一部分问题,但它有一个很明显的缺点:上下文很容易丢。今天告诉 AI 要遵守某个规范,它可能这轮记住了;换一个会话、换一个任务、换一个仓库,它又会回到最容易、最短平快的实现方式。

所以我想把这些反复出现的规则沉淀下来,变成项目的一部分。

为什么开始做这件事

一开始我是在找“怎么让 AI 更好开发”的实践方案,于是去看了一些比较大的开源项目,想看看别人是怎么组织 Agent 工作流的。

其中一个给我启发比较大的项目是 deepseek-harness。我发现里面有些 Skill 真的挺不错,不是单纯告诉 AI “你要认真写代码”,而是把某类工作拆成了更清楚的流程。

比如有些 Skill 会约束:

  1. 做需求前先理解上下文。
  2. 写代码前先确认方案。
  3. 修改时不要动无关文件。
  4. 发现可简化的地方要指出来。
  5. 不要留下没有价值的注释。

这些东西听起来不复杂,但真正放到 AI 编码里很有用。

因为 AI 最大的问题之一不是不会写代码,而是它经常不知道“这个项目为什么之前做了某个决定”。

Agent Note 给我的启发

上周 ld 开会的时候也提到一个点:我们在项目中会做很多决策,而这些决策需要被记录下来。

比如以前我们决定:

  1. 这个场景为什么不用某个库。
  2. 这个模块为什么要拆成现在这样。
  3. 这个接口为什么要做兼容。
  4. 这个样式为什么不能随便改。
  5. 这个方案为什么看起来麻烦,但后续维护更稳。

这些内容如果只存在人的脑子里,AI 是不知道的。

于是就会出现一种很常见的情况:AI 看到了当前代码,但没有看到历史决策。它可能会选一个看起来更简单的方法,甚至把之前刻意规避的问题重新引回来。

这也是我觉得 Agent Note 很有价值的地方。

它本质上不是普通文档,而是给 AI 和未来开发者看的“项目决策记录”。它记录的是:为什么现在是这样,而不只是现在是什么样。

决策记录比规则更重要

很多时候我们会给 AI 写规则,比如:

不要随便重构。
不要修改无关文件。
遵守项目现有规范。

这些规则有用,但还不够。

因为 AI 只是知道“不能乱改”,但它不一定知道“为什么不能改”。

如果我们把决策写下来,它就能得到更多上下文。

例如:

之前尝试过把表单状态放在顶层 React state,但大表单输入会触发过多 re-render。
所以当前项目统一采用 FormStore + 字段订阅的方式做局部更新。
后续新增字段联动时,不要重新引入顶层 formData useState。

这类记录对 AI 来说很关键。

它不是在限制 AI,而是在告诉 AI:这个项目已经踩过哪些坑,哪些地方是有意设计的。

为什么要做成 kit

我现在有很多 repo,但每个 repo 的规范并不完全统一。

有的项目有 AGENTS.md,有的没有;有的项目写了产品背景,有的只有代码;有的项目有 hooks,有的项目完全靠手动约束。每次新开项目都重新复制一遍这些东西,很麻烦,也很容易漏。

所以我想把自己比较喜欢的 workflow 抽出来,做成一个可以反复安装的工具包。

现在 yuki-agent-kit 做的事情大概是:

  1. 给项目补充 PRODUCT.md,记录产品目标、用户和边界。
  2. 给项目补充 AGENTS.md,记录 AI 协作规则。
  3. 创建 .agents/notes/,用于沉淀项目决策。
  4. 创建 .agents/skills/,说明项目级 Skills 的使用方式。
  5. 接入 Git Hooks,比如提交信息检查和 pre-push 模板。
  6. 安装常用配套 Skills,比如 agent-notescode-reviewfind-simplificationstrim-cot-leakage 等。

这样以后我如果有新的固定工作流,或者发现了自己喜欢的新 Skill,就可以继续放进去,之后新项目一键安装。

它解决的不是“生成代码”,而是“约束协作”

我觉得 AI 开发工具的核心不只是让 AI 写代码。

写代码只是最后一步,前面还有很多更重要的事情:

  1. 它是否理解项目目标?
  2. 它是否知道当前模块边界?
  3. 它是否知道历史决策?
  4. 它是否会主动避免无意义复杂化?
  5. 它是否能在提交前做基本自检?
  6. 它是否能把新的经验继续沉淀回项目?

yuki-agent-kit 想做的就是这些事情。

它不是替代开发者判断,而是把我希望 AI 遵守的协作方式提前写进项目里。

快速开始

目前可以在目标项目根目录执行:

npx skills add SmileSnow819/yuki-agent-kit --skill yuki-agent-kit --agent codex --yes

然后在 AI 会话里发送:

使用 yuki-agent-kit,给当前项目接入开发规范和配套 Skills。
已有文件保留,只补齐缺失内容。

它会根据项目现状补齐缺失文件,并尽量保留已有内容。

如果是新项目,也可以先创建空目录再安装:

mkdir my-app
cd my-app
npx skills add SmileSnow819/yuki-agent-kit --skill yuki-agent-kit --agent codex --yes

之后告诉 AI 产品目标、用户和技术栈,它会基于模板继续完善项目上下文。

后续想做什么

这个项目目前还很早期,但我希望它以后可以慢慢变成我自己的 AI 开发基础设施。

后续可能会继续补:

  1. 更多项目模板,比如前端项目、文档项目、MCP Server 项目。
  2. 更细的 Agent Note 模板,区分架构决策、业务决策、踩坑记录。
  3. 更完整的代码 review skill,让 AI 检查行为回归、边界情况和测试缺口。
  4. 更方便的更新机制,让旧项目也能同步最新 workflow。
  5. 一些我在实习和个人项目里反复验证过的工作流。

我现在越来越觉得,AI 编码最重要的不是单次生成能力,而是长期协作能力。

如果每次对话都从零开始,那 AI 永远只是一个临时助手。但如果项目能持续沉淀背景、规则和决策,它就更像一个能慢慢熟悉项目的协作者。

yuki-agent-kit 就是我朝这个方向做的一次尝试。