| description | allowed-tools | argument-hint |
|---|---|---|
Анализ сессии и предложение Claude rules на основе выявленных паттернов |
Read, Write, Glob, Grep |
[all|global|project|verbose] |
Проведи ретроспективный анализ текущей сессии и предложи Claude rules для сохранения ценного контекста и паттернов.
Сначала изучи существующие rules в проекте:
Glob(".claude/rules/**/*.md") → список файлов
Извлеки:
- Категории (папки): core/, development/, testing/...
- Количество rules в каждой
- Примеры naming convention
Выведи:
## Структура rules в проекте
Найдено N rules в K категориях:
- category1/ (X файлов)
- category2/ (Y файлов)
...
(или: Папка .claude/rules/ не найдена — будет создана)
Проанализируй каждый turn разговора от начала до этой команды:
Что искать:
- 🟢 Успехи: Какие паттерны привели к правильному решению?
- 🔴 Ошибки и исправления: Где подход провалился? Что исправил пользователь?
- 📁 Файлы: Какие файлы обсуждались? Какие паттерны в них?
- 🔧 Решения: Какие архитектурные решения были приняты?
- 📚 Domain knowledge: Какие специфические знания о проекте раскрыты?
Для каждого потенциального правила выполни проверку:
| Check | Критерий | Вопрос |
|---|---|---|
| A1 | Universal | Применимо к разным проектам/задачам? |
| A2 | Abstracted | Общий принцип, не привязан к конкретному багу? |
| A3 | High-Impact | Предотвращает реальные проблемы? |
Формат проверки:
Кандидат: "fail-fast-principle"
├── A1 Universal: ✅ применимо к любому backend
├── A2 Abstracted: ✅ общий принцип
├── A3 High-Impact: ✅ предотвращает silent failures
└── RESULT: ✅ PASS
Кандидат: "fix-specific-jwt-bug"
├── A1 Universal: ❌ специфично для этой задачи
├── A2 Abstracted: ❌ привязано к конкретному багу
├── A3 High-Impact: ⚠️ средний
└── RESULT: ❌ REJECT
Выводи ТОЛЬКО правила с PASS.
Выведи детальный индекс с обоснованием:
## Найдено N правил
### 🌍 Global (M) — для ~/.claude/rules/
**1. rule-name-kebab-case**
- 📝 Суть: Краткое описание принципа
- 🎯 Зачем: Какую проблему предотвращает
- 📍 Откуда: [момент сессии где проявилось]
### 📁 Project (K) — для .claude/rules/<категория>/
**2. another-rule-name**
- 📝 Суть: ...
- 🎯 Зачем: ...
- 📍 Рекомендуемая категория: [на основе анализа существующих]
---
Продолжить? `y` — все, `1` — Global, `2` — Project, `n` — отмена
Ожидай ответ пользователя перед Phase 4.
Для каждого выбранного правила выведи полное содержимое:
### N. rule-name-kebab-case
**Тип**: 🌍 Global | 📁 Project
**Pre-Check**: ✅ A1 ✅ A2 ✅ A3
**Путь**: `.claude/rules/<категория>/rule-name.md`
**Причина:**
- Почему важно?
- Какую проблему предотвращает?
**Содержимое файла:**
# Rule Title
[Описание принципа]
## Правильно
```language
// пример правильного кода
// пример неправильного кода
- Пункт 1
- Пункт 2
---
## Phase 5: User Selection
После вывода предложений:
Ответь в формате: 1✅, 2❌, 3✏️ сделай короче
- ✅ — создать как есть
- ❌ — отклонить
- ✏️ — модифицировать (укажи что изменить)
Или: all для всех, 0 для отмены.
---
## Phase 6: File Creation
**При создании:**
1. Проверь что файл не существует: `Glob(".claude/rules/**/<name>.md")`
2. Создай файл: `.claude/rules/<категория>/<name>.md`
3. Подтверди: `✅ Создано: .claude/rules/<категория>/<name>.md`
**Если категория новая:**
- Создай папку
- Сообщи: `📁 Создана новая категория: <name>/`
**Если файл существует:**
- Спроси: `⚠️ Файл существует. Перезаписать? (y/n/merge)`
---
## Критические правила
1. **НЕ создавай автоматически** — только после явного выбора пользователя
2. **НЕ предлагай тривиальные** — Quality Filter обязателен
3. **< 500 строк** — большие разбивай на несколько
4. **Self-contained** — понятно без контекста сессии
5. **Actionable** — конкретные инструкции, не советы
6. **БЕЗ frontmatter** — Claude Code rules это чистый Markdown
---
## Категоризация
| Тип | Когда использовать | Путь |
|-----|-------------------|------|
| 🌍 **Global** | Принцип для ЛЮБОГО проекта | `~/.claude/rules/` |
| 📁 **Project** | Специфика текущего проекта/стека | `.claude/rules/<категория>/` |
**Рекомендации по категориям:**
- Изучи существующие категории в проекте
- Предложи наиболее подходящую
- Или предложи новую с обоснованием
---
## Аргументы команды
- Без аргументов: полный workflow
- `$ARGUMENTS` = `global`: только 🌍 Global правила
- `$ARGUMENTS` = `project`: только 📁 Project правила
- `$ARGUMENTS` = `verbose`: показать также REJECT кандидатов
---
## Примеры качественных правил
| Тип | Примеры |
|-----|---------|
| **Архитектура** | Модули, слои, naming conventions |
| **Workflow** | TDD, code review, git workflow |
| **Интеграции** | API retry, error handling, env config |
| **Debug** | Формат логов, трейсинг |
| **Domain** | Бизнес-логика, термины, связи |
---
## Начни
Phase 0 (структура) → Phase 1 (анализ) → Phase 2 (фильтр) → Phase 3 (индекс) → ответ → Phase 4-6