内容来源:alexop.dev。https://alexop.dev/posts/claude-code-customization-guide-claudemd-skills-subagents/
原题:Claude Code Customization Guide (2026): CLAUDE.md vs Skills vs Subagents
原发布时间:2025-12-21

在 Claude Code 中,什么时候该用 CLAUDE.md、斜杠命令、Skill 或子智能体?本文通过真实示例给出决策指南,帮你不再凭感觉选择工具。

兼容性说明(核对日期:2026-07-20):本文早于统一的 Skills 模型。当前 Skills 文档 支持直接通过 /skill-name 调用 Skill,并将 .claude/commands/ 视为兼容旧版的路径。原文示例还使用了 Task;当前子智能体文档称,该工具已于 v2.1.63 更名为 Agent,但 Task(...) 仍可作为别名使用。下文保留原文术语。

文章社交分享卡片

内容速览

本文将介绍:

CLAUDE.md:始终加载的项目上下文与指令
斜杠命令:在终端中通过 /command 调用的提示词
子智能体:拥有独立上下文窗口、负责受托任务的专业智能体
Skills:可自动发现、能携带辅助文件的丰富能力(原文所处版本中不能通过 /... 手动运行)
• 核心洞见:子智能体能让主上下文保持干净——在规划模式下,Claude Code 通常会把仓库扫描工作交给 Explore 类子智能体,避免主线程迅速膨胀

目录

展开目录

引言
问题
1. CLAUDE.md:常驻的项目记忆
它是什么
放在哪里
嵌套的 CLAUDE.md 文件
用 CLAUDE.md 解决 Dexie.js 问题
运行时会发生什么
取舍
2. 斜杠命令:由你主动调用的简单技能
它是什么
放在哪里
用斜杠命令解决 Dexie.js 问题
手动编排示例(调研)
如何使用
运行时会发生什么
取舍
3. 子智能体:拥有独立上下文的专家
它是什么
放在哪里
用子智能体解决 Dexie.js 问题
运行时会发生什么
取舍
4. Skills:可自动发现的丰富能力
它是什么
放在哪里
Claude 如何看到 Skills
用 Skill 解决 Dexie.js 问题
一个最小化的“这到底能不能用?”Skill
运行时会发生什么
取舍
什么时候用哪个
它们之间的关系
结论

引言

Claude Code 提供了多种方式,让你可以把项目上下文“教”给它,或者实现工作流自动化,但该在什么时候使用哪一种,并不总是一目了然。

我会用四种不同方式解决同一个问题,让各自的取舍变得具体。先剧透一下:对于获取文档这类任务,子智能体胜出,因为它能保持主上下文的整洁。

💡 第一次使用 Claude Code?

本文假设你已经熟悉 Claude Code 的基础知识。如果想全面了解包括 MCP、Hooks 和插件在内的所有功能,请参阅我的 Claude Code 功能栈完整指南。如果想根据 Claude Code 事件自动执行操作,比如在任务完成时收到桌面通知,可以阅读 Hooks 指南。


问题

Claude Code 的训练数据不可能始终覆盖每个库的最新情况,因此它无法可靠地“记住”某个文档网站今天写了什么。

具体问题是:我正在使用 Dexie.js(IndexedDB 的封装库)开发一款健身记录应用。Claude 总会建议一些过时的模式,还会漏掉 liveQuery() 之类的功能。

Claude Code 本身有一套获取自身文档的机制。对于项目使用的专业库,我们也需要做同样的事。

对比过时模型知识与获取最新文档的流程图

下面分别用四种工具来解决这个问题,然后再作比较。


1. CLAUDE.md:常驻的项目记忆

它是什么

这是一个 Markdown 文件,每次启动 Claude Code 时都会自动加载。你可以把它看作项目的“记忆卡”。

CLAUDE.md:Claude 在每次对话开始时都会读取的持久化项目指令。

放在哪里

└── project-root/
    ├── CLAUDE.md  // 项目级
    ├── .claude/
    │   └── CLAUDE.md  // 另一种位置
    └── tests/
        └── CLAUDE.md  // 读取测试文件时加载

嵌套的 CLAUDE.md 文件

Claude Code 还会发现子目录中嵌套的 CLAUDE.md 文件。当 Claude 读取某个目录里的文件,而该目录拥有自己的 CLAUDE.md 时,这份文件会自动加入上下文。

这很适合存放特定目录才需要的指令:

tests/CLAUDE.md——测试约定、首选的 Mock 模式
src/db/CLAUDE.md——数据库专用模式与约束
src/components/CLAUDE.md——组件架构指南

只有当 Claude 真正访问该目录中的文件时,嵌套文件才会加载。这样,在需要这些专业知识之前,主上下文可以一直保持精简。

用 CLAUDE.md 解决 Dexie.js 问题

# CLAUDE.md

## 数据库

我们使用 Dexie.js 操作 IndexedDB。实现任何数据库代码之前:

1. 从 https://dexie.org/llms.txt 获取文档索引
2. 使用 `liveQuery()` 实现响应式数据绑定
3. 遵循 `src/db/` 中的仓储模式
4. 对重复键始终处理 `ConstraintError`

运行时会发生什么

每次对话一开始,Claude 就知道“编写数据库代码之前要先获取 Dexie 文档”。

问题在于上下文漂移:对话很长时,模型会逐渐降低早期系统级指令的优先级,转而更重视最近的对话历史。

取舍

✅ 优点 ❌ 缺点
无需额外操作——始终自动加载 上下文漂移:会话越长,Claude 越可能忘记指令
可通过 Git 在团队内共享 没有独立上下文窗口——会与对话争夺空间
维护简单 无法强制执行——是否遵守仍由 Claude 决定

2. 斜杠命令:由你主动调用的简单技能

它是什么

这是一条保存下来的提示词,通过输入 /command-name 调用,就像提示词的宏或键盘快捷键。

斜杠命令既可以显式调用(由你输入 /command),也可以在命令的 description 与任务相符时由 Claude 自动调用。

斜杠命令还可以编排其他行为:你可以直接在命令中说明应启动一个子智能体(或指定的子智能体)、调用某项 Skill 或工作流,并把工作串成流水线(例如调研 → 扫描代码库 → 编写文档),而不是试图一次完成所有事情。

它与 Skills 的主要区别在于封装形式和使用体验:斜杠命令是单文件入口,在终端里通过 /... 很容易发现和自动补全;Skills 通常是带有辅助文件(模式、模板、脚本)的目录。

ℹ️ 深入阅读

想看完整教程?请阅读我的斜杠命令指南

放在哪里

└── .claude/
    └── commands/
        └── dexie-help.md

用斜杠命令解决 Dexie.js 问题

---
description: 基于最新文档提供 Dexie.js 指导
allowed-tools: Read, Grep, Glob, WebFetch
---

首先,从 https://dexie.org/llms.txt 获取文档索引。

然后,根据用户的问题获取相关文档页面。

最后,使用最新文档回答以下问题:

$ARGUMENTS

手动编排示例(调研)

如果想让某条斜杠命令显式并行启动多个子智能体,随后生成一份产物(比如 docs/research/ 中的调研笔记),可以直接把流程写进命令定义。

research.md(自定义命令)

---
description: 通过网页搜索、文档和代码库探索来调研一个问题
allowed-tools: Task, WebSearch, WebFetch, Grep, Glob, Read, Write, Bash
---

# 调研:$ARGUMENTS

调研以下问题:

> **$ARGUMENTS**

## 指令

像资深开发者一样开展深入调研。并行启动多个子智能体,从不同来源收集信息。

### 第 1 步:并行启动调研智能体

使用 Task 工具**并行**创建以下子智能体(全部放在一条消息中):

1. **网络文档智能体**(subagent_type: general-purpose)
  - 搜索与主题相关的官方文档
  - 查找最佳实践与推荐模式
  - 找到相关的 GitHub Issue 或讨论

2. **Stack Overflow 智能体**(subagent_type: general-purpose)
  - 在 Stack Overflow 搜索相似问题及解决方案
  - 寻找高票和已采纳的回答
  - 记录常见陷阱与注意事项

3. **代码库探索智能体**(subagent_type: Explore)
  - 在代码库中搜索相关模式
  - 查找已有的同类问题解决方案
  - 识别相关文件、函数或组件

### 第 2 步:创建调研文档

所有智能体都完成任务后,在 `docs/research/<topic-slug>.md` 创建一个 Markdown 文件。

根据调研主题生成文件名:
- 转为小写
- 用连字符替换空格
- 删除特殊字符
- 将今天的日期作为前缀:`YYYY-MM-DD-<topic-slug>.md`

示例:"Vue 3 Suspense" → `docs/research/2024-12-06-vue-3-suspense.md`

首先创建调研目录(如果尚不存在):
```bash
mkdir -p docs/research
```

### 第 3 步:编写调研文档

文档应包含以下章节:

```markdown
# 调研:<主题>

**日期:** <YYYY-MM-DD>
**状态:** 已完成

## 问题陈述

<描述问题以及它为什么重要>

## 关键发现

<总结最相关的解决方案与思路>

## 代码库模式

<说明当前代码库如何处理同类情况>

## 推荐方案

<根据全部调研结果给出建议>

## 来源

• [来源标题](URL) - 简要说明<br>
• [来源标题](URL) - 简要说明<br>
```

### 准则

- 官方文档的优先级高于博客文章
- 优先选择与现有代码库模式一致的解决方案
- 记录版本相关的注意事项(Vue 3、TypeScript 等)
- 标出不同来源之间相互冲突的信息
- 内容要简洁、可执行
- 整篇文档使用主动语态

### 第 4 步:确认完成

写完文件后输出文件路径,方便用户日后查找。

如何使用

/dexie-help how do I create a compound index?

运行时会发生什么

Claude 会获取文档,找到相关页面并回答你的问题——整个过程由你显式触发。

取舍

✅ 优点 ❌ 缺点
由你精确控制何时运行 必须记得输入 /dexie-help
可以通过参数传入具体问题 一次性执行——知识不会跨消息保留
只需一个文件,配置简单 能否自动触发取决于 description 是否匹配

3. 子智能体:拥有独立上下文的专家

它是什么

这是一种专业化的 AI“角色”,拥有自己的上下文窗口。Claude 会把整个任务委派给它,再拿回结果。

获取 Dexie 文档需要阅读多个页面,会制造大量上下文噪声。把这项工作放进子智能体,就能避免主对话撞上上下文上限。

子智能体:一个彼此隔离的 Claude 实例,可以独立完成任务,并且只把最终结果返回主对话。

💪 子智能体能让主上下文保持干净

即使任务“只是探索”,子智能体往往也是很好的默认选择:Claude 可以在里面进行大量阅读和搜索,不必把所有材料都塞进主线程。

这一点在规划模式下尤其有用:Claude Code 通常会启动一个 Explore 类子智能体扫描仓库,再返回一份经过提炼的相关文件与模式地图。这样,主对话能始终聚焦,也不会迅速膨胀。

Claude Code 还支持异步智能体:你可以启动一个,让它在后台处理,同时继续手头工作;任务结束后,它会带着最新结果回来。如果启动智能体后还想继续在主会话里输入,可以按 Ctrl + B 把它转入后台。

Claude Code 自己也是这么做的

Claude Code 自身的系统提示词内置了一套“查阅文档”工作流,其中就使用了子智能体:

-> 查阅你自己的文档: 当用户直接询问以下任一内容时:

• 如何使用 Claude Code(例如“Claude Code 能不能……”“Claude Code 有没有……”)
• 以第二人称询问你作为 Claude Code 能做什么(例如“你能不能……”“你是否可以……”)
• 询问他们可以怎样用 Claude Code 做某件事(例如“我要怎么……”“我怎样才能……”)
• 如何使用某个 Claude Code 功能(例如实现 Hook、编写 Skill 或安装 MCP 服务器)
• 如何使用 Claude Agent SDK,或者要求你编写使用 Claude Agent SDK 的代码

使用 Task 工具并设置 subagent_type=‘claude-code-guide’,从 Claude Code 和 Claude Agent SDK 官方文档中获取准确信息。

来源:https://github.com/marckrenn/cc-mvp-prompts/blob/main/cc-prompt.md

放在哪里

└── .claude/
    └── agents/
        └── dexie-specialist.md

用子智能体解决 Dexie.js 问题

dexie-specialist.md(完整定义)

---
name: dexie-db-specialist
description: 只要任务以任何形式涉及 Dexie.js 或 IndexedDB,就使用这个智能体——包括实现、修改、查询、审查或改进数据库代码。例如创建或修改数据库 Schema、编写查询、处理事务、用 liveQuery 实现响应式查询、排查 Dexie 相关问题,或者审查现有 Dexie 代码并提出改进与最佳实践建议。\n\n示例:\n\n<example>\n上下文:用户要求改进自己的 Dexie.js 代码。\nuser: "关于 Dexie,这个代码库还有哪些地方可以改进?"\nassistant: "我会使用 dexie-db-specialist 智能体,按照最新最佳实践审查你的 Dexie.js 实现。"\n<commentary>\n用户询问的是 Dexie.js 改进,因此使用 dexie-db-specialist 智能体获取最新文档,并审查现有代码中可优化之处、缺失功能及违反最佳实践的问题。\n</commentary>\n</example>\n\n<example>\n上下文:用户需要在数据库中添加一张新表。\nuser: "我需要添加一张新的 goals 表来记录健身目标"\nassistant: "我会使用 dexie-db-specialist 智能体正确实现它。"\n<commentary>\n用户需要修改 Dexie 数据库 Schema,因此使用 dexie-db-specialist 智能体先获取最新 Dexie.js 文档,再按照最佳实践实现 Schema 变更。\n</commentary>\n</example>\n\n<example>\n上下文:用户询问 Dexie 查询模式。\nuser: "如何在 Dexie 中按多个肌肉群查询动作?"\nassistant: "我会使用 dexie-db-specialist 智能体,根据最新 Dexie.js 文档给出准确回答。"\n<commentary>\n用户询问的是 Dexie.js 查询能力,因此使用 dexie-db-specialist 智能体获取文档,并准确、及时地说明复合查询与过滤方法。\n</commentary>\n</example>\n\n<example>\n上下文:用户遇到与 Dexie 有关的错误。\nuser: "添加训练记录时出现了 ConstraintError"\nassistant: "我会请 dexie-db-specialist 智能体诊断这个数据库约束问题。"\n<commentary>\n这是 Dexie.js 错误,因此使用 dexie-db-specialist 智能体获取错误处理与违反约束问题的相关文档,提供准确的排障指导。\n</commentary>\n</example>\n\n<example>\n上下文:用户需要实现响应式查询。\nuser: "添加新训练记录后,训练列表应该自动更新"\nassistant: "我会使用 dexie-db-specialist 智能体,通过 liveQuery 实现响应式查询。"\n<commentary>\nDexie 的响应式数据绑定需要 liveQuery,因此使用 dexie-db-specialist 智能体获取有关 liveQuery 以及 Vue 集成中 useLiveQuery 模式的最新文档。\n</commentary>\n</example>
model: opus
color: orange
---

你是一名 Dexie.js 数据库专家,深入掌握 IndexedDB、响应式查询以及 Vue 3 集成模式。你的首要职责是为所有 Dexie.js 实现提供准确且有文档依据的指导。

## 关键的第一步

**在回答任何 Dexie.js 问题或实现任何 Dexie 相关代码之前,你必须:**

1. 从 `https://dexie.org/llms.txt` 获取文档索引,了解现有文档结构
2. 根据当前任务获取相关文档页面,确保指导准确且及时
3. 完成上述工作后,才能开始实现或回答问题

这一点没有商量余地。Dexie.js 有许多细节和版本特有行为,必须查阅官方文档。

## 你的专业范围

- **Schema 设计**:表定义、索引(简单、复合、多值)、主键、版本迁移
- **CRUD 操作**:add()、put()、update()、delete()、bulkAdd()、bulkPut()
- **查询**:where()、filter()、equals()、between()、anyOf()、startsWithIgnoreCase()、复合查询
- **响应式查询**:使用 liveQuery() 实时更新,与 Vue 响应式系统集成
- **事务**:事务作用域、嵌套事务、事务中的错误处理
- **关系**:外键、表关系、填充关联数据
- **性能**:索引策略、查询优化、批量操作
- **错误处理**:Dexie 专用错误(ConstraintError、AbortError 等)

## 项目上下文

你正在开发一款基于 Vue 3 PWA 的健身记录应用,它采用:
- **Dexie.js** 与 IndexedDB,实现离线优先的数据持久化
- 开启严格模式的 **TypeScript**
- `src/db/` 中用于抽象数据库访问的**仓储模式**
- 使用仓储的 **Pinia Store**

实现时,确保代码:
1. 遵循 `src/db/` 中现有的仓储模式
2. 使用 TypeScript 接口定义表 Schema
3. 正确集成 Vue 3 响应式机制(使用来自 @vueuse/rxjs 或类似库的 useLiveQuery)
4. 以恰当的类型优雅处理错误

## 获取文档的策略

从 `https://dexie.org/llms.txt` 获取内容时:
1. 解析站点地图,找出相关文档页面
2. 根据任务获取特定页面(例如查询任务应获取 WhereClause 和 Collection 文档)
3. 处理复杂主题时交叉核对多个页面

经常需要参考的文档章节:
- `/docs/Table/Table` - 核心表操作
- `/docs/WhereClause/WhereClause` - 构造查询
- `/docs/Collection/Collection` - 结果集操作
- `/docs/liveQuery()` - 响应式查询
- `/docs/Dexie/Dexie` - 数据库实例配置
- `/docs/Version/Version` - Schema 迁移

## 回答格式

提供实现时:
1. **引用你查阅的文档**
2. 展示代码之前先**解释实现思路**
3. 提供符合项目约定的 **TypeScript 代码**
4. 加入适合该操作的**错误处理**
5. 说明所有**注意事项**或版本特有行为

## 质量保证

- 始终对照刚刚获取的文档验证建议
- 如果文档含糊不清或无法访问,要明确说明,并给出带有适当保留意见的最佳建议
- 如果存在多种方法,解释各自的取舍
- 考虑 IndexedDB 的局限(不支持全文搜索、存储上限等)

请记住:你的价值在于提供经过文档验证、准确的 Dexie.js 指导。不要猜测 API 细节——务必先获取并验证。

运行时会发生什么

当你提出 Dexie 相关问题时,Claude 会自动识别出这是一项数据库任务,并委派给专家。专家会在自己的上下文窗口中工作,获取文档、完成任务,再把结果返回主对话。

展示 Dexie 子智能体获取并提炼最新文档的时序图

取舍

✅ 优点 ❌ 缺点
任务匹配时自动委派 更重——需要启动一个独立智能体
独立上下文窗口——不会弄乱主上下文 返回的是结果摘要,无法实时查看
可以使用不同模型(例如复杂任务使用 opus) 你无法直接与该智能体互动
可以限制工具以增强安全性 配置更复杂

4. Skills:可自动发现的丰富能力

它是什么

这是一种结构化能力,可以选择附带辅助文件。Claude 会自动发现它,并在主对话中使用。

与简单的斜杠命令不同,Skills 可以包含多个文件:参考文档、脚本、模板和实用工具。

放在哪里

└── .claude/
    └── skills/
        └── dexie-expert/
            ├── SKILL.md  // 主定义文件
            ├── PATTERNS.md  // 常用模式
            ├── MIGRATIONS.md  // 迁移指南
            └── scripts/
                └── validate-schema.ts

Claude 如何看到 Skills

Claude 是否调用某项 Skill,很大程度上取决于它的 description

你也可以这样询问 Claude Code:

> “请准确告诉我,你看到的 <available_skills> 是什么样的?”

在回答中,你通常会看到类似 <available_skills> 的结构化区块(斜杠命令一般会单独放在另一个区块,比如 <available_commands>)。

<available_skills>
  <skill>
    <name>dexie-expert</name>
    <description>
      Dexie.js 数据库指导。在处理 IndexedDB、Schema、
      查询、liveQuery 等任务时使用……
    </description>
  </skill>
</available_skills>

下面是一段精简示例,展示 <available_skills> 区域可能是什么样子(省略部分以 ... 表示):

<available_skills>
  <skill>
    <name>skill-creator</name>
    <description>
      创建高质量 Skill 的指南。想创建或更新 Skill 时使用。
      ...
    </description>
    <location>user</location>
  </skill>

  <skill>
    <name>c4-architecture</name>
    <description>
      使用 C4 模型的 Mermaid 图生成架构文档。
      ...
    </description>
    <location>user</location>
  </skill>

  <skill>
    <name>vue-composables</name>
    <description>
      按照成熟模式和最佳实践编写高质量的 Vue 3 Composable。
      ...
    </description>
    <location>managed</location>
  </skill>

  ...
</available_skills>

用 Skill 解决 Dexie.js 问题

---
name: dexie-expert
description: Dexie.js 数据库指导。在处理 IndexedDB、Schema、查询、liveQuery 或数据库迁移时使用。
allowed-tools: Read, Grep, Glob, WebFetch
---

# Dexie.js 专家

当用户需要 Dexie.js 或 IndexedDB 方面的帮助时:

1. 获取 https://dexie.org/llms.txt
2. 只获取与当前任务有关的页面
3. 根据当前仓库的模式应用文档指导

一个最小化的“这到底能不能用?”Skill

如果只是想验证某个 Skill 能否通过 Task 工具启动子智能体来完成工作,可以复制下面这个刻意保持简单的冒烟测试。

SKILL.md(subagent-smoke-test)

---
name: subagent-smoke-test
description: Claude Code 子智能体的冒烟测试。当用户希望验证通过 Task 工具创建子智能体能否在这个仓库正常运行时使用。
---

# 子智能体冒烟测试

这个 Skill 的唯一用途,就是验证子智能体能否端到端正常工作。

## 要做什么

1. 使用 **Task** 工具启动一个子智能体。
   - 使用 `subagent_type: general-purpose`。
   - 交给它一个简单的只读任务:
     - 读取 `package.json`,总结主要脚本。
     - 读取 `astro.config.ts`,总结主要集成项。
     - 使用 Glob(或等效工具)列出顶层文件夹。

2. 等待子智能体完成。

3. 向用户返回简短报告:
   - `子智能体状态:成功`(或`失败`)
   - 用 3~6 个要点总结发现
   - 如果失败,给出最可能的修复方法(例如工具权限问题、Task 工具被禁用)

## 建议的 Task 提示词

可以将以下内容作为 Task 的载荷:

- “你是一个辅助子智能体。请对这个仓库做一次快速、只读的扫描。
  - 读取 `package.json`,总结主要脚本。
  - 读取 `astro.config.ts`,总结关键集成项。
  - 使用 Glob 扫描仓库根目录,列出顶层文件夹。
  返回一份简洁报告。”

运行时会发生什么

Skills 会被自动发现,通常会在 Claude 判断它们与当前任务匹配时应用。它们在主对话中运行,因此你可以实时反复调整。

如果需要一个能从终端手动、可靠触发的入口,就把工作流封装成斜杠命令(因为 /... 用于命令)。

取舍

✅ 优点 ❌ 缺点
根据描述自动发现 会占用主上下文窗口
在主对话中工作——可以实时互动 由 Claude 决定何时触发,可能不会启动
可以包含参考文件、脚本和模板 配置工作比斜杠命令多
能封装深入、可复用的工作流 原文所处版本中不能在终端里通过 /... 手动调用
感觉像是能力增强后的 Claude,而不是独立工具

📢 核心洞见

在实践中,两者的区别主要是使用体验与封装形式

斜杠命令可以在终端中通过 /command 手动运行。
Skills 是结构化、可自动发现的能力,往往以带辅助文件的目录形式存在;Claude 会在相关时机应用它们。


什么时候用哪个

选择 适用情形 原因
CLAUDE.md 希望 Claude 每次都带着项目规则或上下文开始工作 启动时自动加载;可通过 Git 共享
斜杠命令 希望按需显式运行一次性工作流 可通过 /... 发现,也能接收参数
子智能体 任务需要大量调研(大量阅读、搜索和综合分析) 使用独立上下文窗口;返回经过提炼的结果
Skill 希望 Claude 在识别出任务时自动应用一套丰富工作流 封装完善的能力,通常还能附带辅助文件

它们之间的关系

机制 在主对话中运行 独立上下文窗口 能否创建子智能体 能否使用 Skills 能否通过 /... 手动运行
CLAUDE.md
斜杠命令 ✅(通过指示 Task ✅(间接;Claude 可能应用 Skills)
Skill ✅(如果允许 Task ✅(Claude 可能应用多个 Skills)
子智能体 ⚠️ 可以(取决于允许使用的工具,例如 Bash(claude:*) ✅(如果通过 skills: 配置) ⚠️ 通常由主智能体委派

结论

• 使用子智能体(尤其是规划模式中的 Explore)让主上下文保持精简、聚焦。
• 如果需要显式、可重复调用的终端入口,使用斜杠命令
• 如果希望 Claude 自动应用一套更丰富的工作流(通常附带辅助文件),使用 Skills
• 使用 CLAUDE.md 保存简短且始终成立的项目约定与规范。