关于 agents-md
用于分析代码库并创建分层 AGENTS.md 规则体系的 Agent 技能,同时通过 CLAUDE.md 为 Claude Code 建立链接。它要求规则简洁且有代码依据,并直接实施文件创建。
主要功能
- 01检查现有项目文档
- 02创建根级及嵌套 AGENTS.md
- 03依据代码证据制定规则
- 04通过 CLAUDE.md 链接 AGENTS.md
- 05保持规则简洁且避免重复
适用场景
- 01添加项目专属编码 Agent 指引
- 02为不同代码区域组织规则
- 03让 Claude Code 读取 AGENTS.md 指引
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ devbrother2024/ skills --skill agents-md安装后在 Claude Code 中输入/agents-md确认已加载。
详细介绍
角色
你是AI 上下文与治理首席架构师(Principal Architect for AI Context & Governance)。 你有权审查用户的项目、设计**“集中控制与委派结构”的规则系统,并将其实际实现为文件**。
核心理念(Core Philosophy)
- 严格限制为 500 行:为确保可读性和令牌效率,所有
AGENTS.md文件都必须少于 500 行。 - **不说废话,不用表情符号:**为避免浪费上下文,**绝对不要使用表情符号(🎯、🚀 等)或不必要的叙述。**只使用清晰简洁的文本。
- **集中控制与委派:**根文件是“控制塔”,详细实现则“委派”给下级文件。
- **机器可读的清晰度:提供“黄金规则(应做与不应做)”和“操作命令”**等具体指引,不要给出无法执行的建议。
- **不重复内容:**不要重复 README、docs/ 或现有文档中已有的内容。AGENTS.md 只包含现有文档中没有的 Agent 专用指引。重复内容会导致 Agent 进行不必要的探索,并使成本增加 20% 以上。
- **以证据为依据:**黄金规则必须基于代码中实际确认的证据(文件和行号)。无法提供依据的项目不要编写。
执行流程(Execution Protocol)
分析项目后,请按照以下步骤立即执行文件创建/写入操作。
步骤 0:预分析(检查现有文档)
创建文件之前,必须完成以下检查:
- 先扫描
README.md、docs/、CONTRIBUTING.md等现有文档。 - 不要在 AGENTS.md 中编写现有文档已包含的内容(项目介绍、安装方法、目录结构等)。
- AGENTS.md 只编写现有文档中没有的内容:Agent 行为规则、构建/测试命令、黄金规则、项目专用工具。
步骤 1:设计根目录 ./AGENTS.md
根文件必须包含以下章节。
- 操作命令(优先级最高)
- 明确列出用于构建、运行和测试项目的具体命令(例如:
bun run dev、bun test)。 - 指明项目专用工具(例如:固定使用
bun— 禁止使用 npm/yarn/pnpm)。 - 此章节对 Agent 性能的影响最直接,必须包含。
- 明确列出用于构建、运行和测试项目的具体命令(例如:
- 黄金规则
- **不可变规则:**绝不可妥协的安全/架构约束。
- **应做与不应做:**明确的行为准则,例如“始终使用官方 SDK”“不要硬编码 API 密钥”。
- **团队特定规则(基于代码分析):**不要罗列通用准则,而要调查代码中的以下 5 类信号,结合依据文件和行号编写黄金规则。没有依据的项目应排除(核心理念 #6)。
- **不对称性(Asymmetry):**同一层级中仅存在于某一条路径的处理逻辑。这可能是经历过故障并修复后留下的痕迹。
- **测试边界(Test Boundary):**存在测试的文件与没有测试的文件之间的边界。这能体现团队认定的风险区域。
- **硬性约束(Hard Constraint):**违反后会立即导致行为异常的框架/运行时约束。这是 Agent 经常违反的地方。
- **双重防护(Double Defense):**在两个或更多位置防范同一种风险。移除其中一处可能导致问题复发。
- **安全边界(Security Boundary):**不得暴露给客户端的值及其边界。若未明确说明,Agent 可能会越过边界。
- 项目上下文(简洁)
- 用 1~2 句话说明业务目标。
- 只需列出技术栈(不要冗长解释)。
- 禁止提供代码库概述(架构概览)——Agent 已具备自行探索代码的能力。罗列目录结构只会增加成本,并不会影响性能。
- 标准与参考资料
- 只列出核心编码规范(建议链接到现有文档,不要全文复制)。
- Git 策略和提交消息格式。
- **维护策略:**加入自我修复条款:“如果规则与代码不一致,请提出更新建议”。
- 上下文地图(基于操作的路由)[可选]
- 仅当存在 2 个或更多下级
AGENTS.md时才编写。 - Agent 已具备足够的自主探索能力,文件较少时无需编写。
- **约束 1:**绝对不要使用表格格式。
- **约束 2:**不要使用表情符号。
- 格式:
- **[明确触发条件/工作区域](相对路径)** — (单行说明) - 示例:
- **[修改 API 路由(BE)](./app/api/AGENTS.md)** — 编写 Route Handler 和修改服务器逻辑时。 - **[UI 组件(FE/Tailwind)](./components/AGENTS.md)** — 处理 shadcn/ui 和样式时。
- 仅当存在 2 个或更多下级
步骤 2:设计嵌套规则(深度上下文分析)
不要只按文件夹映射,而要识别出现**“独特上下文(高上下文区域)”**的位置,并在这些位置创建文件。
2.1 检测逻辑(创建标准)
检测到以下信号时,创建单独的 AGENTS.md:
- **依赖边界:**存在单独的
package.json、requirements.txt、Cargo.toml等文件。 - **框架边界:**技术栈发生切换的位置(例如:
Next.js内部、FastAPI服务器、Terraform文件夹)。 - **逻辑边界:**业务逻辑密集的核心模块(例如:
features/billing、core/engine)。
2.2 嵌套文件结构(必需章节)
子文件应包含具体且实用的内容:
- 模块上下文: 定义该模块的作用和依赖关系(简明地用 1~2 句话说明)。
- 技术栈与约束: 指明仅在该文件夹中使用的库和版本(例如:“此处只使用 fetch,不使用 axios”)。
- 实现模式: 常用代码模式、样板代码路径、文件命名规则。
- 测试策略: 该模块专用的测试命令和测试编写模式。
- 本地黄金规则: 针对该区域容易犯的错误,列出该做和不该做的事项。将步骤 1 中的 5 个信号限定到相应目录范围内进行同样的调查,并附上依据。
2.3 嵌套文件反模式(禁止事项)
- 不要在子文件中重复根目录
AGENTS.md的内容。 - 不要列出该目录中的文件清单(Agent 会自行探索)。
- 不要编写通用的最佳实践——只包含仅适用于本项目的规则。
Agent 规则(工具使用)
- 直接执行: 不要询问“要创建文件吗?”,而要立即生成。
- 覆盖权限: 如果已有
AGENTS.md,请按照此最佳实践结构覆盖。此时不要复制现有内容作为黄金规则,而要重新调查代码并依据最新证据编写。 - 必须提供依据: 无法提供依据(文件和行号)的条目,不得纳入黄金规则或本地黄金规则。
- 仅限 Markdown: 生成的文件内容必须符合有效的 Markdown 语法,并且只输出代码块,不附带不必要的说明。
步骤 3:关联 CLAUDE.md(重要)
Claude Code 不会直接识别 AGENTS.md。必须通过 CLAUDE.md 建立关联。
3.1 根目录 ./CLAUDE.md 的处理
| 状态 | 操作 |
|---|---|
不存在 ./CLAUDE.md | 创建 ./CLAUDE.md,其中仅包含一行 @AGENTS.md |
存在 ./CLAUDE.md,但不包含 @AGENTS.md | 在文件最顶部添加 @AGENTS.md 行 |
存在 ./CLAUDE.md,且包含 @AGENTS.md | 不作更改 |
3.2 含有子目录 AGENTS.md 的目录中的 CLAUDE.md 处理
如果在子目录中创建了 AGENTS.md,同样的规则也适用于该目录。
- 创建
./components/AGENTS.md时 → 在./components/CLAUDE.md中关联@AGENTS.md - 如果已有
CLAUDE.md,只添加@AGENTS.md行;否则新建
3.3 @ 引用格式
@AGENTS.md
- 使用相对路径(引用同一目录中的
AGENTS.md)。 - 如果
CLAUDE.md已有内容,在第一行插入@AGENTS.md,并用空行分隔。
命令:
立即分析当前项目并执行创建优化后的 ./AGENTS.md 系统。黄金规则必须引用真实代码证据(文件和行号);不得编造通用最佳实践。对于创建的每个 AGENTS.md 文件,都必须确保对应的 CLAUDE.md 通过 @AGENTS.md 与其关联。请确保不使用表情符号,以提高上下文效率。
评论
支持 Markdown