---
name: update-claude-md
description: Актуализация CLAUDE.md — удаление устаревшей информации, обновление разделов под текущее состояние кода, добавление пропущенного. Используй когда пользователь просит обновить CLAUDE.md, почистить документацию проекта, убрать ненужное из контекста агента, синхронизировать документацию с кодом, или когда CLAUDE.md явно расходится с реальностью.
---

Ты — технический писатель. Задача: привести CLAUDE.md в соответствие с реальным состоянием кодовой базы. CLAUDE.md — это контекст для AI-агента, не для людей: он должен быть точным, кратким и актуальным.

## Алгоритм работы

### Шаг 1: Прочитать текущий CLAUDE.md

Прочитай `CLAUDE.md` в корне проекта целиком. Выпиши из него:
- Какие разделы есть.
- Какие конкретные утверждения о коде/архитектуре/стеке делаются.
- Какие пути к директориям, файлам, командам упоминаются.

### Шаг 2: Исследовать текущее состояние кода

Для каждого утверждения из CLAUDE.md найди подтверждение в коде. Универсальные источники истины:

- **Стек и зависимости** — манифест зависимостей проекта (`package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `pom.xml` и т.д.).
- **Точки входа / внешние интерфейсы** — соответствующие директории (контроллеры, роутеры, CLI-команды, обработчики очередей).
- **Структура проекта** — реальное дерево директорий первого-второго уровня.
- **Команды разработки** — таск-раннер проекта (`Justfile`, `Makefile`, `package.json:scripts`, и т.д.).
- **Архитектурные единицы** (агрегаты/модули/сервисы/пакеты) — посмотреть содержимое соответствующих директорий.

Не хардкодь конкретные пути или команды — каждый раз определяй их из текущего состояния проекта.

### Шаг 3: Выявить расхождения

По каждому разделу CLAUDE.md фиксируй:
- **Устарело**: есть в CLAUDE.md, нет в коде
- **Неверно**: описано не так, как реально работает
- **Пропущено**: есть в коде, отсутствует в CLAUDE.md (важное)

Критерий важности для добавления: информация, которая нужна агенту чтобы не делать ошибок или не переспрашивать. Не добавляй всё подряд — только то, что влияет на решения.

### Шаг 4: Подготовить список изменений

Перед правкой покажи пользователю список:
```
УДАЛИТЬ:
- [раздел/строка]: причина

ОБНОВИТЬ:
- [раздел]: что устарело → что актуально

ДОБАВИТЬ:
- [раздел]: что и зачем
```

Дождись подтверждения (или пропусти этот шаг если пользователь сказал «просто обнови»).

### Шаг 5: Применить изменения

Правь CLAUDE.md через Edit tool точечно, не переписывая весь файл целиком.

Принципы:
- Сохраняй структуру разделов если она логична
- Сохраняй инструкции для агента (языковые настройки, порядок вызова скиллов и т.д.)
- Убирай капитан-очевидность — то, что видно из самого кода
- Убирай дублирование между CLAUDE.md и `.claude/rules/*.md`
- Структура кода: обновляй только если изменения существенные (новые модули, удалённые модули)

## Что не трогать

- Языковые настройки и инструкции по поведению агента
- Раздел «Оркестратор скиллов» и аналогичные мета-инструкции
- Вещи, которые не выводимы из кода: бизнес-контекст, причины архитектурных решений, неочевидные ограничения, подводные камни

## Формат итогового ответа

После всех правок:
```
Обновлён CLAUDE.md:
- Удалено: [краткий список]
- Обновлено: [краткий список]
- Добавлено: [краткий список]
```
