IWE extensibility catalog: what can be customized, which extension points exist, which parameters are available, how to install a third-party extension.
Scanned 9/1/2026
Install to Claude Code
npx -y skills add TserenTserenov/FMT-exocortex-template --skill extend --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Extend?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tserentserenov-extend)More formats (shields.io, HTML) on the badges page.
---
name: extend
description: "IWE extensibility catalog: what can be customized, which extension points exist, which parameters are available, how to install a third-party extension."
argument-hint: "[название протокола или пустое для полного каталога]"
user_invocable: true
version: 1.0.0
routing:
executor: sonnet
deterministic: false
---
# /extend — Каталог расширяемости IWE
> **Триггер:** `/extend`, «что я могу расширить?», «как настроить протокол», «как добавить свой шаг».
> **Роль:** R6 Кодировщик. **Один выход:** карта того, что доступно + конкретные инструкции.
## Алгоритм
### 1. Определить область запроса
Если аргумент указан (например `/extend day-open`) → показать только этот протокол.
Если аргумент пустой → показать полный каталог.
### 2. Показать текущее состояние кастомизаций
```bash
ls {{WORKSPACE_DIR}}/extensions/*.md 2>/dev/null || echo "(нет расширений)"
cat {{WORKSPACE_DIR}}/params.yaml 2>/dev/null
```
Сообщить:
- Какие расширения уже установлены (✅)
- Какие параметры уже изменены от defaults
### 3. Вывести каталог
#### Extension points (файлы в extensions/)
| Протокол | Hook | Файл для создания | Когда выполняется |
|----------|------|-------------------|-------------------|
| `protocol-close` | `checks` | `extensions/protocol-close.checks.md` | **ДО** commit+push — pre-commit gate (R4.3, WP-273) |
| `protocol-close` | `after` | `extensions/protocol-close.after.md` | После чеклиста, перед верификацией |
| `day-open` | `before` | `extensions/day-open.before.md` | Перед шагом 1 — утренние ритуалы |
| `day-open` | `after` | `extensions/day-open.after.md` | После «Требует внимания», перед DayPlan |
| `day-close` | `checks` | `extensions/day-close.checks.md` | После governance batch, перед архивацией |
| `day-close` | `after` | `extensions/day-close.after.md` | После итогов дня, перед верификацией |
| `week-close` | `before` | `extensions/week-close.before.md` | Перед ротацией уроков |
| `week-close` | `after` | `extensions/week-close.after.md` | После аудита memory |
| `protocol-open` | `after` | `extensions/protocol-open.after.md` | После ритуала согласования |
| `protocol-open` | `sync` | `extensions/protocol-open.sync.md` | Переопределяет поведение синхронизации на шаге 3b |
| `day-open` | `checks` | `extensions/day-open.checks.md` | Перед commit, после подготовки DayPlan |
| `day-close` | `before` | `extensions/day-close.before.md` | Перед первыми шагами закрытия дня |
| `month-close` | `before` | `extensions/month-close.before.md` | Перед первыми шагами закрытия месяца |
| `month-close` | `after` | `extensions/month-close.after.md` | После итогов месяца, перед верификацией |
| `strategy-session` | `before` | `extensions/strategy-session.before.md` | Перед началом стратегической сессии |
| `strategy-session` | `after` | `extensions/strategy-session.after.md` | После итогов стратегической сессии |
| `iwe-update` | `before` | `extensions/iwe-update.before.md` | До превью и применения обновления |
| `iwe-update` | `checks` | `extensions/iwe-update.checks.md` | После применения, до успешного итогового отчёта |
| `iwe-update` | `after` | `extensions/iwe-update.after.md` | После итогового отчёта об обновлении |
| `verify` | `before` | `extensions/verify.before.md` | До выбора типа и запуска проверки |
| `verify` | `checks` | `extensions/verify.checks.md` | После основной проверки, до итогового verdict |
| `verify` | `after` | `extensions/verify.after.md` | После показа итогового verdict |
| `archgate` | `before` | `extensions/archgate.before.md` | До принципов и начала архитектурной оценки; блокирует старт при ошибке |
| `archgate` | `checks` | `extensions/archgate.checks.md` | После DRR, до единственной публикации вердикта; блокирует публикацию при ошибке |
| `archgate` | `after` | `extensions/archgate.after.md` | После публикации; предупреждает об ошибках и никогда не меняет вердикт |
Для `archgate.before` и `archgate.checks` последняя инструкция обязана дать
`ARCHGATE_EXTENSION: PASS` или `ARCHGATE_EXTENSION: BLOCK — <причина>`.
`BLOCK` — штатная содержательная блокировка, ошибка loader/исполнения — отдельный
сбой. В `archgate.after` допустим `ARCHGATE_EXTENSION: WARN — <причина>`;
результат этой фазы не меняет уже опубликованный вердикт.
Расширению запрещено снова запускать lifecycle АрхГейта через
`load-extensions.sh archgate ...`: loader возвращает `BLOCK` для `before/checks`
и `WARN` для `after`. Если среди `archgate.after` есть повреждённый или
рекурсивный файл, все остальные корректные файлы всё равно выполняются.
**Несколько файлов одного hook** — загружаются в алфавитном порядке.
Пример: `day-close.after.md` + `day-close.after.health.md` — оба выполнятся.
Файл без имени hook, например `extensions/verify.md`, не является extension
point. Используйте один из явно перечисленных вариантов `before`, `checks` или
`after`.
#### Параметры (params.yaml)
| Параметр | Протокол | Default | Описание |
|----------|----------|---------|----------|
| `video_check` | Day Open | `true` | Проверка видео за предыдущий день |
| `multiplier_enabled` | Day Close | `true` | Расчёт мультипликатора IWE (требует WakaTime) |
| `reflection_enabled` | Day Close | `false` | Рефлексия дня через `day-close.after.md` |
| `lesson_rotation` | Week Close | `true` | Ротация уроков в MEMORY.md |
| `auto_verify_code` | Quick Close | `true` | Автоверификация кода sub-agent Haiku |
| `verify_quick_close` | Quick Close | `true` | Верификация чеклиста sub-agent Haiku |
| `telegram_notifications` | Все роли | `true` | Telegram уведомления |
| `extensions_dir` | Все протоколы | `extensions` | Директория расширений |
#### Day Open (memory/day-rhythm-config.yaml)
| Параметр | Описание |
|----------|----------|
| `budget_spread.enabled` | Распределять бюджет РП по дням |
| `budget_spread.threshold_h` | Минимальный бюджет для расчёта (default: 4h) |
| `budget_spread.rounding` | Шаг округления daily_slot (default: 0.5h) |
| `strategy_day` | День стратегирования (session-prep вместо day-plan) |
#### Свои навыки (.claude/skills/)
Создать `.claude/skills/<name>/SKILL.md` — skill будет доступен как `/<name>`.
Frontmatter: `name`, `description`, `user_invocable: true`.
`update.sh` не трогает пользовательские skills (не в манифесте).
### 4. Предложить следующий шаг
На основе того что уже настроено — предложить что добавить дальше.
**Нет ни одного расширения:**
> «Хороший старт — рефлексия дня. Создать `extensions/day-close.after.md` с 3 вопросами?»
**Есть расширения, нет утреннего ритуала:**
> «Следующий шаг — `extensions/day-open.before.md` для утренней подготовки.»
### 5. Создать расширение (если попросили)
Если пользователь говорит «создай», «добавь» после просмотра каталога:
1. Уточнить содержимое (или предложить шаблон)
2. Создать файл в `extensions/`
3. Напомнить: активируется с **следующего** вызова протокола
---
## Sharing — установка чужого расширения
Расширения IWE — обычные Markdown-файлы. Установка:
```bash
cp ~/Downloads/day-close.after.health.md ~/IWE/extensions/
```
**Конфликт имён** (два файла одного hook):
Переименовать с суффиксом: `day-close.after.md` + `day-close.after.health.md`.
Оба загрузятся в алфавитном порядке — конфликта нет.
**Формат пакета расширений (bundle):**
```
my-extension-pack/
README.md # описание, автор, версия
extensions/
day-close.after.md # файлы расширений
params-defaults.yaml # рекомендуемые параметры (не применяются автоматически)
```
Установка bundle:
```bash
cp my-extension-pack/extensions/* ~/IWE/extensions/
# Просмотреть params-defaults.yaml и добавить нужные параметры в ~/IWE/params.yaml вручную
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!