extend
IWE extensibility catalog: what can be customized, which extension points exist, which parameters are available, how to install a third-party extension.
Install
npx skills add https://github.com/TserenTserenov/FMT-exocortex-template/tree/main/.claude/skills/extend
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tserentserenov-fmt-exocortex-template@llmmart
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
/extend — Каталог расширяемости IWE
Триггер:
/extend, «что я могу расширить?», «как настроить протокол», «как добавить свой шаг». Роль: R6 Кодировщик. Один выход: карта того, что доступно + конкретные инструкции.
Алгоритм
1. Определить область запроса
Если аргумент указан (например /extend day-open) → показать только этот протокол.
Если аргумент пустой → показать полный каталог.
2. Показать текущее состояние кастомизаций
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 (не в манифесте).
Сохранность. Штатного механизма сохранности своих скиллов нет: каталог .claude/skills/<name>/ обычно не под git (корень рабочей папки — не репозиторий), закрытие дня (day-close.sh, шаг «Backup») копирует память, инструкции и правила агента, но не скиллы, update.sh скилл не стирает, но и не переносит, а /iwe-restore его не восстановит. Пока модель бэкапа не выбрана владельцем шаблона, держите копию своих скиллов в git-репозитории под вашим контролем (например, в приватном DS-strategy) — иначе переезд на другую машину или переустановка потеряют их молча.
4. Предложить следующий шаг
На основе того что уже настроено — предложить что добавить дальше.
Нет ни одного расширения:
«Хороший старт — рефлексия дня. Создать
extensions/day-close.after.mdс 3 вопросами?»
Есть расширения, нет утреннего ритуала:
«Следующий шаг —
extensions/day-open.before.mdдля утренней подготовки.»
5. Создать расширение (если попросили)
Если пользователь говорит «создай», «добавь» после просмотра каталога:
- Уточнить содержимое (или предложить шаблон)
- Создать файл в
extensions/ - Напомнить: активируется с следующего вызова протокола
Sharing — установка чужого расширения
Расширения IWE — обычные Markdown-файлы. Установка:
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:
cp my-extension-pack/extensions/* ~/IWE/extensions/
# Просмотреть params-defaults.yaml и добавить нужные параметры в ~/IWE/params.yaml вручную
Files (fmt-exocortex-template)
-
SKILL.md 11.2 KB
--- 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 browser_safe: false 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 (не в манифесте). **Сохранность.** Штатного механизма сохранности своих скиллов нет: каталог `.claude/skills/<name>/` обычно не под git (корень рабочей папки — не репозиторий), закрытие дня (`day-close.sh`, шаг «Backup») копирует память, инструкции и правила агента, но не скиллы, `update.sh` скилл не стирает, но и не переносит, а `/iwe-restore` его не восстановит. Пока модель бэкапа не выбрана владельцем шаблона, держите копию своих скиллов в git-репозитории под вашим контролем (например, в приватном `DS-strategy`) — иначе переезд на другую машину или переустановка потеряют их молча. ### 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 вручную ```
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.