From common-tools
Initializes and incrementally updates AI memory files (CLAUDE.md, AGENTS.md, GEMINI.md) via interactive selection, diff comparison, and template-based completion.
How this skill is triggered — by the user, by Claude, or both
Slash command
/common-tools:init-ai-mdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
本技能用于在项目中快速初始化和增量更新 AI 记忆文件。通过**交互式选择**和**差异对比补全**,帮助用户精确管理 AI 记忆文件内容。
本技能用于在项目中快速初始化和增量更新 AI 记忆文件。通过交互式选择和差异对比补全,帮助用户精确管理 AI 记忆文件内容。
.claude/skills/ 目录下的现有技能,在 CLAUDE.md 中创建并维护「本项目的技能表」章节record-bug-fix-memory 等内置技能模板部署到项目的 .claude/skills/ 目录中CLAUDE.md 文件/init 斜杠命令CLAUDE.md 文件以中文编写扫描目标文件:
CLAUDE.md 中所有的二级标题(## xxx)扫描模板目录:
templates/ 目录下的所有模板文件名01.xxx.md、02.xxx.md)对比分析:
必须使用 AskUserQuestion 工具与用户交互:
展示扫描结果:
生成选择问题:
AskUserQuestion 工具的 multiSelect: true 模式[缺失] - 目标文件中不存在[需更新] - 存在但内容不完整[已完整] - 内容已完全一致[缺失]和[需更新]的记忆项询问示例:
请选择需要处理的记忆项:
选项:
- 主动问询实施细节 [需更新] - 内容存在差异,将补全缺失部分
- 编写测试用例规范 [缺失] - 将新增此记忆项
- 报告编写规范 [已完整] - 内容一致,无需更新
- 获取技术栈对应的上下文 [需更新] - 缺少部分链接
等待用户选择:
对用户选择的每个记忆项,执行精细的差异对比:
逐行对比原则:
识别差异类型:
增量补全策略:
示例:
假设目标文件 CLAUDE.md 存在以下内容:
## 获取技术栈对应的上下文
### claude code skill
- 编写语法与格式: https://code.claude.com/docs/zh-CN/skills
- 最佳实践: https://platform.claude.com/docs/zh-CN/agents-and-tools/agent-skills/best-practices
模板文件 99.获取技术栈对应的上下文.md 的内容:
## 获取技术栈对应的上下文
在处理特定技术栈相关的问题时,你应该主动获取对应的上下文文档和最佳实践。
### claude code skill
- 编写语法与格式: https://code.claude.com/docs/zh-CN/skills
- 最佳实践: https://platform.claude.com/docs/zh-CN/agents-and-tools/agent-skills/best-practices
- 规范文档: https://agentskills.io/home
正确的处理方式:
禁止事项:
在完成 CLAUDE.md 内容更新后,检查项目是否需要部署内置技能:
检查技能模板目录:
templates/record-bug-fix-memory/ 目录,确认内置技能模板可用检查项目现有技能:
.claude/skills/fix-bug/record-bug-fix-memory/SKILL.md[已存在][可部署]询问用户:
AskUserQuestion 工具询问用户是否需要部署内置技能部署技能:
templates/record-bug-fix-memory/SKILL.md 复制到项目的 .claude/skills/fix-bug/record-bug-fix-memory/SKILL.md.claude/skills/fix-bug/record-bug-fix-memory/)在步骤 5 完成后(无论是否部署了新技能),都需要生成或更新技能表:
扫描项目技能:
.claude/skills/ 目录下的所有 SKILL.md 文件name 和 description(从 YAML frontmatter 中提取)生成技能表内容:
templates/08.本项目的技能表.md 的格式- `{技能名称}`
- 路径:`{技能相对路径}`
- 用途:{技能描述}
- 触发时机:{从技能 SKILL.md 中提取的使用场景}
- 参考作用:{从技能 SKILL.md 中提取的参考信息}
- 约束:{从技能 SKILL.md 中提取的边界约束}
插入或更新 CLAUDE.md:
技能表位置要求:
AGENTS.md 或 GEMINI.md 文件AskUserQuestion 工具询问用户CLAUDE.md 全量替换这些文件init-ai-md/
├── SKILL.md # 技能说明文件
└── templates/ # 模板文件目录
├── 01.主动问询实施细节.md
├── 02.编写测试用例规范.md
├── 03.报告编写规范.md
├── 04.生成发版日志的操作规范.md
├── 05.沟通协作要求.md
├── 06.终端操作注意事项(防卡住).md
├── 07.简单任务的高效执行原则.md
├── 08.本项目的技能表.md # 技能表章节模板
├── 99.获取技术栈对应的上下文.md
└── record-bug-fix-memory/ # 内置技能模板
└── SKILL.md # record-bug-fix-memory 技能模板
..mdtemplates/ 目录下除了序号前缀的记忆项模板外,还可以包含子目录形式的内置技能模板:
templates/record-bug-fix-memory/)SKILL.md 文件SKILL.md 遵循 Claude Code Skills 的 YAML frontmatter 规范.claude/skills/{类别}/{技能名}/SKILL.md用户:请帮我初始化 AI 记忆文件
执行流程:
1. 检测到无 CLAUDE.md → 执行 /init 命令
2. 扫描 templates/ 目录,建立可用记忆项清单
3. 使用 AskUserQuestion 询问用户需要哪些记忆项
4. 用户选择后,按序号顺序插入选中的模板内容
5. 检测到无 AGENTS.md/GEMINI.md → 完成
用户:请更新我的 CLAUDE.md 记忆文件
执行流程:
1. 检测到已有 CLAUDE.md → 读取现有内容
2. 扫描现有二级标题,建立现存记忆项清单
3. 扫描 templates/ 目录,建立可用记忆项清单
4. 对比分析,标注每个记忆项的状态(缺失/需更新/已完整)
5. 使用 AskUserQuestion 询问用户需要处理哪些记忆项
6. 用户选择后,对每个选中项执行差异对比和增量补全
7. 检测到存在 AGENTS.md → 询问用户是否同步替换
8. 用户确认后执行替换
用户:更新 CLAUDE.md 中的"获取技术栈对应的上下文"章节
执行流程:
1. 读取 CLAUDE.md 中该章节的完整内容
2. 读取模板 99.获取技术栈对应的上下文.md 的内容
3. 逐行对比,发现:
- 缺失描述段落
- 缺失"规范文档"链接
4. 在对应位置补全缺失内容
5. 保持原有的自定义内容不变
用户:请帮我初始化 AI 记忆文件
执行流程:
1. 检测到无 CLAUDE.md → 执行 /init 命令
2. 扫描 templates/ 目录,建立可用记忆项清单
3. 使用 AskUserQuestion 询问用户需要哪些记忆项
4. 用户选择后,按序号顺序插入选中的模板内容
5. 检查 .claude/skills/ → 不存在 record-bug-fix-memory
6. 使用 AskUserQuestion 询问用户是否部署 record-bug-fix-memory 技能
7. 用户确认 → 创建 .claude/skills/fix-bug/record-bug-fix-memory/SKILL.md
8. 扫描 .claude/skills/ 全部技能 → 生成「本项目的技能表」章节
9. 将技能表插入 CLAUDE.md 的开头位置(一级标题之后、其他二级标题之前)
10. 检测到无 AGENTS.md/GEMINI.md → 完成
用户:请更新我的 CLAUDE.md 记忆文件
执行流程:
1. 检测到已有 CLAUDE.md → 读取现有内容
2. 扫描 templates/ 和已有记忆项 → 对比分析
3. 用户选择更新记忆项 → 执行差异补全
4. 检查 .claude/skills/ → 发现已有 record-bug-fix-memory
5. 扫描 .claude/skills/ → 发现用户新增了 code-style 技能
6. 对比现有技能表 → 识别新增技能
7. 补全技能表,新增 code-style 条目
8. 检测到存在 AGENTS.md → 询问用户是否同步替换
「本项目的技能表」章节的作用是让 agent 在读取 CLAUDE.md 时,能够快速了解项目中可用的技能清单,包括:
这帮助 agent 在合适的场景下主动调用正确的技能,而不需要逐个扫描 .claude/skills/ 目录。
每个技能条目遵循以下格式(参考 templates/08.本项目的技能表.md):
- `{技能名称}`
- 路径:`.claude/skills/{类别}/{技能名}/SKILL.md`
- 用途:{技能描述,从 YAML frontmatter 的 description 字段提取}
- 触发时机:{从 SKILL.md 的"何时使用"章节提取关键触发条件}
- 参考作用:{技能的辅助参考价值}
- 约束:{技能的边界限制}
AskUserQuestion 询问用户是否移除该条目这是一个专用于 bug 修复经验沉淀的技能。部署后:
.claude/skills/fix-bug/record-bug-fix-memory/SKILL.mdtemplates/record-bug-fix-memory/SKILL.md.claude/skills/fix-bug/record-bug-fix-memory/ 目录结构在步骤 3 交互选择时,必须按以下格式调用 AskUserQuestion 工具:
header: "记忆项"multiSelect: truelabel 格式:记忆项名称 [状态]description 说明该选项的具体操作[缺失]:目标文件中不存在该二级标题[需更新]:标题存在但内容与模板有差异(缺少行/段落)[已完整]:内容与模板完全一致[缺失] 状态的记忆项 → 在合适位置插入完整模板内容[需更新] 状态的记忆项 → 执行差异对比,仅补全缺失部分[已完整] 状态的记忆项 → 跳过或提示无需更新本技能应在以下场景主动调用:
判断内容需要更新的依据:
详细的模板内容请查看 templates/ 目录下的各个模板文件。
npx claudepluginhub ruan-cat/monorepo --plugin common-toolsInjects compressed skill-map and agent-map directive blocks into CLAUDE.md to persist skill names and agent IDs across sessions, preventing context drift and silent capability loss.
Provides stable principles, keyword registry, and navigation for Claude Code memory system (CLAUDE.md, static memory, hierarchy, imports). Delegates details to docs-management skill.
Audits, assesses quality, and improves project memory files like CLAUDE.md: discovers files, scores across 6 dimensions (0-100/A-F), reports issues, applies targeted updates with approval.