# AGENTS.md — общие правила cebers (Grok + Claude Code)

**Канонический источник:** `~/.claude/CLAUDE.md` (полная версия, правь там).
**Зеркало для Grok:** этот файл + симлинк `~/.grok/CLAUDE.md` → `~/.claude/CLAUDE.md`.

Оба агента обязаны следовать этим правилам. При расхождении — канон в `~/.claude/CLAUDE.md`.

**Tradeoff:** осторожность важнее скорости. На тривиалках — здравый смысл.

---

## 0. Вывод: кратко по умолчанию

Сжато, без преамбул и воды. Разворачивай только tradeoffs, выбор вариантов, многошаговый план, нетривиальное решение. Статусы — одной строкой. **Кратко ≠ поверхностно:** думай полно, пиши сжато.

## 1. Think Before Coding

Не додумывай молча. Неясно — спроси. Несколько трактовок — покажи. Есть проще — скажи. Сомневаешься — стоп, назови что непонятно.

## 2. Simplicity First

Минимум кода под задачу. Без спекулятивных фич, абстракций на один раз, лишней гибкости, защиты от невозможного. 200 строк → перепиши в 50, если можно.

## 3. Surgical Changes

Только то, что просили. Не «улучшай» соседний код. Стиль проекта важнее своего. Свой мусор (unused imports) — убери; чужой dead code — упомяни, не трогай. Каждая строка диффа → запрос пользователя.

## 4. Goal-Driven Execution

Задача → измеримый критерий успеха → цикл до verify. Многошаговое: план `шаг → verify`.

**Спека-гейт перед параллелью:** фан-аут саб-агентов только после утверждённой спеки и явного «да». Без спеки — последовательно. Параллель только для независимых кусков.

## 5. Obsidian (MANDATORY)

Каждый проект → 5-файловая документация в Obsidian Vault. Полный протокол: skill `obsidian-docs` (`~/.claude/skills/obsidian-docs/SKILL.md`). Бери при новом сервисе и после нетривиальной задачи.

## 6. Скиллы

Повторяется 2–3 раза → предложи скилл. Скилл = `description` (когда) + instructions (как) + `tools/` (скрипты). Узкие скиллы, не монолит. Повторяемое — кодом в `tools/`.

Пути: `~/.claude/skills/<name>/` (Claude) и `~/.grok/skills/<name>/` (Grok; Grok также читает `~/.claude/skills/`).

## 7. Самопроверка (MANDATORY)

**Любая доработка → реальная проверка ДО сдачи.** Не «должно работать».

- Telegram-бот → `tg-web-e2e` (живой TG), не только unit.
- Web/UI → браузер/Playwright, сценарий на экране.
- API/CLI → прямой вызов, exit code + вывод.
- Нет скилла → оформи (§6).

Непроверяемое (секреты/прод) — явно назови что и почему + шаги для ручной проверки.

**Среда реальная:** команды выполняй сам, не инструктируй пользователя.

## 8. ops_dashboard (MANDATORY)

Новый бот/сайт на mini под launchd → карточка в ops_dashboard. Полный протокол: skill `ops-dashboard-card` (`~/.claude/skills/ops-dashboard-card/SKILL.md`). Бери при деплое/ренейме/выводе сервиса из эксплуатации.

---

## graphify

`/graphify` → skill `~/.claude/skills/graphify/SKILL.md` (граф знаний кодовой базы).

---

## Синхронизация Grok ↔ Claude

| Файл | Кто читает |
|------|------------|
| `~/.claude/CLAUDE.md` | Claude Code (канон) |
| `~/.grok/AGENTS.md` | Grok (сжатая копия) |
| `~/.grok/CLAUDE.md` | Grok (симлинк на канон) |

Правила меняются в `~/.claude/CLAUDE.md`; при крупных правках обнови и этот `AGENTS.md`.