IWE Update (агент-обновитель)

SkillAI & models

Update IWE with change explanations. Agent calls update.sh, parses CHANGELOG, explains what changed, helps adapt updates to user customizations.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the IWE Update (агент-обновитель) skill

What this skill tells your AI

The instructions your AI receives, as published by tserentserenov/fmt-exocortex-template in .claude/skills/iwe-update/SKILL.md and read by ahel’s review.

Роль: R6 Кодировщик. Один выход: обновлённый IWE + объяснение что изменилось. Триггер: «обнови IWE», «обновись», /iwe-update, или агент предлагает после обнаружения новой версии.

Алгоритм

0. Extensions before

bash .claude/scripts/load-extensions.sh iwe-update before

Код 0 → прочитать каждый путь из вывода в алфавитном порядке и выполнить инструкции до превью. Код 1 → расширений нет, продолжить. Любой другой код или ошибка обязательного шага расширения → обновление не начинать, показать настоящую причину ошибки.

1. Превью (--check)

Запустить update.sh в режиме превью:

cd "$IWE_TEMPLATE" && bash update.sh --check 2>&1

Из вывода извлечь:

  • Версию upstream (текущая vs новая)
  • Список новых файлов
  • Список обновлённых файлов
  • Количество строк изменений

Если «Всё актуально» → сообщить пользователю и завершить.

2. CHANGELOG — что изменилось

CHANGELOG.md больше не доставляется локально (WP-401 Ф6.1) — читать по raw-URL:

curl -fsSL "https://raw.githubusercontent.com/TserenTserenov/FMT-exocortex-template/main/CHANGELOG.md"

Найти записи между текущей и новой версией.

Объяснить пользователю на человеческом языке:

  • Что добавлено и зачем (не список файлов, а польза)
  • Что изменилось в поведении (может ли сломать что-то)
  • Что исправлено (баги, которые могли затрагивать пользователя)

Формат объяснения:

## Обновление IWE: v{old} → v{new}

**Что нового:**
- [1-3 пункта на языке пользователя, не разработчика]

**Что изменилось:**
- [поведение, которое может заметить пользователь]

**Исправления:**
- [если есть]

3. Анализ совместимости

Перед применением — проверить пользовательские кастомизации:

3a. Extensions:

ls extensions/*.md 2>/dev/null

Если есть extension-файлы → проверить, не конфликтуют ли новые extension points с существующими файлами.

3b. params.yaml: Прочитать params.yaml. Если обновление добавляет новые параметры → сообщить пользователю:

«Появился новый параметр X (default: Y). Хотите изменить?»

3c. CLAUDE.md: Проверить, есть ли .claude.md.base:

  • Есть → 3-way merge сработает автоматически
  • Нет → предупредить: «Первое обновление после миграции. CLAUDE.md будет обновлён с сохранением USER-SPACE секции. Рекомендую проверить результат.»

4. Применение

Если пользователь одобрил (или --yes):

cd "$IWE_TEMPLATE" && bash update.sh --yes 2>&1

Из вывода извлечь результат:

  • Сколько файлов обновлено
  • Были ли конфликты 3-way merge
  • Подстановка переменных прошла?
  • Platform-space обновлён?

5. Пост-обновление

5a. Конфликты 3-way merge: Если CLAUDE.md содержит маркеры <<<<<<< → помочь разрешить:

  • Показать каждый конфликт
  • Объяснить: «Платформа изменила X, а вы изменили Y. Что оставить?»
  • Применить выбор пользователя

5b. Новые параметры: Если в обновлении появились новые параметры в params.yaml шаблона → предложить добавить в пользовательский params.yaml.

5c. Новые extension points: Если в обновлении появились новые extension points в протоколах → сообщить:

«Появились новые точки расширения: [список]. Вы можете создать файлы extensions/X.md для кастомизации.»

5d. Рекомендации: На основе кастомизаций пользователя (его extensions/, params.yaml, Pack) — предложить как использовать новые возможности.

5e. Extensions checks:

bash .claude/scripts/load-extensions.sh iwe-update checks

Код 0 → прочитать и выполнить каждый файл до итогового отчёта. Код 1 → проверок нет. Любой другой код или провал проверки не откатывает уже применённые файлы, но запрещает объявлять обновление полностью успешным: показать «обновление применено, пользовательская проверка не прошла», точную причину, путь упавшего extension и список уже выполненных checks-файлов. Remediation: исправить или временно отключить именно этот extension, снова загрузить iwe-update checks и повторить все проверки; до их успеха состояние называется applied_with_failed_extension_check, а не успешным обновлением.

6. Отчёт

## Обновление завершено

**Версия:** v{old} → v{new}
**Файлов обновлено:** N
**Конфликтов:** 0 / N (разрешены)
**Новые возможности:** [краткий список]

Перезапустите Claude Code для применения обновлений memory/.

7. Extensions after

bash .claude/scripts/load-extensions.sh iwe-update after

Код 0 → прочитать и выполнить файлы после отчёта. Код 1 → расширений нет. Ошибка after не отменяет уже применённое обновление, но обязательно выводится отдельным предупреждением с именем расширения и причиной.


Автоматическое предложение обновления

При Day Open (шаг 5: IWE за ночь) — если update.sh --check показывает доступные обновления → добавить в «Требует внимания»:

«Доступно обновление IWE v{new}. Запустите /iwe-update для обновления.»

Signals

GitHub stars
54
Forks
150
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
iwe-update
Source
github.com/tserentserenov/fmt-exocortex-template