| name | iwe-restore |
| description | Восстановление памяти агента из exocortex-бэкапа при переезде на новое устройство. Находит DS-strategy/exocortex/, показывает что будет восстановлено, спрашивает подтверждение, копирует memory/ + CLAUDE.md + AGENTS.md, финализирует /audit-installation. |
| argument-hint | [path/to/DS-strategy] |
| user_invocable | true |
| version | 1.0.0 |
| layer | L1 |
| status | active |
| triggers | {"slash":["/iwe-restore"],"phrases":["восстанови память","восстановить IWE","перенести на новое устройство"]} |
| routing | {"executor":"sonnet","deterministic":false} |
| agents | single |
| interaction | multi-step |
| gates_required | [] |
| gates_enforced | [] |
| gates_rationale | операционный скилл; WP Gate применим только при создании нового РП, не для операционных вызовов |
IWE Restore — восстановление памяти агента
Когда использовать: переехал на новый ноутбук, пересоздал workspace, потерял memory/.
Если memory/ уже заполнен и ты просто хочешь проверить — используй /audit-installation.
Аргументы: $ARGUMENTS
When to use
Восстановление памяти агента из exocortex-бэкапа при переезде на новое устройство. Находит DS-strategy/exocortex/, показывает что будет восстановлено, спрашивает подтверждение, копирует memory/ + CLAUDE.md + AGENTS.md, финализирует /audit-installation.
Обещание
За 5 минут и одно подтверждение — восстановить память агента из GitHub-бэкапа. Агент не перезапишет ничего молча: сначала показывает что найдено, потом ждёт «да».
Algorithm
Шаг 1. Найти бэкап
Определить путь к governance-репо. Приоритет:
- Аргумент скилла
$ARGUMENTS (если передан)
- Переменная окружения
$DS_STRATEGY или $GOVERNANCE_REPO
- Стандартный путь
~/IWE/DS-my-strategy/
- Поиск:
find ~/IWE -maxdepth 2 -name "exocortex" -type d 2>/dev/null
GOVERNANCE="${1:-${DS_STRATEGY:-$HOME/IWE/DS-my-strategy}}"
EXOCORTEX="$GOVERNANCE/exocortex"
Если exocortex/ не найден → сказать:
«Не нашёл бэкап. Папка exocortex/ отсутствует в $GOVERNANCE. Убедись, что governance-репо склонирован: git clone <url> ~/IWE/DS-my-strategy. Если репо на другом пути — вызови /iwe-restore путь/к/DS-strategy.»
Завершить.
Шаг 2. Показать что найдено
Собрать информацию о бэкапе:
find "$EXOCORTEX" -maxdepth 1 -type f \( -name "*.md" -o -name "*.yaml" -o -name "*.yml" \) | sort
find "$EXOCORTEX" -maxdepth 1 -type f | xargs ls -lt 2>/dev/null | head -1
Определить путь к memory/ на текущем устройстве:
HOME_SLUG=$(echo "$HOME" | sed 's|/|-|g')
MEMORY_DST="$HOME/.claude/projects/${HOME_SLUG}-IWE/memory"
Показать пользователю:
Найден бэкап:
Источник: ~/IWE/DS-my-strategy/exocortex/ (N файлов, последний бэкап: ДАТА)
Назначение: ~/.claude/projects/.../memory/
Что будет восстановлено:
memory/: [список файлов .md и .yaml]
CLAUDE.md → ~/IWE/CLAUDE.md
AGENTS.md → ~/IWE/AGENTS.md (если есть)
Текущее состояние memory/:
[пусто / N файлов уже есть]
Шаг 3. Спросить подтверждение
Спросить одним вопросом:
«Восстановить? (да / нет / показать diff)»
- нет → завершить, ничего не менять.
- показать diff → перейти к Шагу 3a.
- да → перейти к Шагу 4.
Шаг 3a. Diff (если запросил)
Для каждого файла из бэкапа, который уже существует в memory/:
diff "$EXOCORTEX/<file>" "$MEMORY_DST/<file>"
Показать расхождения кратко. После — снова спросить: «Восстановить с перезаписью? (да / пропустить существующие / нет)»
Шаг 4. Восстановить
4a. Создать папку memory/ если не существует
mkdir -p "$MEMORY_DST"
4b. Копировать файлы памяти
rsync -av --exclude='CLAUDE.md' --exclude='AGENTS.md' \
--include='*.md' --include='*.yaml' --include='*.yml' \
--exclude='*' \
"$EXOCORTEX/" "$MEMORY_DST/"
Если пользователь выбрал «пропустить существующие» — добавить флаг --ignore-existing.
4c. Копировать CLAUDE.md
WORKSPACE_DIR="${IWE_WORKSPACE:-$HOME/IWE}"
if [ -f "$EXOCORTEX/CLAUDE.md" ]; then
cp "$EXOCORTEX/CLAUDE.md" "$WORKSPACE_DIR/CLAUDE.md"
fi
4d. Копировать AGENTS.md
if [ -f "$EXOCORTEX/AGENTS.md" ]; then
cp "$EXOCORTEX/AGENTS.md" "$WORKSPACE_DIR/AGENTS.md"
fi
4e. Отчёт
Восстановлено:
memory/: N файлов скопировано, M пропущено
CLAUDE.md: ✅ / ⏭ пропущен
AGENTS.md: ✅ / — не было в бэкапе
Шаг 5. Проверка
Запустить /audit-installation для финальной проверки целостности инсталляции.
Сказать пользователю:
«Память восстановлена. Перезапусти Claude Code — агент подхватит файлы из memory/ при следующей сессии.»
Граничные случаи
| Ситуация | Поведение |
|---|
memory/ пуст | Копировать всё без вопросов (только итоговый подтверждающий вопрос) |
memory/ уже заполнен | Показать diff-опцию, не перезаписывать молча |
exocortex/ содержит очень старый бэкап (>30 дней) | Предупредить: «Бэкап от ДАТА — N дней назад. Продолжить?» |
CLAUDE.md в workspace новее бэкапа | Предупредить: «Файл в workspace новее бэкапа на N дней. Перезаписать потеряешь правки.» |
Нет прав на запись в memory/ | Показать ошибку + команду для ручного исправления прав |