git:20260705.540d185 to git:20260828.2b87e3e

6 added, 5 removed. Audit A to A.

---
name: claude-md-bootstrap
description: >
Use when the user wants to create or bootstrap a project-local CLAUDE.md - the auto-loading
project context file for the agent. Russian triggers: "сделай/создай проектный CLAUDE.md",
"настрой контекст проекта для агента", "забутстрапь CLAUDE.md", "CLAUDE.md для проекта".
English triggers: "bootstrap project CLAUDE.md", "set up project agent context".
Generates an opinionated CLAUDE.md adapted to project type (code/ops/agent/content): iron
rules and gotchas as IF-THEN with primacy+recency placement, a work protocol including a
keep-docs-live rule, and progressive-disclosure pointers to docs/ and project memory.
Extends an existing CLAUDE.md instead of overwriting. Do NOT use for editing arbitrary files,
the generic codebase summary that built-in /init produces, or non-CLAUDE.md docs.
---
# claude-md-bootstrap
- Создаёт проектный `CLAUDE.md` в корне проекта - авто-загружаемый каждую сессию контекст для агента:
+ Создает проектный `CLAUDE.md` в корне проекта - авто-загружаемый каждую сессию контекст для агента:
железные правила-грабли, протокол работы, указатели на доки и память. Цель - чтобы агент был
эффективен в проекте сразу, без переоткрытия граблей, и чтобы документация поддерживалась ПО ХОДУ
работы, а не постфактум.
**Методика заимствована** из opencode-скила `project-bootstrap`
(https://github.com/dimkurilo/opencode-skills/tree/main/skills/project-bootstrap) и адаптирована под
Claude Code: `CLAUDE.md` вместо `AGENTS.md`, память проекта (`~/.claude/projects/<proj>/memory/`)
вместо `.agents/`, без модельных профилей (DeepSeek/GLM) и без GRACE-якорей. Что заимствовано
дословно: Variant E (правила в primacy + recency против "Lost in the Middle"), классификация проекта,
режим расширения, contradiction check, progressive disclosure, лимит "не больше 2 вопросов".
## Когда этот скил, а когда встроенный /init
- **`/init`** - дженерик: сводка кодовой базы в CLAUDE.md. Используй, если нужен просто обзор кода.
- **Этот скил** - опинионейтед агент-контекст: правила-грабли как IF-THEN, протокол, primacy/recency,
- "док как часть работы". Используй, когда проект сложный и нужен надёжный контекст для агента.
+ "док как часть работы". Используй, когда проект сложный и нужен надежный контекст для агента.
- Можно комбинировать: сначала `/init` для черновой архитектуры, затем этот скил для структуры и правил.
## Workflow
### Фаза 0: Классификация + режим
1. **Тип проекта** (определи по файлам, НЕ спрашивай):
| Тип | Сигналы |
|-----|---------|
| `code` | исходники (py/ts/js/go/...), тесты, CI |
| `ops` | Docker, SSH, .env, nginx, продакшен-риски |
| `agent` | скиллы, промпты, агенты, модели |
| `content` | статьи, briefs, Excel, документы |
Приоритет гибридов: ops > code > agent > content.
2. **Режим**: `ls CLAUDE.md` в корне. Если есть -> **РЕЖИМ РАСШИРЕНИЯ** (дополнять, не перезатирать;
сохранить ручные правки пользователя, добавить недостающие секции).
3. **Загрузи контекст** (Read/Glob/Grep, без вопросов):
- `README*`, `docs/**`, корневые конфиги.
- `git log --oneline -30` и багфиксы - источник граблей.
- Память проекта: `~/.claude/projects/<кодированный-путь>/memory/MEMORY.md` (если есть).
- Глобальный `~/.claude/CLAUDE.md` и `~/.claude/rules/*` - чтобы НЕ дублировать и не конфликтовать.
### Фаза 1: Сбор (НЕ больше 2 вопросов)
Собери из контекста, спроси только то, что не выводится:
- **Overview** - 1 строка + 1 абзац (из README/кода).
- **Грабли (gotchas)** - из памяти, git-истории, троблшутинга в docs. Если неочевидно - ОДИН вопрос:
"Какие грабли/правила в проекте обязательно знать, чтобы не наступить?".
- **Протокол** - команды запуска/тестов (из README/scripts/CI); правило "при изменении X обнови Y".
- Чего не знаешь - НЕ выдумывай, ставь `<!-- TODO: уточнить -->`.
### Фаза 2: Генерация CLAUDE.md
Собери файл по шаблону ниже. Принципы:
- **Железные правила - дважды**: в преамбуле (primacy) и в конце (recency). Кратко, IF-THEN.
- **Progressive disclosure**: CLAUDE.md - ИНДЕКС. Не копируй сюда содержимое docs/ - давай указатели.
- **Грабли конкретны**: симптом -> причина -> фикс/правило.
- В режиме расширения - вставляй только недостающее, существующее не трогай.
### Фаза 3: Contradiction check (обязательно)
Сверь сгенерированный CLAUDE.md с глобальным `~/.claude/CLAUDE.md`, `~/.claude/rules/*` и памятью:
- нет правила, противоречащего глобальному;
- нет дублирования того, что уже в глобальных правилах (ссылайся, не копируй);
- одно значение параметра во всех местах;
- - **ФОРМАТ соблюдён** по глобальным правилам (`~/.claude/rules/text-formatting.md`, `~/.claude/CLAUDE.md`):
- напр. без `ё` (заменить на `е`), без длинных тире (`-` вместо `—`/`–`). Проверка: `grep -nE 'ё|—|–' CLAUDE.md`.
+ - **ФОРМАТ соблюден** по глобальным правилам (`~/.claude/rules/text-formatting.md`, `~/.claude/CLAUDE.md`):
+ напр. без буквы е с точками (заменить на `е`), без длинных и коротких тире (`-` вместо них).
+ Проверка: `grep -nP '[\x{451}\x{401}\x{2014}\x{2013}]' CLAUDE.md`.
Конфликты (MAJOR) - исправь. Запиши решения в память проекта, если она есть.
### Фаза 4: Сводка
Что создано/дополнено, какие правила вынесены, что осталось как `TODO`, на что обратить внимание.
Предложи: держать CLAUDE.md живым (обновлять по протоколу), при росте >200 строк - выносить детали в docs/.
## Шаблон CLAUDE.md
```markdown
# ${PROJECT} - ${ONE_LINER}
> Проектный контекст для агента. Это ИНДЕКС: детали - в docs/ и памяти проекта (см. "Где что искать").
> Не дублировать сюда содержимое docs/.
## Железные правила (всегда)
- IF ${условие или действие} THEN ${правило} # грабля/риск 1
- IF ${...} THEN ${...} # грабля/риск 2
- - ${ещё критичные инварианты проекта}
+ - ${еще критичные инварианты проекта}
## Протокол работы
- Запуск: `${команда запуска}`
- Тесты: `${команда тестов}`
- Док как часть работы: изменил ${модуль} -> обнови ${docs/...}; добавил скрипт -> строку в README;
новое решение/грабля -> память проекта. (НЕ копить документацию в долг.)
- ${command-first / прочие конвенции}
## Архитектура (кратко)
${2-3 фразы про устройство}. Подробно - ${docs/архитектура}.
| Модуль | Файл | Ответственность |
|--------|------|----------------|
| ${...} | ${path} | ${за что отвечает} |
## Где что искать (progressive disclosure)
- docs/ - ${что в каком документе}
- Память проекта - ${путь к memory/MEMORY.md}: решения, грабли, состояние
- Траблшутинг/грабли - ${docs/operations или ниже}
## Известные грабли (топ)
- ${симптом} -> ${причина} -> ${фикс/правило}
---
КРИТИЧНЫЕ ПРАВИЛА (повтор для recency):
- ${те же железные правила, одной строкой каждое}
```
## Что НЕ делать
- НЕ перезатирать существующий CLAUDE.md - режим расширения.
- НЕ задавать больше 2 вопросов - выводи из проекта.
- НЕ дублировать в CLAUDE.md то, что уже в глобальном `~/.claude/CLAUDE.md` или `~/.claude/rules/` - ссылайся.
- НЕ копировать содержимое docs/ в CLAUDE.md - только указатели (progressive disclosure).
- НЕ выдумывать факты/грабли - `<!-- TODO -->` если не знаешь.
- НЕ раздувать: CLAUDE.md - индекс правил и указателей, не место для длинных описаний.
- НЕ добавлять GRACE-якоря/`<!-- @rule -->` - Claude Code их не парсит, правила работают через primacy/recency.
## Референс
Первоисточник методики (для opencode, не для прямой установки в Claude Code):
https://github.com/dimkurilo/opencode-skills/tree/main/skills/project-bootstrap
(README.ru.md - разбор на русском; references/variant-e-structure.md - структура Variant E).