Claude Skill

iwe-update

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

LLM Mart · 0 points · 14 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download TserenTserenov-FMT-exocortex-template-.claude_skills_iwe-update-52c884b.zip · 2 KB
Part of tserentserenov/fmt-exocortex-template — 50 skills

Install

skills CLI npx skills add https://github.com/TserenTserenov/FMT-exocortex-template/tree/main/.claude/skills/iwe-update
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tserentserenov-fmt-exocortex-template@llmmart
Git git clone https://github.com/TserenTserenov/FMT-exocortex-template.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tserentserenov/fmt-exocortex-template collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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

Роль: 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. Запустите /iwe-update для обновления.»

Files (fmt-exocortex-template)
  • SKILL.md 7.8 KB
    ---
    name: iwe-update
    description: "Update IWE with change explanations. Agent calls update.sh, parses CHANGELOG, explains what changed, helps adapt updates to user customizations."
    argument-hint: ""
    user_invocable: true
    version: 1.0.0
    browser_safe: false
    routing:
      executor: haiku
      deterministic: false
    ---
    
    # IWE Update (агент-обновитель)
    
    > **Роль:** R6 Кодировщик. **Один выход:** обновлённый IWE + объяснение что изменилось.
    > **Триггер:** «обнови IWE», «обновись», `/iwe-update`, или агент предлагает после обнаружения новой версии.
    
    ## Алгоритм
    
    ### 0. Extensions `before`
    
    ```bash
    bash .claude/scripts/load-extensions.sh iwe-update before
    ```
    
    Код `0` → прочитать каждый путь из вывода в алфавитном порядке и выполнить
    инструкции до превью. Код `1` → расширений нет, продолжить. Любой другой код или
    ошибка обязательного шага расширения → обновление не начинать, показать
    настоящую причину ошибки.
    
    ### 1. Превью (--check)
    
    Запустить update.sh в режиме превью:
    
    ```bash
    cd "$IWE_TEMPLATE" && bash update.sh --check 2>&1
    ```
    
    Из вывода извлечь:
    - Версию upstream (текущая vs новая)
    - Список новых файлов
    - Список обновлённых файлов
    - Количество строк изменений
    
    Если «Всё актуально» → сообщить пользователю и завершить.
    
    ### 2. CHANGELOG — что изменилось
    
    `CHANGELOG.md` больше не доставляется локально (WP-401 Ф6.1) — читать по raw-URL:
    
    ```bash
    curl -fsSL "https://raw.githubusercontent.com/TserenTserenov/FMT-exocortex-template/main/CHANGELOG.md"
    ```
    
    Найти записи между текущей и новой версией.
    
    **Объяснить пользователю на человеческом языке:**
    - Что добавлено и зачем (не список файлов, а **польза**)
    - Что изменилось в поведении (может ли сломать что-то)
    - Что исправлено (баги, которые могли затрагивать пользователя)
    
    **Формат объяснения:**
    
    ```
    ## Обновление IWE: v{old} → v{new}
    
    **Что нового:**
    - [1-3 пункта на языке пользователя, не разработчика]
    
    **Что изменилось:**
    - [поведение, которое может заметить пользователь]
    
    **Исправления:**
    - [если есть]
    ```
    
    ### 3. Анализ совместимости
    
    Перед применением — проверить пользовательские кастомизации:
    
    **3a. Extensions:**
    ```bash
    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`):
    
    ```bash
    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
    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
    bash .claude/scripts/load-extensions.sh iwe-update after
    ```
    
    Код `0` → прочитать и выполнить файлы после отчёта. Код `1` → расширений нет.
    Ошибка `after` не отменяет уже применённое обновление, но обязательно выводится
    отдельным предупреждением с именем расширения и причиной.
    
    ---
    
    ## Автоматическое предложение обновления
    
    При Day Open (шаг 5: IWE за ночь) — если `update.sh --check` показывает доступные обновления → добавить в «Требует внимания»:
    > «Доступно обновление IWE v{new}. Запустите `/iwe-update` для обновления.»
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related