promote — скилл для Claude Code: что делает и как установить
Переносит проверенные паттерны из auto-memory (MEMORY.md) в CLAUDE.md или .claude/rules/. Помогает зафиксировать повторяющиеся требования к коду проекта.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install self-improving-agent@claude-code-skillsЧто делает promote
Скилл находит повторяющиеся заметки в файле MEMORY.md, формулирует из них короткие директивы и переносит в постоянные правила. Вместо длинных описаний ошибок агент формирует правила в повелительном наклонении с конкретными командами. Например, рекомендация по пакетному менеджеру сводится к одной строке с вызовом pnpm.
Целевой файл зависит от масштаба задачи. Общие соглашения скилл добавляет в ./CLAUDE.md, глобальные настройки пользователя отправляет в ~/.claude/CLAUDE.md, а правила для конкретных расширений или каталогов выносит в .claude/rules/ с указанием путей в блоке paths. Если CLAUDE.md превышает лимит в 200 строк, скилл предлагает создать отдельный файл правил. После переноса исходная запись удаляется из памяти, чтобы освободить место.
Ставить promote стоит тем, кто регулярно повторяет одни и те же инструкции Claude Code. Если проект маленький и обходится коротким списком команд, перенос памяти в правила будет избыточным.
Какие задачи решает
- перенести частые замечания из MEMORY.md в постоянные правила CLAUDE.md
- создать правила с привязкой к конкретным путям через .claude/rules/
- очистить файл памяти MEMORY.md от перенесённых записей
- превратить описательные заметки в краткие инструкции повелительного наклонения
Примеры запросов агенту
- /si:promote Use pnpm instead of npm
- /si:promote API validation rules --target rules/api.md --paths "src/api/**/*.ts"
- /si:promote testing guidelines --target rules/testing.md
Как установить promote
1Через маркетплейс плагинов
/plugin marketplace add alirezarezvani/claude-skills/plugin install self-improving-agent@claude-code-skillsКоманда ставит плагин self-improving-agent целиком, со всеми его скиллами
2Через Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill promote -a claude-code3Вручную: положить файлы
~/.claude/skills/promote/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/promote/
Вручную: положить файлы
.agents/skills/promote/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/promote/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills promote2Вручную: положить файлы
.github/skills/promote/SKILL.mdКомандой платформы
gemini skills install https://github.com/alirezarezvani/claude-skills --path engineering-team/self-improving-agent/skills/promoteВручную: положить файлы
.devin/skills/promote/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора349
Весь набор →Похожие
Вопросы о promote
Как установить promote в Claude Code?
Выполните команду npx skills add alirezarezvani/claude-skills --skill promote -a claude-code в терминале или установите пакет через команду /plugin marketplace add alirezarezvani/claude-skills.
Что делает скилл promote?
Он находит зафиксированные наблюдения в MEMORY.md, превращает их в лаконичные правила и сохраняет в CLAUDE.md или .claude/rules/, освобождая память от старых записей.
Когда правило переносится в .claude/rules/, а не в CLAUDE.md?
Скилл выбирает каталог .claude/rules/, если правило привязано к конкретным шаблонам путей файлов или когда основной CLAUDE.md превышает лимит в 200 строк.
Исходный текст
SKILL.md · MIT
---
name: "promote"
description: "Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement. Use when the user runs /si:promote or asks to make a learned behavior permanent."
---
# /si:promote — Graduate Learnings to Rules
Moves a proven pattern from Claude's auto-memory into the project's rule system, where it becomes an enforced instruction rather than a background note.
## Usage
```
/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
```
## Workflow
### Step 1: Understand the pattern
Parse the user's description. If vague, ask one clarifying question:
- "What specific behavior should Claude follow?"
- "Does this apply to all files or specific paths?"
### Step 2: Find the pattern in auto-memory
```bash
# 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"
```
Show the matching entries and confirm they're what the user means.
### Step 3: Determine the right target
| Pattern scope | Target | Example |
|---|---|---|
| Applies to entire project | `./CLAUDE.md` | "Use pnpm, not npm" |
| Applies to specific file types | `.claude/rules/<topic>.md` | "API handlers need validation" |
| Applies to all your projects | `~/.claude/CLAUDE.md` | "Prefer explicit error handling" |
If the user didn't specify a target, recommend one based on scope.
### Step 4: Distill into a concise rule
Transform the learning from auto-memory's note format into CLAUDE.md's instruction format:
**Before** (MEMORY.md — descriptive):
> 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.
**After** (CLAUDE.md — prescriptive):
```markdown
## Build & Dependencies
- Package manager: pnpm (not npm). Use `pnpm install`.
```
**Rules for distillation:**
- One line per rule when possible
- Imperative voice ("Use X", "Always Y", "Never Z")
- Include the command or example, not just the concept
- No backstory — just the instruction
### Step 5: Write to target
**For CLAUDE.md:**
1. Read existing CLAUDE.md
2. Find the appropriate section (or create one)
3. Append the new rule under the right heading
4. If file would exceed 200 lines, suggest using `.claude/rules/` instead
**For `.claude/rules/`:**
1. Create the file if it doesn't exist
2. Add YAML frontmatter with `paths` if scoped
3. Write the rule content
```markdown
---
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
```
### Step 6: Clean up auto-memory
After promoting, remove or mark the original entry in MEMORY.md:
```bash
# Show what will be removed
grep -n "<pattern>" "$MEMORY_DIR/MEMORY.md"
```
Ask the user to confirm removal. Then edit MEMORY.md to remove the promoted entry. This frees space for new learnings.
### Step 7: Confirm
```
✅ 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.
```
## Promotion Decision Guide
### Promote when:
- Pattern appeared 3+ times in auto-memory
- You corrected Claude about it more than once
- It's a project convention that any contributor should know
- It prevents a recurring mistake
### Don't promote when:
- It's a one-time debugging note (leave in auto-memory)
- It's session-specific context (session memory handles this)
- It might change soon (e.g., during a migration)
- It's already covered by existing rules
### CLAUDE.md vs .claude/rules/
| Use CLAUDE.md for | Use .claude/rules/ for |
|---|---|
| Global project rules | File-type-specific patterns |
| Build commands | Testing conventions |
| Architecture decisions | API design rules |
| Team conventions | Framework-specific gotchas |
## Tips
- Keep CLAUDE.md under 200 lines — use rules/ for overflow
- One rule per line is easier to maintain than paragraphs
- Include the concrete command, not just the concept
- Review promoted rules quarterly — remove what's no longer relevant
© Alireza Rezvani · MIT · alirezarezvani/claude-skills