关于 promote
这项 Claude 技能可将自动记忆中的模式整理为 CLAUDE.md 或特定范围规则文件中的简明指令,适合维护项目约定。流程会先核对来源模式和目标位置,再写入规则并处理记忆条目。
主要功能
- 01查找自动记忆中的模式
- 02选择项目级或范围规则目标
- 03将笔记提炼为简明指令
- 04写入 CLAUDE.md 或规则文件
- 05移除记忆条目前先确认
适用场景
- 01将重复出现的项目约定写成规则
- 02仅对选定文件路径应用指引
- 03将已验证的经验从自动记忆转为规则
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill promote安装后在 Claude Code 中输入/promote确认已加载。
详细介绍
/si:promote — 将经验升级为规则
将经过验证的模式从 Claude 的自动记忆移入项目的规则系统,使其成为强制执行的指令,而不再只是后台笔记。
用法
/si:promote <pattern description> # Auto-detect best target
/si:promote <pattern> --target claude.md # Promote to CLAUDE.md
/si:promote <pattern> --target rules/testing.md # Promote to scoped rule
/si:promote <pattern> --target rules/api.md --paths "src/api/**/*.ts" # Scoped with paths
工作流程
第 1 步:理解模式
解析用户的描述。如果描述含糊,只问一个澄清问题:
- "Claude 应该遵循什么具体行为?"
- "这适用于所有文件还是特定路径?"
第 2 步:在自动记忆中查找模式
# Search MEMORY.md for related entries
MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory"
grep -ni "<keywords>" "$MEMORY_DIR/MEMORY.md"
展示匹配的条目,并确认它们就是用户所指的内容。
第 3 步:确定正确的目标
| 模式范围 | 目标 | 示例 |
|---|---|---|
| 适用于整个项目 | ./CLAUDE.md | "使用 pnpm,而不是 npm" |
| 适用于特定文件类型 | .claude/rules/<topic>.md | "API 处理程序需要校验" |
| 适用于你的所有项目 | ~/.claude/CLAUDE.md | "优先使用显式错误处理" |
如果用户没有指定目标,则根据范围推荐一个。
第 4 步:提炼为简洁的规则
将自动记忆中的笔记式学习内容转换为 CLAUDE.md 的指令格式:
之前(MEMORY.md — 描述性):
The project uses pnpm workspaces. When I tried npm install it failed. The lock file is pnpm-lock.yaml. Must use pnpm install for dependencies.
之后(CLAUDE.md — 规定性):
## Build & Dependencies
- Package manager: pnpm (not npm). Use `pnpm install`.
提炼规则:
- 尽可能每条规则一行
- 使用祈使语气("使用 X"、"始终 Y"、"从不 Z")
- 包含命令或示例,而不只是概念
- 不要背景故事,只保留指令本身
第 5 步:写入目标
对于 CLAUDE.md:
- 读取现有的 CLAUDE.md
- 找到合适的章节(或创建一个)
- 在正确的标题下追加新规则
- 如果文件将超过 200 行,建议改用
.claude/rules/
对于 .claude/rules/:
- 如果文件不存在则创建
- 如果有范围限定,添加带有
paths的 YAML 前置元数据 - 写入规则内容
---
paths:
- "src/api/**/*.ts"
- "tests/api/**/*"
---
# API Development Rules
- All endpoints must validate input with Zod schemas
- Use `ApiError` class for error responses (not raw Error)
- Include OpenAPI JSDoc comments on handler functions
第 6 步:清理自动记忆
升级之后,在 MEMORY.md 中删除或标记原始条目:
# Show what will be removed
grep -n "<pattern>" "$MEMORY_DIR/MEMORY.md"
请用户确认删除。然后编辑 MEMORY.md,移除已升级的条目。这样可以为新的学习内容腾出空间。
第 7 步:确认
✅ Promoted to {{target}}
Rule: "{{distilled rule}}"
Source: MEMORY.md line {{n}} (removed)
MEMORY.md: {{lines}}/200 lines remaining
The pattern is now an enforced instruction. Claude will follow it in all future sessions.
升级决策指南
以下情况应升级:
- 模式在自动记忆中出现过 3 次及以上
- 你对 Claude 纠正过该问题不止一次
- 这是任何贡献者都应知道的项目约定
- 它可以防止反复出现的错误
以下情况不应升级:
- 这是一次性的调试笔记(保留在自动记忆中)
- 这是会话特定的上下文(由会话记忆处理)
- 它可能很快会改变(例如在迁移期间)
- 它已被现有规则覆盖
CLAUDE.md 与 .claude/rules/ 的区别
| CLAUDE.md 用于 | .claude/rules/ 用于 |
|---|---|
| 全局项目规则 | 特定文件类型的模式 |
| 构建命令 | 测试约定 |
| 架构决策 | API 设计规则 |
| 团队约定 | 特定框架的易错点 |
提示
- 将 CLAUDE.md 控制在 200 行以内,超出部分使用 rules/
- 每行一条规则,比段落更易于维护
- 包含具体命令,而不只是概念
- 每季度复查已升级的规则,删除不再相关的内容
评论
支持 Markdown