intake · git:20260814.5023d8c · 2026-08-14 · sha256 2b3095a16d3d6528
intake git:20260814.5023d8cA
Immutable. This exact content is served forever at /api/v1/blob/2b3095a16d3d6528.
--- name: intake description: > Rule intake: one pass routes a new rule/preference/policy edit into ALL the right homes (always-loaded canon, memory, the behavioral Bible, a skill, a hook) and leaves a trace in the always-loaded layer so parallel processes see it on their own. Trigger on "/intake", "record this rule", "route this to its homes". Flow: RECALL-dedup → classify by form → write to all homes → backup + selective commit → report. license: MIT --- # /intake — приёмник правил (разложить по домам, не просто записать) > 🧒 **When reporting to Anton:** end with a child-simple "Простыми словами" recap (memory `eli5-always`). Reports TO Anton only — never inside vault notes. **Зачем (канон: память `rules-intake-channel`).** Этот чат — выделенный канал, куда Антон скидывает ВСЕ правила/регламенты/Библию/скиллы/правки `CLAUDE.md`/предпочтения, чтобы не захламлять рабочие чаты. Моя работа — **не просто записать, а РАЗВЕЗТИ** правило по всем домам, перелинковать и оставить след в always-loaded слое, чтобы автоматические/параллельные процессы увидели его при следующем запуске. Этот скилл = тот же ручной flow, что я повторял ~10× за сессию, свёрнутый в одну команду. **Архитектура (skill-design-three-layer):** тонкий `SKILL.md`-оркестратор + детерминированные шаги (бэкап/commit/grep) + внешний store (CLAUDE.md, память, волт). Решение о маршруте **всё равно показываю Антону** в отчёте — скилл не прячет логику, он её исполняет без переспросов на каждом шаге. --- ## Шаг 0 — RECALL (дедуп; дёшево, ~0 токенов). НИКОГДА не плодить дубль Прежде чем писать — проверить, нет ли уже такого правила (обновить, не плодить копию; снять конфликт по «свежее бьёт старое»): - `MEMORY.md` уже в контексте — сканирую его индекс по теме. - `grep` по памяти: `$USERPROFILE/.claude/projects/C--Users----CLAUDE-HP17-May26/memory/`. - `grep` по Библии/волту: `reglament-*` / `protocol-*` под `03-Insights\Operations\` и `05-Resources\Protocols\`; при нужде RAG `brain_ask.py "<тема>"`. - Нашёл существующее → **обновляю его** (не создаю второе), помечаю `supersedes`/обновляю `date_established`. Конфликт правил Антона (`origin: anton`) разрешает только Антон или явный `supersedes`. ## Шаг 1 — Классифицировать правило по ФОРМЕ → выбрать дома Маршрут по `operating-agreement` → «Where durable rules go» (НЕ дублирую правило по файлам — каждый уровень ССЫЛАЕТСЯ вниз): - **Как работаю Я / машинный процесс** (импорт, дашборды, токен-экономия, рутины, мой стиль ответа) → `CLAUDE.md` (always-on блок) + память (+ строка в `MEMORY.md`). - **Устойчивый факт / предпочтение** → память (`memory\*.md` + строка-указатель в `MEMORY.md`). - **Действие ОТ ЛИЦА Антона вовне** (аутрич, его чаты, календарь, закупки, найм, быт) → **Библия** (`reglament-*` в волте) + при нужде подъём в always-on в `CLAUDE.md`. - **«Каждый раз автоматически когда X»** → **hook** (skill `update-config`), не «держать в уме». - **Время-based «каждый понедельник / каждое утро»** → **scheduled task / рутина** (skill `schedule`). ## Шаг 1★ — ТЕСТ «а мог бы это сделать ЧЕЛОВЕК?» → ДА → правило ИДЁТ И В БИБЛИЮ Если правило гипотетически может выполнить **живой ассистент Антона** (не только я/код) — оно **дублируется в Библию** (единый свод для всех акторов: Антон + ассистенты + AI). Чтобы копии не разъезжались: **канон человеко-исполнимой части — в Библии**, машинный слой (`CLAUDE.md`/память) ССЫЛАЕТСЯ на неё. Чисто-машинное (импорт-скрипт, реиндекс — человек так не делает) в Библию НЕ дублирую. ## Шаг 2 — КЛЮЧЕВОЙ инвариант: след в always-loaded слое ОБЯЗАТЕЛЕН «Само всплывает» у параллельных процессов только то, что в **always-loaded** слое: `CLAUDE.md` и индекс `MEMORY.md` грузятся в КАЖДУЮ сессию; отдельные файлы памяти — по релевантности; **волт сам НЕ всплывает** (нужен grep/RAG); скилл — по триггеру. → Чтобы правило стало «фоновым/автоматическим», у него ДОЛЖЕН быть след в `CLAUDE.md` или `MEMORY.md` (хотя бы строкой-указателем на канон), а не только в волте/скилле. ## Шаг 3 — Написать во все выбранные дома - **Память:** создать/обновить `memory\<slug>.md` с frontmatter (`name`, `description`, `metadata.type`: user/feedback/project/reference). Body: для feedback/project — `**Why:**` + `**How to apply:**`. Линки `[[name]]` либерально. + одна строка-указатель в `MEMORY.md` (`- [Title](file.md) — hook`, ≤200 симв). - **CLAUDE.md:** если always-on — добавить блок `## ALWAYS: <тема> (standing — set <дата>)` или дописать буллет в существующий; закончить «Канон: память `<slug>` + Библия `<reglament>`». ⚠️ Бюджет входа: блок = ТОЛЬКО триггер + суть + указатель, цель ≤4 строк / ~900 символов; механика (команды, форматы, ID, примеры) живёт в Библии/памяти/скилле, в CLAUDE.md ей не место. ⭐ ПЛАТИ ЗА ВХОД (Библия `reglament-optimizatsiya-always-loaded-faylov-claude-md-i-memory-md`): ДО записи прогнать `python ~/.claude/scripts/claude_md_guard.py --preflight <блок.md>` — exit 0 = входи; exit 1 = файл в жёлтой/красной зоне, сперва освободи ≥ размера блока (сжать секцию харнесом `claude_md_compress.py index→build→verify` / увести тело в Библию), потом пиши. Слова не пережимаем (declined) — только структура. Хук на запись CLAUDE.md продублирует предупреждение, но preflight — твой шаг, не жди хука. - **Библия (если Шаг 1★):** `reglament-*.md` в `03-Insights\Operations\` (или нужном домене) по формату `protocol-bible-as-prompt` (verbatim Антона, `WHEN → DO`, frontmatter с `audience`/`origin`/`authored_by`/`date_established`/`status`/`confidence`). **Вшить в MOC** (`_Operations-Bible-MOC` или доменный индекс) — иначе ассистент его не найдёт. ## Шаг 4 — Бэкап + выборочный commit (safety) - Запись в волт → СНАЧАЛА `vault_backup.py` ([[vault-backup-rule]]). - **⚠️ Если общий бэкап заблокирован** (предохранитель ловит чужие массовые удаления параллельного флота) — НЕ форсить; коммитить ТОЛЬКО свои файлы: `cd $OBSIDIAN_VAULT && git add "<мой файл>" && git commit -m "..."`. Никогда `--force`, никогда blanket-glob-delete. - `CLAUDE.md`/память авто-коммитятся git'ом (`claude-skills-git-backup`, 15-мин таск) — отдельный commit не нужен. ## Шаг 4★ — МАТРИЦА ДОМОВ + сторож (гейт, не опция; канон `reglament-vyuchennoe-zapisyvaetsya-vo-vse-doma-matritsa`) Перед отчётом заполнить матрицу: **каждый** из 6 домов (Библия · CLAUDE.md · память+MEMORY.md · скилл · hook/task · MOC) получает явный вердикт **✅ записано / ⛔ не нужен + причина** — молча пропустить дом нельзя (грабли 2026-07-14: Библию забыли, потому что маршрут держали «в голове»). Затем доказать счётчиком: `python ~/.claude/scripts/rule_home_guard.py <slug/ключевые-слова>` — exit 1 = нет следа в always-loaded (Шаг 2 нарушен) → чинить до отчёта. ## Шаг 5 — Отчёт постфактум (НЕ для разрешения — для прозрачности) Коротко Антону: **ЧТО** за правило · **МАТРИЦА домов из Шага 4★** (вердикт по каждому) · **что перелинковал** · конфликты/дубли (если обновил существующее). Как с концептами — постфактум, не спрашивая разрешения на каждый дом. --- ## Граница / не дублировать - Перед записью всегда RECALL (Шаг 0) — обновляю существующее, а не пложу второе. - Канон процедуры = память `rules-intake-channel` (этот скилл — её исполняемая форма). Зеркало — `capture-rules-into-bible` (ловит правила в ЛЮБОМ чате; intake = выделенный канал + механика always-loaded слоя). - Секреты (пароли/доступы/финцифры/«серые» техники) — НИКОГДА в загружаемый слой (`CLAUDE.md`/`MEMORY.md`/Библию); их дом = `secrets\` (память `credential-store`).