Применить обновление методологии Огорода — подтянуть свежие _rules.md, skills/, docs/, _templates/, scripts/, .githooks/ из последнего GitHub-релиза kringova/ogorodush, сохранив весь пользовательский контент vault'а. Используй по команде «обнови Огород» — обычно после баннера обновления в sync.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Применить обновление методологии Огорода — подтянуть свежие _rules.md, skills/, docs/, _templates/, scripts/, .githooks/ из последнего GitHub-релиза kringova/ogorodush, сохранив весь пользовательский контент vault'а. Используй по команде «обнови Огород» — обычно после баннера обновления в sync.
user_invocable
true
update
Путь от баннера sync «🌱 Обновление Огорода» до применённого обновления. Не read-only — меняет файлы канона, но каждая запись — после диф-превью и явного подтверждения.
Когда запускать
После баннера sync «🌱 Обновление Огорода» — по команде «обнови Огород».
С явно названной версией — «обнови Огород до 1.2.0»: тогда шаг 1 пропускается, версия берётся из запроса.
Неприменимо — проверь первым шагом
Сам ogorodush (remote origin указывает на kringova/ogorodush, либо это репозиторий-методология) — источник канона и есть этот репозиторий, обновлять неоткуда. Скажи это прямо, ничего не делай.
llmush — исторический канон-источник методологии (kringova/llmush), навык ему не нужен: обновления в llmush вносятся мейнтейнером вручную, не через pull апстрима. Если тебя всё же попросили выполнить update в llmush — уточни у пользователя, точно ли это нужно, прежде чем действовать.
Любой другой vault (адаптер апстрима, remote отличается от kringova/ogorodush) — навык применим, переходи к шагу 1.
Шаг 1 — целевая версия
Источник истины — GitHub Releases kringova/ogorodush:
tag_name (напр. v1.3.1) — целевая версия; semver без v — то, что пишется в ogorod_version. Пользователь может назвать версию явно («обнови до 1.2.0») — используй её, тег v1.2.0.
Сверь с текущей ogorod_version в ogorod.config.json. Целевая версия должна быть новее. Равна или старше — обновлять нечего, скажи и останови. Поля нет или файла нет — вероятно, setup не запускался; сначала он.
Шаг 2 — доставить канон во временный каталог
Каталог вне vault: dest=$(mktemp -d). Основной путь — git clone на конкретный тег, без истории:
Fallback, если git недоступен или clone упал (сеть, приватность форка и т.п.) — архив релиза по HTTP:
curl -fsSL https://github.com/kringova/ogorodush/archive/refs/tags/v<version>.tar.gz | tar xz -C "$dest" --strip-components=1
Оба варианта кладут содержимое репозитория версии <version> прямо в $dest (без вложенной ogorodush-<version>/, для tar — за счёт --strip-components=1).
Шаг 3 — что обновляется, что нет
Обновляемые пути (канон, перезаписываются из апстрима целиком):
_rules.md
skills/
docs/
_templates/
scripts/
.githooks/
Никогда не трогать (пользовательский контент и данные конкретного vault'а):
ogorod.config.json — меняется только поле ogorod_version (шаг 7); dashboard, default_bed и любые другие поля не трогать
Только по явному согласию (могут быть кастомизированы под адаптер — спроси отдельно, не включай молча в диф шага 4):
dashboard/, dashboard-app/
Остальное в корне апстрима (README.md, .github/, LICENSE, CHANGELOG.md, package.json, bed.json, AGENTS.md, CLAUDE.md) в обновление не входит — не копировать без отдельной явной просьбы.
Шаг 4 — диф-превью и подтверждение
До первой записи в vault покажи, что изменится:
Список файлов с отличиями по каждому обновляемому пути:
Содержательные диффы (diff -u, не только список путей) для ключевых файлов: _rules.md и каждый изменённый skills/*/SKILL.md.
Локальные правки канонных файлов — если что-то в _rules.md/skills/*/docs/* в vault'е отличается от версии апстрима, с которой обновлялись в прошлый раз (кастомизация, а не устаревание), подсвети отдельно: «локально изменено, будет перезаписано». Не смешивай с обычным «обновилось в апстриме».
Спроси подтверждение. Без явного «да» — не применяй ничего из шага 5.
Шаг 5 — применить
Только пути из «обновляемые» (шаг 3), только после подтверждения (шаг 4):
rsync -a --delete "$dest"/skills/ <vault>/skills/
rsync -a --delete "$dest"/docs/ <vault>/docs/
rsync -a --delete "$dest"/_templates/ <vault>/_templates/
rsync -a --delete "$dest"/scripts/ <vault>/scripts/
rsync -a --delete "$dest"/.githooks/ <vault>/.githooks/
cp"$dest"/_rules.md <vault>/_rules.md
--delete — канонная папка зеркалит апстрим: навык, удалённый в новой версии, не должен зависать сиротой. Нет rsync — cp -R + вручную удалить в vault'е файлы, которых нет в $dest (сверить по списку шага 4).
dashboard//dashboard-app/ — тем же способом, только если согласие получено в шаге 4.
Шаг 6 — адаптация (только для адаптеров)
Если vault — адаптер с собственным слоем поверх канона (пример — llmush: LLMUSH_APPROVE вместо OGOROD_APPROVE, абсолютные пути вместо «корень репозитория» в глобальных обёртках ~/.claude/skills/*), обновление канона могло затереть эти отличия там, где они лежат поверх канонных файлов (например, skills/sync/SKILL.md, если раздел «Где vault» переопределён). Сверь применённый диф с известными адаптациями этого vault'а и напомни пользователю переприменить их — не восстанавливай сам: адаптация специфична для инструмента, и решение, что в ней менять при новой версии канона, за пользователем.
Шаг 7 — версия и коммит
Запиши целевую версию в ogorod.config.json → ogorod_version (только это поле, остальные не трогать).
Предложи коммит явными путями (не git add -A, см. _rules.md):
Атрибуция — через scripts/agent-commit.sh, если в vault'е принят этот способ коммита, вместо git commit напрямую. Навык не коммитит без запроса пользователя — только предлагает команду.
Покажи релизноутс всех применённых версий: если между старой и новой ogorod_version были промежуточные релизы, возьми body каждого через GET .../releases (не только /releases/latest) и выведи по порядку.
Уборка
Удали временный каталог $dest после применения (или отказа) — он не часть vault'а и не должен остаться на диске.
Самопроверка
Проверено, применим ли навык (не сам ogorodush, не llmush)
Целевая версия определена (латест-релиз или явно названная), новее текущей ogorod_version
Канон доставлен во временный каталог вне vault (git clone на тег; tar.gz — фоллбэк)
Показан диф-превью: список изменяемых файлов + содержательные диффы ключевых (_rules.md, изменённые скиллы); локальные правки подсвечены отдельно как «будут перезаписаны»
Получено явное подтверждение перед записью
Изменены только канонные пути; projects/, beds/, _inbox/, _dashboard.md, _lessons.md, _requests.md и пользовательские поля ogorod.config.json не тронуты; dashboard//dashboard-app/ — только по согласию
Если vault — адаптер: адаптерские отличия отмечены на переприменение, не восстановлены агентом самовольно
ogorod_version обновлён, коммит явными путями предложен (не выполнен без запроса пользователя)
Показаны релизноутс всех применённых версий (включая промежуточные)